platform/upstream/dotnet/runtime.git
7 years ago[RyuJIT/arm32] Fix LEA codegen
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

7 years agoGet sort version dynamically and expose ICU version from native component (dotnet...
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

7 years agoImplement out of context stack unwinder (dotnet/coreclr#13302)
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

7 years agoAdd enforcepgo to official builds (dotnet/coreclr#13375)
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

7 years agoMerge pull request dotnet/coreclr#13029 from mikedn/disp-bbid
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

7 years agoUse dashes for build options (dotnet/coreclr#13353)
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

7 years agoAllocate FileMappingImmutableData::szFileName and CFileProcessLocalData::unix_filenam...
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

7 years agoMerge pull request dotnet/coreclr#13366 from mikedn/imp-init-array
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

7 years agoJIT: fix CHK/REL diff from fgRetypeImplicitByRefArgs (dotnet/coreclr#13372)
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

7 years agoSkip null checks for implicit byref argument references (dotnet/coreclr#13355)
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

7 years agoAdd full URL to the FileVersion information created a build time (dotnet/coreclr...
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

7 years agoMerge pull request dotnet/coreclr#13310 from shimingsg/v-shige/add-perftc-0810
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

7 years agoMerge pull request dotnet/coreclr#13334 from shimingsg/v-shige/add-perftc-0811
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

7 years agoMerge pull request dotnet/coreclr#13362 from shimingsg/v-shige/add-perftc-0814-2
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

7 years agoMerge pull request dotnet/coreclr#13328 from hseok-oh/ryujit/tmp_high_cost
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

7 years agoFix race condition for some threading tests using GC.KeepAlive (dotnet/coreclr#13351)
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

7 years agoMerge pull request dotnet/coreclr#13365 from dotnet-maestro-bot/master-UpdateDependencies
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

7 years agoMerge pull request dotnet/coreclr#13364 from hqueue/arm/ryujit/issue_13363_regression...
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

7 years agoDump basic block ids instead of pointers
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

7 years ago[Linux/ARM] Fix managed breakpoints (dotnet/coreclr#13316)
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

7 years agoMerge pull request dotnet/coreclr#13350 from BruceForstall/FixVSO478352
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

7 years agoAdded SetThreadDescription to set the unmanaged thread name (dotnet/coreclr#12593)
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

7 years agoDo not use GT_INDEX in impInitializeArrayIntrinsic
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

7 years agoUpdate CoreClr, CoreFx to preview2-25614-02, preview2-25614-02, respectively
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

7 years agoIncrease timeout and log the result for a couple of WaitAny tests that expect Abandon...
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

7 years ago[RyuJIT/ARM32] Fix regression
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

7 years agoadd perf test cases to coreclr
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

7 years agoremove line includes CopyToOutputDirectory
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

7 years agoreplace p/invokes into kernel32 with cross-platform implementations
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

7 years agoTypo (dotnet/coreclr#13360)
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

7 years agoUpdate CoreClr, CoreFx to preview2-25614-01, preview2-25614-01, respectively (dotnet...
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

7 years agoFinish moving Guid to shared partition
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

7 years agoUpdate CoreClr, CoreFx to preview2-25613-02, preview2-25613-02, respectively (dotnet...
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

7 years agoFollow-up: Add enforcepgo for release Windows_NT default release build (dotnet/corecl...
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

7 years agoMerge pull request dotnet/coreclr#13332 from wateret/fix-ryuarm-hfa
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

7 years agoMove files to shared CoreLib partition (dotnet/coreclr#13342)
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

7 years agoFix double-indirect p/invoke call generation
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

7 years agoFix bug where whitespace breaks arg proccessing (dotnet/coreclr#13320)
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

7 years agoMerge pull request dotnet/coreclr#13338 from jashook/log_crossgen_command
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

7 years agoChanges that didn't make it to PRdotnet/coreclr#12982 (dotnet/coreclr#13055)
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

7 years agoLog the crossgen command in build.sh.
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

7 years agoFixed CoreRT issue https://github.com/dotnet/coreclr/issues/13195 (dotnet/coreclr...
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

7 years agoadd perf test cases to coreclr
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

7 years ago[RyuJIT/armel] Fix PutArgReg BuildRefPositions
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

7 years agoMerge pull request dotnet/coreclr#13306 from hseok-oh/ryujit/fix_13156
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

7 years agoFix genSpillVar
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

7 years ago[RyuJIT/ARM32] TmpVar for expensive struct argument
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

7 years agoFix the race condition in mutex test using another manual reset event (dotnet/coreclr...
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

7 years agoMerge pull request dotnet/coreclr#13285 from shimingsg/v-shige/add-perftc-GCLarge
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

7 years agoMerge pull request dotnet/coreclr#13299 from pgavlin/GH13161
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

7 years agoImplement BitConverter Span-based APIs (dotnet/coreclr#13278)
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

7 years agoMerge pull request dotnet/coreclr#13304 from BruceForstall/FixVSO471672
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

7 years agoJIT: modify box/unbox/isinst/castclass expansions for fast jitting (dotnet/coreclr...
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

7 years agoRevert "Add enforcepgo for release Windows_NT default release build (dotnet/coreclr...
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

7 years agoMerge pull request dotnet/coreclr#13307 from wateret/cleanup-armel-lsracond
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

7 years agoMerge pull request dotnet/coreclr#13309 from wateret/arm-getregcount
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

7 years agoAdd enforcepgo for release Windows_NT default release build (dotnet/coreclr#13275)
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

7 years agoMerge pull request dotnet/coreclr#13286 from JosephTremoulet/TailLoopScratch
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

7 years ago[RyuJIT/armel] Cleanup with OperIsMultiRegOp()
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

7 years agoremove empty line
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

7 years agoadd perf test cases to coreclr
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

7 years ago[RyuJIT/armel] Introduce GetRegCount() for MultiRegOp
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

7 years agoMerge pull request dotnet/coreclr#13284 from wateret/fix-13281
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

7 years agoFix lclVar move node type inserted in lsra phase
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

7 years agoLinkBench: Fix Roslyn job
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

7 years agoCopy additional GenTreeBoundsChk fields in gtCloneExpr
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

7 years agoMerge pull request dotnet/coreclr#13190 from jyoungyun/ryujit/use_the_regtype_of_refp...
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

7 years agoadd the license header to the C# file
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

7 years agoFix issue dotnet/coreclr#13161.
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

7 years agoFixed issue dotnet/coreclr#13282. (dotnet/coreclr#13291)
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

7 years agoMerge pull request dotnet/coreclr#13234 from janvorli/add-rhel6-official-rid
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

7 years agoMerge pull request dotnet/coreclr#13268 from dotnet-maestro-bot/master-UpdateDependencies
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

7 years agoAdd fail-fast check after lvaGrabTemp in impImportBlockCode (dotnet/coreclr#13271)
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

7 years agoMerge pull request dotnet/coreclr#12802 from pgavlin/VSO462269
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

7 years agotypo (dotnet/coreclr#13287)
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

7 years agoStart at running ILLink to find dead code in Corelib (dotnet/coreclr#13266)
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

7 years agoUpdate ryujit-tutorial.md
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

7 years agoFix VSO 462269.
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

7 years agoUpdate CoreClr, CoreFx to preview2-25609-02, preview2-25609-01, respectively
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

7 years agoMerge pull request dotnet/coreclr#13270 from stephentoub/refactor_taskwait
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

7 years agoadd perf test case GCLarge
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

7 years ago[RyuJIT/arm32] Fix Regression
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

7 years agoEnsure scratch BB in tail recursion -> loop xform
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

7 years agoMerge pull request dotnet/coreclr#13276 from dotnet-bot/from-tfs
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

7 years agoCache both string and its length during GDBJIT setup (dotnet/coreclr#13221)
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

7 years agoAdd Encoding Span-based APIs (dotnet/coreclr#13269)
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

7 years agoFix fo CoreCLR cofde formating error
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

7 years agoFix possibly uninitialized warning
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

7 years agoChange Task.WaitAll/Any overloads to call WaitAll/AnyCore directly
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

7 years agoAdd StringBuilder Span-based APIs (dotnet/coreclr#13163)
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

7 years agoMerge pull request dotnet/coreclr#12168 from gbalykov/remove-relocations-readonly
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

7 years agoAdd build-time check to enforce PGO compilation for applicable DLL files (dotnet...
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

7 years agoUse logf() instead of JitDump() (dotnet/coreclr#13265)
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

7 years agoImprove performance of string.IndexOfAny for 2 & 3 char searches (dotnet/coreclr...
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

7 years agoMerge pull request dotnet/coreclr#13261 from pgavlin/VSO475427
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

7 years agoMerge pull request dotnet/coreclr#13263 from BruceForstall/FixDesktopX86SPMIBuild
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

7 years agoMerge pull request dotnet/coreclr#13259 from pgavlin/VSO469210
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

7 years agoFormat code.
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

7 years agoAdd smoke test for event pipe on Linux (dotnet/coreclr#13240)
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

7 years agoRefactor large Task NoOptimization bodies into own methods
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