Hanjoung Lee [Thu, 17 Aug 2017 02:55:43 +0000 (11:55 +0900)]
[RyuJIT/arm32] Fix LEA codegen
Do not generate `mov` when src and dst are the same
when we generate code for LEA node.
Fix dotnet/coreclr#13418
Commit migrated from https://github.com/dotnet/coreclr/commit/
92c3ea6000b37737a7caa5876a12a52d61198676
Tarek Mahmoud Sayed [Wed, 16 Aug 2017 01:49:16 +0000 (18:49 -0700)]
Get sort version dynamically and expose ICU version from native component (dotnet/coreclr#13382)
* Support ICU Version
* Add the assert
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce9bc942510fc9608c24e938f6d043c39fd0085d
Mike McLaughlin [Wed, 16 Aug 2017 00:33:04 +0000 (17:33 -0700)]
Implement out of context stack unwinder (dotnet/coreclr#13302)
Implement out of context stack unwinder
Decode the eh frame info found in the in-memory module image
and pass it back to the remote libunwind8 to do the unwind.
Added remote-unwind.cpp for all the out of context unwind code.
Added an all managed threads option -all the "clrstack" (sos ClrStack).
The IDebugDataTarget4 feature needs to be enabled for OS X.
Add libunwind license notice to third party notices file.
Commit migrated from https://github.com/dotnet/coreclr/commit/
52e949043ae6d6fd8d643232f2794e15a564a6a5
Victor "Nate" Graf [Tue, 15 Aug 2017 23:56:45 +0000 (16:56 -0700)]
Add enforcepgo to official builds (dotnet/coreclr#13375)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5944aa55a541b144349a5c0ba0aecccfde9b5646
Bruce Forstall [Tue, 15 Aug 2017 17:07:42 +0000 (10:07 -0700)]
Merge pull request dotnet/coreclr#13029 from mikedn/disp-bbid
Dump basic block ids instead of pointers
Commit migrated from https://github.com/dotnet/coreclr/commit/
0bd583ccecc46d106ccb6af9f2f1e75f515460f8
Vance Morrison [Tue, 15 Aug 2017 16:18:50 +0000 (09:18 -0700)]
Use dashes for build options (dotnet/coreclr#13353)
* Fix IndexOutOfRangeException in PayloadNames property
If you pass an null payload using Write<T>, and in the EventListener then call PayloadNames, it
will throw an IndexOutOfRangeException. It should just return null. This fixes this.
* To be consistant with the other build.cmd files use - for options
* Update docs to track change in option convention
* Updated Unix script to use - for options.
* Fix build break
* Fix Whitespace (review feedback)
* Another fix
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea1a4a57f48b5021f027786743979e61ba505a9d
gbalykov [Tue, 15 Aug 2017 16:15:47 +0000 (19:15 +0300)]
Allocate FileMappingImmutableData::szFileName and CFileProcessLocalData::unix_filename strings dynamically (dotnet/coreclr#13374)
Commit migrated from https://github.com/dotnet/coreclr/commit/
62daf41d8aa26600a917e595038dad16780ad8ec
Joseph Tremoulet [Tue, 15 Aug 2017 14:08:23 +0000 (10:08 -0400)]
Merge pull request dotnet/coreclr#13366 from mikedn/imp-init-array
Do not use GT_INDEX in impInitializeArrayIntrinsic
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ac0222061ac7e4db928c80c3bb925de13843d15
Andy Ayers [Tue, 15 Aug 2017 05:42:43 +0000 (22:42 -0700)]
JIT: fix CHK/REL diff from fgRetypeImplicitByRefArgs (dotnet/coreclr#13372)
Make sure some important code is not under DEBUG.
Fixes dotnet/coreclr#13358.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f5b051d029362d737f80df29ce62df4030ca1947
Jan Kotas [Tue, 15 Aug 2017 05:03:16 +0000 (22:03 -0700)]
Skip null checks for implicit byref argument references (dotnet/coreclr#13355)
```
struct S
{
public int _a;
public int _b;
public int _c;
public int _d;
};
static void foo(S s)
{
bar(ref s._b);
}
```
Before:
```
sub rsp, 40
cmp dword ptr [rcx], ecx // unnecessary
add rcx, 4
call My:bar(byref)
nop
add rsp, 40
ret
```
After:
```
sub rsp, 40
add rcx, 4
call My:bar(byref)
nop
add rsp, 40
ret
```
Commit migrated from https://github.com/dotnet/coreclr/commit/
15febdbc4cfa0adfbf49b88045d95eed9f969176
Vance Morrison [Tue, 15 Aug 2017 02:25:32 +0000 (19:25 -0700)]
Add full URL to the FileVersion information created a build time (dotnet/coreclr#13352)
* Tag dlls with the URL of the github commit
* Fix name of BuildVersion file for non-official builds
This fix does something very safe (only overrides the name of the buildVersionFile with
a name from the OfficialBuildId variable if that variable is non-empty.
This is importnat because otherwise is that the override ALWAYS kicks in and sometimes
corrupts the name, which has the effect of throwning the information in the BuildVersionFile
(namely the version number) out
* Update to latest build tools.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a779951d434b116ad174f8333afb717385d6593
Shiming Ge [Tue, 15 Aug 2017 02:16:05 +0000 (10:16 +0800)]
Merge pull request dotnet/coreclr#13310 from shimingsg/v-shige/add-perftc-0810
add perf test cases(GCSmall, GCHandle, LOHSmooth) to coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
2533323e88a53b2495bac70977670f49b72a45a1
Shiming Ge [Tue, 15 Aug 2017 02:15:22 +0000 (10:15 +0800)]
Merge pull request dotnet/coreclr#13334 from shimingsg/v-shige/add-perftc-0811
add perf test cases(MicroBench, MemoryPressure, etc) to coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
82b82b4e88350708e8dd139255c0ee648f9b3fbd
Shiming Ge [Tue, 15 Aug 2017 02:14:51 +0000 (10:14 +0800)]
Merge pull request dotnet/coreclr#13362 from shimingsg/v-shige/add-perftc-0814-2
add perf test cases(ServerSpin, ToBoxOrNot, etc.) to coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
b6fa02e6ede80a5aa2a07de141e34cc45386ada1
Bruce Forstall [Tue, 15 Aug 2017 00:42:38 +0000 (17:42 -0700)]
Merge pull request dotnet/coreclr#13328 from hseok-oh/ryujit/tmp_high_cost
[RyuJIT/ARM32] TmpVar for expensive struct argument
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a6593cfcb182caef1fd977ad1a9f23be8cbe0af
Ahson Ahmed Khan [Tue, 15 Aug 2017 00:18:05 +0000 (17:18 -0700)]
Fix race condition for some threading tests using GC.KeepAlive (dotnet/coreclr#13351)
* Fix race condition for some threading tests using GC.KeepAlive
* Removing unnecessary change to null array test
* Removing extra space
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c83e565f7532cff0a66b7eb7bf86e6bdfe199ab
Wes Haggard [Mon, 14 Aug 2017 22:35:52 +0000 (15:35 -0700)]
Merge pull request dotnet/coreclr#13365 from dotnet-maestro-bot/master-UpdateDependencies
Update CoreClr, CoreFx to preview2-25614-02, preview2-25614-02, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb914cea58cd75ccd65e5cb8978053fcae4f9aec
Bruce Forstall [Mon, 14 Aug 2017 22:16:44 +0000 (15:16 -0700)]
Merge pull request dotnet/coreclr#13364 from hqueue/arm/ryujit/issue_13363_regression_of_13190
[RyuJIT/ARM32] Fix regression
Commit migrated from https://github.com/dotnet/coreclr/commit/
43e043377c6ce6212673e075d901700b01510edc
Mike Danes [Tue, 25 Jul 2017 12:00:11 +0000 (15:00 +0300)]
Dump basic block ids instead of pointers
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9caeb94387037a4964596f0e48b587ee1c54b39
Igor Kulaychuk [Mon, 14 Aug 2017 21:30:56 +0000 (00:30 +0300)]
[Linux/ARM] Fix managed breakpoints (dotnet/coreclr#13316)
* [Linux/ARM] Fix managed breakpoints
This commit introduces the following changes in order to enable
ICorDebug-based debuggers to use breakpoints on ARM Linux:
* Use 0xde01 as breakpoint instruction on ARM Linux.
ARM reference recommends to use 0xdefe as a breakpoint instruction,
but Linux kernel generates SIGILL for this instruction.
The 0xde01 instruction causes the kernel to generate SIGTRAP.
* Fix SIGTRAP handling on ARM Linux.
Unlike x86, when SIGTRAP happens on ARM Linux, the PC points
at the break instruction. But the rest of the code expects
that it points to an instruction after the break,
so we adjust the PC at the start of HandleHardwareException().
* Enable ARM single stepping for PAL.
Handle single stepping for PAL path the same way as for non-PAL path.
Also enable ArmSingleStepper executable buffer by allocating it
from system global loader executable heap.
* Hande ARM single step only when debugger is attached, fix comments and code style
* Pass existing Thread object to HandleArmSingleStep
Commit migrated from https://github.com/dotnet/coreclr/commit/
19c48640cb3115d8fe4edd15517eb04f72af4f54
Bruce Forstall [Mon, 14 Aug 2017 17:30:38 +0000 (10:30 -0700)]
Merge pull request dotnet/coreclr#13350 from BruceForstall/FixVSO478352
Fix double-indirect p/invoke call generation
Commit migrated from https://github.com/dotnet/coreclr/commit/
51713ad7d142a726c54c6e7ae3996fe0ccb1e1d6
Alois-xx [Mon, 14 Aug 2017 17:26:28 +0000 (19:26 +0200)]
Added SetThreadDescription to set the unmanaged thread name (dotnet/coreclr#12593)
* Added SetThreadDescription to set the unmanaged thread name as well when a managed thread name was set.
This will show up in future debuggers which know how to read that information or in ETW traces in the Thread Name column.
* use printf instead of wprintf which exists on all platforms.
* Removed printf
Ensure that GetProceAddress is only called once to when the method is not present.
Potential perf hit should be negligible since setting a thread name can only happen once per managed thread.
* - Moved SetThreadName code to winfix.cpp as proposed
- Finalizer and threadpool threads get their name
- GCToEEInterface::CreateBackgroundThread is also named
- but regular GC threads have no name because when I included utilcode.h things did break apart.
* Fix for data race in g_pfnSetThreadDescription
* Fix string literals on unix builds.
* Fixed nits
Settled thread name on ".NET Core ThreadPool"
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d5b762c7b97f635594d4281fca709632d6180c5
Mike Danes [Mon, 14 Aug 2017 15:46:56 +0000 (18:46 +0300)]
Do not use GT_INDEX in impInitializeArrayIntrinsic
We know that array size is larger than 0 so we do not need a range check. This range check survives until the RangeCheck phase so it creates more work of the phases before it. It is also very unlikely to enable other optimizations, subsequent `a[0]` range checks can still be eliminated because the array length is known and constant.
Commit migrated from https://github.com/dotnet/coreclr/commit/
63655d01b0cb1bb8a69285fa7fbdb66dd38764be
dotnet-maestro-bot [Mon, 14 Aug 2017 13:35:26 +0000 (06:35 -0700)]
Update CoreClr, CoreFx to preview2-25614-02, preview2-25614-02, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab080a72a18f32f39673af42e004945a411ff82e
Koundinya Veluri [Mon, 14 Aug 2017 11:23:16 +0000 (04:23 -0700)]
Increase timeout and log the result for a couple of WaitAny tests that expect AbandonedMutexException (dotnet/coreclr#13298)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b24d46b2fed0166cfe3bc2ae39e95b6a049f52fe
Hyung-Kyu Choi [Mon, 14 Aug 2017 10:18:13 +0000 (19:18 +0900)]
[RyuJIT/ARM32] Fix regression
- This fixes regression cuased by PR dotnet/coreclr#13190
- Restore code for resolving registers for multi register operator
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
662821a9e1c405329181f421fbcf57420d0bfb2e
Shiming Ge (Pactera Technologies) [Mon, 14 Aug 2017 09:29:02 +0000 (02:29 -0700)]
add perf test cases to coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
c68b49c5be0a33be5c90efcd3591d49dc6b8d4a5
Shiming Ge (Pactera Technologies) [Mon, 14 Aug 2017 08:10:04 +0000 (01:10 -0700)]
remove line includes CopyToOutputDirectory
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf0e1fff5f1ed9ceafa64bdb8192abab36c2f641
Shiming Ge (Pactera Technologies) [Mon, 14 Aug 2017 07:03:58 +0000 (00:03 -0700)]
replace p/invokes into kernel32 with cross-platform implementations
Commit migrated from https://github.com/dotnet/coreclr/commit/
49a905933b2d7f0c461593f61252c8cbf71e16a9
John Doe [Mon, 14 Aug 2017 06:47:41 +0000 (23:47 -0700)]
Typo (dotnet/coreclr#13360)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4005bfb491ca3387aca9c5c7d0a93edabff33bfc
dotnet-maestro-bot [Mon, 14 Aug 2017 06:47:19 +0000 (23:47 -0700)]
Update CoreClr, CoreFx to preview2-25614-01, preview2-25614-01, respectively (dotnet/coreclr#13359)
Commit migrated from https://github.com/dotnet/coreclr/commit/
efdabef2be8097fbf7bbd72a54ae1d661228cc77
Jan Kotas [Sun, 13 Aug 2017 15:35:37 +0000 (08:35 -0700)]
Finish moving Guid to shared partition
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a7d2e80de15ed704ac330cb91a12cd4110688a7
dotnet-maestro-bot [Sun, 13 Aug 2017 19:14:04 +0000 (12:14 -0700)]
Update CoreClr, CoreFx to preview2-25613-02, preview2-25613-02, respectively (dotnet/coreclr#13300)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0c13e960f390b11a885297cf195b8d402f47e95
Victor "Nate" Graf [Fri, 11 Aug 2017 23:43:51 +0000 (16:43 -0700)]
Follow-up: Add enforcepgo for release Windows_NT default release build (dotnet/coreclr#13319)
* Add enforcepgo for release Windows_NT default release build
* Restrict enforment of PGO to PGO supported builds
* Expand the usage of enforcpgo
* Fix break in the if-else control flow
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c8523ca31bf11d4c9144b8c71ea1be9bf8469ce
Bruce Forstall [Fri, 11 Aug 2017 23:43:21 +0000 (16:43 -0700)]
Merge pull request dotnet/coreclr#13332 from wateret/fix-ryuarm-hfa
[RyuJIT/armel] Fix PutArgReg BuildRefPositions
Commit migrated from https://github.com/dotnet/coreclr/commit/
c590f0e515f44ebed3dcdd33e0723e20478da83b
Jan Kotas [Fri, 11 Aug 2017 23:17:00 +0000 (16:17 -0700)]
Move files to shared CoreLib partition (dotnet/coreclr#13342)
Commit migrated from https://github.com/dotnet/coreclr/commit/
26fbb1933b1ead4168f271ab4ced0fd9906adbe0
Bruce Forstall [Fri, 11 Aug 2017 22:15:29 +0000 (15:15 -0700)]
Fix double-indirect p/invoke call generation
When the signature to getAddressOfPInvokeTarget() was changed,
the double-indirect CT_USER_FUNC case was accidentally changed
to pass a non-null `addr` to emitIns_Call(). This leads to asserts
when ngen'ing (in my test, ngen of System.dll on desktop using `LEGACY_BACKEND`
cross-compiling arm32 altjit). For some reason, x86 is more permissive
in the emitIns_Call() assert for this case, but doesn't use the
non-null addr.
Fixes VSO 478352
Commit migrated from https://github.com/dotnet/coreclr/commit/
16cc3235d9d389c354efdf4b08421dc1c67d587a
Victor "Nate" Graf [Fri, 11 Aug 2017 22:10:29 +0000 (15:10 -0700)]
Fix bug where whitespace breaks arg proccessing (dotnet/coreclr#13320)
* Fix bug where whitespace breaks arg proccessing
* Fix whitespace proccessing bug in buil-text.cmd
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ef5ec77df1f0cfd8133c00b97c1b5c416d9a5e6
Jarret Shook [Fri, 11 Aug 2017 21:08:55 +0000 (14:08 -0700)]
Merge pull request dotnet/coreclr#13338 from jashook/log_crossgen_command
Log the crossgen command in build.sh.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6bd6faa54499db929dba13110a23f80dbee07174
Cyd Haselton [Fri, 11 Aug 2017 20:14:36 +0000 (15:14 -0500)]
Changes that didn't make it to PRdotnet/coreclr#12982 (dotnet/coreclr#13055)
* Changes that didn't make it to PRdotnet/coreclr#12982
* Recommended changes to volatile.h
Added two templates to cast away volatility due to clang 3.8 changes
* Update runtime.Linux.Microsoft.NETCore.Runtime.CoreCLR.props
Fixed erroneous extra Platform conditional line
Commit migrated from https://github.com/dotnet/coreclr/commit/
78298734845ffbf3cdd75736ebad71dfa1856aba
jashook [Fri, 11 Aug 2017 15:56:20 +0000 (08:56 -0700)]
Log the crossgen command in build.sh.
This makes it easier to copy paste the commnand if it fails.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3a6303960f61493b83461da122b13b5ac9d24fa3
sergey ignatov [Fri, 11 Aug 2017 14:39:04 +0000 (17:39 +0300)]
Fixed CoreRT issue https://github.com/dotnet/coreclr/issues/13195 (dotnet/coreclr#13335)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a55fa5b9881c256078090f0d2ad4961c96c2865
Shiming Ge (Pactera Technologies) [Fri, 11 Aug 2017 08:49:42 +0000 (01:49 -0700)]
add perf test cases to coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
dd8203ca0f6350651462d2a5a2de3119843f1536
Hanjoung Lee [Fri, 11 Aug 2017 07:19:02 +0000 (16:19 +0900)]
[RyuJIT/armel] Fix PutArgReg BuildRefPositions
We should fix registers for GT_PUTARG_REG, not GT_COPY or GT_MUL_LONG.
And merge the `if` statement with GT_PUTARG_SPLIT case.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7a5c8ebcad4f3bd3a10ea58aec89b0d40b858485
Carol Eidt [Fri, 11 Aug 2017 06:31:17 +0000 (23:31 -0700)]
Merge pull request dotnet/coreclr#13306 from hseok-oh/ryujit/fix_13156
Fix lclVar move node type inserted on lsra resolve phase
Commit migrated from https://github.com/dotnet/coreclr/commit/
d31498d30417f861ec682f235535002828b3fc91
Hyeongseok Oh [Fri, 11 Aug 2017 05:00:02 +0000 (14:00 +0900)]
Fix genSpillVar
Fix genSpillVar() instead of insertMove()
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6b794ba42716ae6ffea790eebbabc3900a973cb
Hyeongseok Oh [Fri, 11 Aug 2017 04:12:02 +0000 (13:12 +0900)]
[RyuJIT/ARM32] TmpVar for expensive struct argument
Assign expensive argument to tmpVar on morphing phase
Commit migrated from https://github.com/dotnet/coreclr/commit/
7619bf3f669bbb57426a53c9766b9f7092087ab5
Ahson Ahmed Khan [Fri, 11 Aug 2017 02:56:03 +0000 (19:56 -0700)]
Fix the race condition in mutex test using another manual reset event (dotnet/coreclr#13308)
* Fix the race condition by using a manual reset event instead of gc.keepalive
* Addressing PR comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
a1dce4fced328c9687293f6d80e1e0cea8b90ca4
Shiming Ge [Fri, 11 Aug 2017 01:37:26 +0000 (09:37 +0800)]
Merge pull request dotnet/coreclr#13285 from shimingsg/v-shige/add-perftc-GCLarge
add perf test case GCLarge
Commit migrated from https://github.com/dotnet/coreclr/commit/
a28a837027cc162d66796556a5b4b0e5f119479b
Pat Gavlin [Thu, 10 Aug 2017 23:02:03 +0000 (16:02 -0700)]
Merge pull request dotnet/coreclr#13299 from pgavlin/GH13161
Fix issue dotnet/coreclr#13161.
Commit migrated from https://github.com/dotnet/coreclr/commit/
51ed16faa9f1312f95c2517a0f00f747fded054f
Nina Chikanov [Thu, 10 Aug 2017 23:01:27 +0000 (16:01 -0700)]
Implement BitConverter Span-based APIs (dotnet/coreclr#13278)
Finished first checkbox of issue 22355: Implement in
System.Private.CoreLib in coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
2109acc27b07893400c82192486112aa01bc2120
Bruce Forstall [Thu, 10 Aug 2017 23:00:37 +0000 (16:00 -0700)]
Merge pull request dotnet/coreclr#13304 from BruceForstall/FixVSO471672
Copy additional GenTreeBoundsChk fields in gtCloneExpr
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a11c538816724e92b1e44bbf337b8b0ab8bee01
Andy Ayers [Thu, 10 Aug 2017 22:17:31 +0000 (15:17 -0700)]
JIT: modify box/unbox/isinst/castclass expansions for fast jitting (dotnet/coreclr#13188)
When the jit is generating code in debug/minopts/rare-block modes,
we'd prefer it to generate code more quickly and worry less about overall
generated code performance.
Generally speaking smaller intermediate and final code should correlate
well with faster jitting.
This change alters the expansions of box, unbox, isinst, and castclass when
generating code for minopts, debug, or in rarely run blocks. In such modes
the jit estimates whether an inline sequence or general helper call would
result in more compact code, and then chooses the smaller sequence.
This reduces generated code size around 2.5% in a variety of scenarios,
and roughly translates to a 1.5% improvement in time spent jitting.
Similar strategies can be applied to other complex operations during
importation. That work is forthcoming.
Commit migrated from https://github.com/dotnet/coreclr/commit/
47b38daad7d9e0cc754e9a663b211d262ee499d7
Jan Kotas [Thu, 10 Aug 2017 21:24:33 +0000 (14:24 -0700)]
Revert "Add enforcepgo for release Windows_NT default release build (dotnet/coreclr#13275)" (dotnet/coreclr#13318)
This reverts commit dotnet/coreclr@
b07a921524ec9e8c8f5e482707f9fc1b9b86d95e.
Commit migrated from https://github.com/dotnet/coreclr/commit/
55d50475db22484f38198caa50528443dc51c398
Bruce Forstall [Thu, 10 Aug 2017 16:20:59 +0000 (09:20 -0700)]
Merge pull request dotnet/coreclr#13307 from wateret/cleanup-armel-lsracond
[RyuJIT/armel] Cleanup with OperIsMultiRegOp()
Commit migrated from https://github.com/dotnet/coreclr/commit/
51ef3969ccbeddb6ed1557fadb4bf2f36689437a
Bruce Forstall [Thu, 10 Aug 2017 16:09:11 +0000 (09:09 -0700)]
Merge pull request dotnet/coreclr#13309 from wateret/arm-getregcount
[RyuJIT/armel] Introduce GetRegCount() for MultiRegOp
Commit migrated from https://github.com/dotnet/coreclr/commit/
fad53e83ca7eee6b69d75b006794291250a1453b
Victor "Nate" Graf [Thu, 10 Aug 2017 15:47:44 +0000 (08:47 -0700)]
Add enforcepgo for release Windows_NT default release build (dotnet/coreclr#13275)
* Add enforcepgo for release Windows_NT default release build
* Restrict enforment of PGO to PGO supported builds
* Expand the usage of enforcpgo
* Fix break in the if-else control flow
Commit migrated from https://github.com/dotnet/coreclr/commit/
b07a921524ec9e8c8f5e482707f9fc1b9b86d95e
Joseph Tremoulet [Thu, 10 Aug 2017 14:19:38 +0000 (10:19 -0400)]
Merge pull request dotnet/coreclr#13286 from JosephTremoulet/TailLoopScratch
Ensure scratch BB in tail recursion -> loop xform
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed729c09e043910e849782f1c884cde0b38362b1
Hanjoung Lee [Thu, 10 Aug 2017 03:24:45 +0000 (12:24 +0900)]
[RyuJIT/armel] Cleanup with OperIsMultiRegOp()
Use OperIsMultiRegOp() instead of separated conditions
Commit migrated from https://github.com/dotnet/coreclr/commit/
d832e4548f01fdf8b1d905f7c430d0c7a160f8c8
Shiming Ge (Pactera Technologies) [Thu, 10 Aug 2017 07:49:59 +0000 (00:49 -0700)]
remove empty line
Commit migrated from https://github.com/dotnet/coreclr/commit/
c776ad63e138f2f8f167204e9995d6f7c0f4ba80
Shiming Ge (Pactera Technologies) [Thu, 10 Aug 2017 07:45:31 +0000 (00:45 -0700)]
add perf test cases to coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
82e0b31294f12d703f525836fecd7eb28f644048
Hanjoung Lee [Thu, 10 Aug 2017 06:35:38 +0000 (15:35 +0900)]
[RyuJIT/armel] Introduce GetRegCount() for MultiRegOp
Abstract getting reg count with method GetRegCount()
Added the case when the reg count is 0.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c3b04a5ef20104e842135ac59ec11309123147e
Carol Eidt [Thu, 10 Aug 2017 04:27:20 +0000 (21:27 -0700)]
Merge pull request dotnet/coreclr#13284 from wateret/fix-13281
[RyuJIT/arm32] Fix Regression
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc2ffcdff2fb19e4b252cec3bc6672400a375c1e
Hyeongseok Oh [Thu, 10 Aug 2017 01:55:51 +0000 (10:55 +0900)]
Fix lclVar move node type inserted in lsra phase
When we try to insert lclVal move node (load, store) on lsra phase,
fix type as TYP_INT when size is smaller than TYP_INT
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ad9c3e8f45f36d6e35de4383ea6d504b87295f5
Swaroop Sridhar [Wed, 9 Aug 2017 21:32:26 +0000 (14:32 -0700)]
LinkBench: Fix Roslyn job
This change fixes a build-break in the LinkBench job, because
of a failure in the Roslyn Build.
With this change, Roslyn Benchmark is built using MsBuild (similar to
Roslyn's Build.cmd) instead of directly calling dotnet publish.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f02652b9846d624daa8020c36b0fc2867970a571
Bruce Forstall [Thu, 10 Aug 2017 01:18:31 +0000 (18:18 -0700)]
Copy additional GenTreeBoundsChk fields in gtCloneExpr
We were previously losing the gtStkDepth field, which led to
an assert with the STRESS_CLONE_EXPR stress mode with array
bounds checks in function argument lists that had already
pushed stack arguments.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b4992226b5c499e9cff1cf2b6f8f60e2c06c7351
Carol Eidt [Thu, 10 Aug 2017 01:17:12 +0000 (18:17 -0700)]
Merge pull request dotnet/coreclr#13190 from jyoungyun/ryujit/use_the_regtype_of_refposition_instead_of_its_type_in_the_gt_putarg_split_case
[ARM32/RyuJIT] Use regtype instead of node's type in PUTARG_SPLIT case
Commit migrated from https://github.com/dotnet/coreclr/commit/
4cfd3e9d34703182cb1b376f13ed956765bf1257
Shiming Ge (Pactera Technologies) [Thu, 10 Aug 2017 01:07:54 +0000 (18:07 -0700)]
add the license header to the C# file
Commit migrated from https://github.com/dotnet/coreclr/commit/
f39e5b1905f71b2085e8ca26e1783de1cea183d2
Pat Gavlin [Wed, 9 Aug 2017 23:54:43 +0000 (16:54 -0700)]
Fix issue dotnet/coreclr#13161.
This issue was a crash when calling R2R-compiled code from JITted code
on Windows/ARM32. The caller had a live value in `r4` that was scribbled
over by the callee. This change adds the necessary call to
`regSet.rsTrackRegTrash` which ensures that `r4` is saved/restored in
the prolog/epilog when it is used for R2R indirect calls.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1956b6974ad5e9356b094499eac34ed506a4a4ba
Mike McLaughlin [Wed, 9 Aug 2017 21:41:13 +0000 (14:41 -0700)]
Fixed issue dotnet/coreclr#13282. (dotnet/coreclr#13291)
Changed the open process token from TOKEN_READ to TOKEN_QUERY.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4fad8e503899bd95060ae2f0bd43367ba78dea1c
Wes Haggard [Wed, 9 Aug 2017 21:35:22 +0000 (14:35 -0700)]
Merge pull request dotnet/coreclr#13234 from janvorli/add-rhel6-official-rid
Add RHEL 6 official RID
Commit migrated from https://github.com/dotnet/coreclr/commit/
af5cbb25dce80d7cfa1ba1c634a6333fed9571e1
Wes Haggard [Wed, 9 Aug 2017 21:18:44 +0000 (14:18 -0700)]
Merge pull request dotnet/coreclr#13268 from dotnet-maestro-bot/master-UpdateDependencies
Update CoreClr, CoreFx to preview2-25609-02, preview2-25609-01, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c357491bc8b5be0c466a53dbb3a6dd309b93c6f
Sergey Andreenko [Wed, 9 Aug 2017 20:55:02 +0000 (13:55 -0700)]
Add fail-fast check after lvaGrabTemp in impImportBlockCode (dotnet/coreclr#13271)
Fix dotnet/coreclr#13231.
* responce Brian's comment.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ba2c3829661a6f3633038823f1971d7cf1acfd8
Pat Gavlin [Wed, 9 Aug 2017 18:25:29 +0000 (11:25 -0700)]
Merge pull request dotnet/coreclr#12802 from pgavlin/VSO462269
Fix VSO 462269.
Commit migrated from https://github.com/dotnet/coreclr/commit/
95b075fbdaee0c98b1527530787df708607063ae
John Doe [Wed, 9 Aug 2017 18:09:28 +0000 (11:09 -0700)]
typo (dotnet/coreclr#13287)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c0d40ffd18bf5df20f3aef51a01e2a283998682
Dan Moseley [Wed, 9 Aug 2017 18:08:32 +0000 (11:08 -0700)]
Start at running ILLink to find dead code in Corelib (dotnet/coreclr#13266)
* Remove some dead code
* Remove from native side
* More
* Remove nls consts
* Fix break
* Fix break
Commit migrated from https://github.com/dotnet/coreclr/commit/
d076cd44b309d6b99fdad34c5156126f045c0933
Carol Eidt [Wed, 9 Aug 2017 17:52:23 +0000 (10:52 -0700)]
Update ryujit-tutorial.md
Format the dump info for getting the flow graph
Commit migrated from https://github.com/dotnet/coreclr/commit/
107ff5094e987ac97190d159bc6cef012d6a319f
Pat Gavlin [Thu, 13 Jul 2017 19:59:29 +0000 (12:59 -0700)]
Fix VSO 462269.
When decomposing a long compare on 32-bit platforms, the operands to the
decomposed compare must be sign- or zero-extended appropriately.
Commit migrated from https://github.com/dotnet/coreclr/commit/
61dc4c01f046812b1341eecaccdce951f11d02b8
dotnet-maestro-bot [Wed, 9 Aug 2017 12:55:33 +0000 (05:55 -0700)]
Update CoreClr, CoreFx to preview2-25609-02, preview2-25609-01, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
cfee9b2a962d9e9ea82573f061a703090e673204
Stephen Toub [Wed, 9 Aug 2017 12:45:24 +0000 (08:45 -0400)]
Merge pull request dotnet/coreclr#13270 from stephentoub/refactor_taskwait
Refactor large Task NoOptimization bodies into own methods
Commit migrated from https://github.com/dotnet/coreclr/commit/
6b1c398c79847c6f65faa53e9c6cdc801035f080
Shiming Ge (Pactera Technologies) [Wed, 9 Aug 2017 09:36:11 +0000 (02:36 -0700)]
add perf test case GCLarge
Commit migrated from https://github.com/dotnet/coreclr/commit/
1d91eb4b2baa15009f378908de464627079560fa
Hanjoung Lee [Wed, 9 Aug 2017 03:11:29 +0000 (12:11 +0900)]
[RyuJIT/arm32] Fix Regression
Fix regression caused by dotnet/coreclr#13023
Fix dotnet/coreclr#13281
Commit migrated from https://github.com/dotnet/coreclr/commit/
6572d0131cc76f519d031277007e0fc229a7fef7
Joseph Tremoulet [Wed, 9 Aug 2017 02:11:23 +0000 (22:11 -0400)]
Ensure scratch BB in tail recursion -> loop xform
Our loop detection requires a predecessor outside the loop, so without
this the loops often don't get optimized as such.
Commit migrated from https://github.com/dotnet/coreclr/commit/
44360695d1d7f334b234f32b7a202d44d19c1088
Brian Sullivan [Wed, 9 Aug 2017 01:22:34 +0000 (18:22 -0700)]
Merge pull request dotnet/coreclr#13276 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb1c4a48f9c6d49d5c75628394b7c822f96c57be
Jonghyun Park [Wed, 9 Aug 2017 00:38:50 +0000 (09:38 +0900)]
Cache both string and its length during GDBJIT setup (dotnet/coreclr#13221)
Commit migrated from https://github.com/dotnet/coreclr/commit/
20de3a9c53c17c3e148570b4fc7bcb5c385092e3
Stephen Toub [Tue, 8 Aug 2017 21:45:16 +0000 (17:45 -0400)]
Add Encoding Span-based APIs (dotnet/coreclr#13269)
* Add Encoding Span-based APIs
* Address PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
eae763affd9624fbddf1c30ead52d23651de98e4
Brian Sullivan [Tue, 8 Aug 2017 21:11:07 +0000 (14:11 -0700)]
Fix fo CoreCLR cofde formating error
Add extra spacing
[tfs-changeset: 1669566]
Commit migrated from https://github.com/dotnet/coreclr/commit/
acfcd31bcda46a16a7096da0d4ba9306c98be4ef
Brian Sullivan [Tue, 8 Aug 2017 20:45:48 +0000 (13:45 -0700)]
Fix possibly uninitialized warning
[tfs-changeset: 1669561]
Commit migrated from https://github.com/dotnet/coreclr/commit/
869f3618f551fb5a2168568316e5af6a4164107e
Stephen Toub [Tue, 8 Aug 2017 18:55:06 +0000 (14:55 -0400)]
Change Task.WaitAll/Any overloads to call WaitAll/AnyCore directly
Avoid multiple unnecessary levels of NoOptimization frames.
Commit migrated from https://github.com/dotnet/coreclr/commit/
99ec60f196985e1208a63637e8952071515bc1ff
Kevin Gosse [Tue, 8 Aug 2017 18:53:26 +0000 (20:53 +0200)]
Add StringBuilder Span-based APIs (dotnet/coreclr#13163)
* Add StringBuilder Span-based APIs
* Factorized ThreadSafeCopy methods
The char[] based one was called only by CopyTo so it wasn't needed anymore. Replaced by a Span based version
* Fix possible overflow
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7a10a52f959514428afe2ab6f4bade3ce1dcdbf
Bruce Forstall [Tue, 8 Aug 2017 18:28:27 +0000 (11:28 -0700)]
Merge pull request dotnet/coreclr#12168 from gbalykov/remove-relocations-readonly
Partially remove relocations from SECTION_Readonly
Commit migrated from https://github.com/dotnet/coreclr/commit/
7590378d8a00d7c29ade23fada2ce79f4495b889
Victor "Nate" Graf [Tue, 8 Aug 2017 18:14:42 +0000 (11:14 -0700)]
Add build-time check to enforce PGO compilation for applicable DLL files (dotnet/coreclr#13258)
* Added PGO execution verification script
Added a script which can help verify whether or not PGO was used
to compile PE files passed to it
* Added target to enforce PGO compilation
* Remove OS checking for enforcepgo
Commit migrated from https://github.com/dotnet/coreclr/commit/
488d562052e61dde32ff0593835acc2713e9a0d1
Bruce Forstall [Tue, 8 Aug 2017 17:52:57 +0000 (10:52 -0700)]
Use logf() instead of JitDump() (dotnet/coreclr#13265)
* Use logf() instead of JitDump()
This allows more JitDump output to get routed through the CLR
logging facility.
* Formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0e76ed19b8578caf746b3a4faa324c521d6420e
Bruce Bowyer-Smyth [Tue, 8 Aug 2017 17:25:31 +0000 (03:25 +1000)]
Improve performance of string.IndexOfAny for 2 & 3 char searches (dotnet/coreclr#13219)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a405f2f61e477fc8964ded0788d4c20a1abd8da
Pat Gavlin [Tue, 8 Aug 2017 17:04:20 +0000 (10:04 -0700)]
Merge pull request dotnet/coreclr#13261 from pgavlin/VSO475427
Fix VSO 475427.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f009827812cf8aeeadf4c8a3c5bfe113db75d24
Bruce Forstall [Tue, 8 Aug 2017 16:40:34 +0000 (09:40 -0700)]
Merge pull request dotnet/coreclr#13263 from BruceForstall/FixDesktopX86SPMIBuild
Fix SuperPMI x86 desktop build
Commit migrated from https://github.com/dotnet/coreclr/commit/
5dfbda83248e67fd03644db618a684ab754eacc2
Pat Gavlin [Tue, 8 Aug 2017 16:36:05 +0000 (09:36 -0700)]
Merge pull request dotnet/coreclr#13259 from pgavlin/VSO469210
Fix VSO 469210.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a19b96099cc7dc1dbd13fc1216837b772a49deb0
Pat Gavlin [Tue, 8 Aug 2017 16:35:47 +0000 (09:35 -0700)]
Format code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
358f3871a32567c59f39b998a9aa4d70b48a906b
Victor "Nate" Graf [Tue, 8 Aug 2017 15:46:56 +0000 (08:46 -0700)]
Add smoke test for event pipe on Linux (dotnet/coreclr#13240)
* Add smoke test for eventpipe
* Clean up some code from a different version
* Use more descriptive project and namespace names
Commit migrated from https://github.com/dotnet/coreclr/commit/
fc550a0fe3d408e8de3a3dc0e3ab910d6db0b2f8
Stephen Toub [Tue, 8 Aug 2017 15:45:49 +0000 (11:45 -0400)]
Refactor large Task NoOptimization bodies into own methods
The methods apparently need to be marked as [MethodImpl(MethodImplOptions.NoOptimization)] to aid the Visual Studio debugger in picking out these methods and their arguments, but it's causing a few chunky functions to have no optimizations on the whole body. Separating these bodies out.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0b176ea58ab1b830eccd369c6b12bfaac07ee3cf