platform/upstream/dotnet/runtime.git
7 years agoFix registry name enumeration (dotnet/coreclr#10711)
Jeremy Kuhne [Wed, 5 Apr 2017 17:51:25 +0000 (10:51 -0700)]
Fix registry name enumeration (dotnet/coreclr#10711)

1. Values can be removed after we've gotten the count
2. Allocations for names were  over 32K * enum call + 32K.

Commit migrated from https://github.com/dotnet/coreclr/commit/63645d6fd105557d6ed9073ffb75a607bcdb3b00

7 years ago[Local GC] Move Weak Reference finalization out of the GC (dotnet/coreclr#10676)
Sean Gillespie [Wed, 5 Apr 2017 16:57:50 +0000 (09:57 -0700)]
[Local GC] Move Weak Reference finalization out of the GC (dotnet/coreclr#10676)

* [Local GC] Move Weak Reference finalization out of the GC

* Address two issues:
  1) Use GetGCSafeMethodTable instead of GetMethodTable, so that the
     mark bit is correctly masked off the object's method table pointer,
  2) Address code review feedback by re-inserting a missed call to
     GetCanonicalMethodTable and rename the new API to EagerFinalized to
     better illustrate its broader purpose.

* Repair the GC sample

Commit migrated from https://github.com/dotnet/coreclr/commit/be8504bd8a63962c84567990f0b84019f299166c

7 years agoMerge pull request dotnet/coreclr#10574 from JosephTremoulet/FixTestProjectPath
Joseph Tremoulet [Wed, 5 Apr 2017 16:40:27 +0000 (12:40 -0400)]
Merge pull request dotnet/coreclr#10574 from JosephTremoulet/FixTestProjectPath

Fix path to CoreCLRTestLibrary from SizeConstTest

Commit migrated from https://github.com/dotnet/coreclr/commit/854bb352a37686afe255045aa728302fdfb3bae2

7 years agoFix ThrowExceptionFromContextInternal for x86 Linux (dotnet/coreclr#10728)
Jan Vorlicek [Wed, 5 Apr 2017 15:45:55 +0000 (17:45 +0200)]
Fix ThrowExceptionFromContextInternal for x86 Linux (dotnet/coreclr#10728)

The function was missing restoring of some callee saved registers
which caused crashes in Checked build and hang in Release build.

Commit migrated from https://github.com/dotnet/coreclr/commit/557c314e9dd56bcab569c578ed445e47ae71c317

7 years ago[x86/Linux] Fix build error in nuget packaging (dotnet/coreclr#10691)
Hyeongseok Oh [Wed, 5 Apr 2017 15:15:22 +0000 (00:15 +0900)]
[x86/Linux] Fix build error in nuget packaging (dotnet/coreclr#10691)

* [x86/Linux] Fix build error in nuget packaging

Fix build error in nuget packaging
Modify condition for excluding libcoreclrtraceptprovider.so

* Update runtime.Linux.Microsoft.NETCore.Runtime.CoreCLR.props

Fix typo

Commit migrated from https://github.com/dotnet/coreclr/commit/93fd5fdf523df54945f36a1346e27dedbe1a2a4d

7 years agoMerge pull request dotnet/coreclr#10112 from pgavlin/gh10106
Pat Gavlin [Wed, 5 Apr 2017 15:14:36 +0000 (08:14 -0700)]
Merge pull request dotnet/coreclr#10112 from pgavlin/gh10106

Only build compatjit.dll when building JIT32.

Commit migrated from https://github.com/dotnet/coreclr/commit/094a58c306543adca6f71d4ca8027e64474373af

7 years agoOnly build compatjit.dll when building JIT32.
Pat Gavlin [Sat, 11 Mar 2017 01:11:24 +0000 (17:11 -0800)]
Only build compatjit.dll when building JIT32.

In order to avoid confusion, do not build and package compatjit.dll
unless we are building JIT32.

Fixes dotnet/coreclr#10106.

Commit migrated from https://github.com/dotnet/coreclr/commit/e62151a88f71edcaa336f4265b4fc534d6f56940

7 years ago[x86/Linux] add three functions for _X86_TARGET_ (dotnet/coreclr#10378)
ragmani [Wed, 5 Apr 2017 10:00:04 +0000 (19:00 +0900)]
[x86/Linux] add three functions for _X86_TARGET_ (dotnet/coreclr#10378)

* [x86/Linux] add three functions for _X86_TARGET_

There is no functions for _X86_TARGET_.
  - ZapUnwindData::GetAlignment()
  - DWORD ZapUnwindData::GetSize()
  - void ZapUnwindData::Save(ZapWriter * pZapWriter)

* [x86/Linux] remove personality routine on x86/linux.

remove creating personaly routine when assemblies is generated to ni.
add a function for getting size of UnwindDataBlob on x86/linux.

Signed-off-by: ragmani <ragmani0216@gmail.com>
* [x86/Linux] correct the unclearly fixed parts.

change Unwindinfo's size from sizeof(ULONG) to sizeof(UNWIND_INFO).
change Unwindinfo's alignment from sizeof(DWORD) to sizeof(BYTE).
remove unnecessary code.

* [x86/Linux] change alignment from sizeof(BYTE) to sizeof(DWORD).

Commit migrated from https://github.com/dotnet/coreclr/commit/c7241a9c7af7b2076d6876c0b747f6d7144ac347

7 years agoMerge pull request dotnet/coreclr#10303 from hseok-oh/fix_10300
Bruce Forstall [Wed, 5 Apr 2017 05:26:22 +0000 (22:26 -0700)]
Merge pull request dotnet/coreclr#10303 from hseok-oh/fix_10300

[ARM32/RyuJIT] Fix register allocation for null check in call instruction

Commit migrated from https://github.com/dotnet/coreclr/commit/a5fef2172ad19d4c58e67c9e5bee10d247cd8929

7 years agoMerge pull request dotnet/coreclr#10637 from rahku/UrlString
Rahul Kumar [Wed, 5 Apr 2017 04:26:27 +0000 (21:26 -0700)]
Merge pull request dotnet/coreclr#10637 from rahku/UrlString

Remove file system/security/util/URLString.cs

Commit migrated from https://github.com/dotnet/coreclr/commit/e93e79b3d012bc068c84ee5f65f8e755020d8a9c

7 years agoRemove file system/security/util/URLString.cs
Rahul Kumar [Sat, 1 Apr 2017 00:11:24 +0000 (17:11 -0700)]
Remove file system/security/util/URLString.cs

Commit migrated from https://github.com/dotnet/coreclr/commit/f4450c8c2f2c0f0439c2d3085d6e619fcd5b20ae

7 years agoAdd a job for testing via IlLink for Linux
Swaroop Sridhar [Mon, 3 Apr 2017 23:10:38 +0000 (16:10 -0700)]
Add a job for testing via IlLink for Linux

Add jobs to run CoreCLR tests on Ubuntu via ILLINK

Commit migrated from https://github.com/dotnet/coreclr/commit/c3b9127f72748289cb98e45e62f3ea3a92543186

7 years agoFix invocation of ILLink in linux testing
Swaroop Sridhar [Tue, 4 Apr 2017 00:23:11 +0000 (17:23 -0700)]
Fix invocation of ILLink in linux testing

Fix the input to illink -a argument to not include the extension.
The current command line caused silent wrong code gneration
because of https://github.com/mono/linker/issues/56

Commit migrated from https://github.com/dotnet/coreclr/commit/f1dc118917525caee56629f5b60a260c1035a6aa

7 years ago[x86/Linux] 16-byte aligned ResolveWorkerAsmStub (dotnet/coreclr#10655)
Jonghyun Park [Wed, 5 Apr 2017 00:29:50 +0000 (09:29 +0900)]
[x86/Linux] 16-byte aligned ResolveWorkerAsmStub (dotnet/coreclr#10655)

Commit migrated from https://github.com/dotnet/coreclr/commit/336fea27b0d54b7e996398d10010a8fc35e0e136

7 years agoMerge pull request dotnet/coreclr#10715 from wtgodbe/alpineFix
William Godbe [Tue, 4 Apr 2017 23:42:20 +0000 (16:42 -0700)]
Merge pull request dotnet/coreclr#10715 from wtgodbe/alpineFix

Fix Alpine build break in pipeline

Commit migrated from https://github.com/dotnet/coreclr/commit/cece73d18e8497d0133c660be0814482b0ec01b9

7 years agoUpdate module not found error message (dotnet/coreclr#10692)
Jan Vorlicek [Tue, 4 Apr 2017 23:41:25 +0000 (01:41 +0200)]
Update module not found error message (dotnet/coreclr#10692)

This message can be misleading, since it says "The specified module
could not be found", but it would also report case when the module
was found, but one of the module's dependencies were not found.
Multiple people in the past were hit by that when their module was
not loaded, they were thinking that there is some problem with
the path coreclr is loading modules from or something like that and
spent non-trivial amount of time trying to figure that out.
The fact that the module could have missing dependencies is really
not obvious.

So I am updating the message to reflect that fact.

Commit migrated from https://github.com/dotnet/coreclr/commit/24f1153adfc1a83e490d8d22ee353b322aba1e33

7 years agoFix Alpine build break in pipeline
wtgodbe [Tue, 4 Apr 2017 23:24:51 +0000 (16:24 -0700)]
Fix Alpine build break in pipeline

Commit migrated from https://github.com/dotnet/coreclr/commit/1ed25909008ed985565fc9bacbad3534ddb49b87

7 years agoCoreRT: make CORINFO_HELP_READYTORUN_DELEGATE_CTOR optimization for verifiable sequen...
Sergey Andreenko [Tue, 4 Apr 2017 23:20:29 +0000 (16:20 -0700)]
CoreRT: make CORINFO_HELP_READYTORUN_DELEGATE_CTOR optimization for verifiable sequences. (dotnet/coreclr#10663)

delegate ctor optimization for CoreRT.

Commit migrated from https://github.com/dotnet/coreclr/commit/60ed6841161a3b5e5e627041bc0d4a87bb21ce22

7 years agoMerge pull request dotnet/coreclr#10190 from sdmaclea/PR-ARM64-BACKPORT-9500
Rahul Kumar [Tue, 4 Apr 2017 22:33:36 +0000 (15:33 -0700)]
Merge pull request dotnet/coreclr#10190 from sdmaclea/PR-ARM64-BACKPORT-9500

[Arm64/Windows] Backport dotnet/coreclr#9500 changes

Commit migrated from https://github.com/dotnet/coreclr/commit/7f296fec9799d0a2d5ace44eb468ecf264cc026f

7 years agoMerge pull request dotnet/coreclr#10614 from sdmaclea/PR-ARM64-GENRET-GCINFO
Jarret Shook [Tue, 4 Apr 2017 20:58:38 +0000 (13:58 -0700)]
Merge pull request dotnet/coreclr#10614 from sdmaclea/PR-ARM64-GENRET-GCINFO

[Arm64] Fix GCStress hole in genReturn

Commit migrated from https://github.com/dotnet/coreclr/commit/5619985da19d0f17a1a48558381a6d79bcc67f74

7 years agoMerge pull request dotnet/coreclr#10609 from alpencolt/ryu-arm-locallock
Bruce Forstall [Tue, 4 Apr 2017 20:20:32 +0000 (13:20 -0700)]
Merge pull request dotnet/coreclr#10609 from alpencolt/ryu-arm-locallock

[RyuJIT/ARM32] Localloc implementation in codegen

Commit migrated from https://github.com/dotnet/coreclr/commit/5887e3ac69a15089bd51674c3a943a2133d3841d

7 years agoMerge pull request dotnet/coreclr#10699 from adityamandaleeka/fix_env_empty_var_handling
Aditya Mandaleeka [Tue, 4 Apr 2017 20:10:40 +0000 (13:10 -0700)]
Merge pull request dotnet/coreclr#10699 from adityamandaleeka/fix_env_empty_var_handling

Fix handling of empty environment variables in PAL

Commit migrated from https://github.com/dotnet/coreclr/commit/3bf3915549eaa3c475f9dd899d9a6265dcde9908

7 years agoMerge pull request dotnet/coreclr#10681 from BruceForstall/LinuxArmAltjit
Bruce Forstall [Tue, 4 Apr 2017 18:09:36 +0000 (11:09 -0700)]
Merge pull request dotnet/coreclr#10681 from BruceForstall/LinuxArmAltjit

Add Linux host support for arm32/arm64 altjit

Commit migrated from https://github.com/dotnet/coreclr/commit/244dbfe0bfcb95d3c896c41a76e17bfba4f571c0

7 years agoFix handling of empty environment variables in PAL.
Aditya Mandaleeka [Tue, 4 Apr 2017 17:31:46 +0000 (10:31 -0700)]
Fix handling of empty environment variables in PAL.

Commit migrated from https://github.com/dotnet/coreclr/commit/443f2e5d907d16aba7a25d11ea418afc6ac69336

7 years agoRemoved Unused Local Random Instances (dotnet/coreclr#10696)
Rion Williams [Tue, 4 Apr 2017 17:47:54 +0000 (12:47 -0500)]
Removed Unused Local Random Instances (dotnet/coreclr#10696)

* Removed Unused Local Random Instances

Discovered two cases of a `Random` instance that weren't being used
within their respective methods and removed them.

* Retained Earlier Comment

Retained an earlier comment for consistency

Commit migrated from https://github.com/dotnet/coreclr/commit/2b8c3f3b9ea71929e719a86208fb950f18f3c82b

7 years agoUse setMachineAffinity for arm64 (dotnet/coreclr#10558)
Matt Mitchell [Tue, 4 Apr 2017 15:29:26 +0000 (08:29 -0700)]
Use setMachineAffinity for arm64 (dotnet/coreclr#10558)

Commit migrated from https://github.com/dotnet/coreclr/commit/13b43782ca7cf4447e27a86f2082fa62ef03bea5

7 years ago[x86/Linux] Fix crash when GC triggered inside funclets (dotnet/coreclr#10188)
Hanjoung Lee [Tue, 4 Apr 2017 14:25:40 +0000 (23:25 +0900)]
[x86/Linux] Fix crash when GC triggered inside funclets (dotnet/coreclr#10188)

* [x86/Linux] Fix crash when GC triggered inside funclets

* [x86/Linux] Make main function not to report

Commit migrated from https://github.com/dotnet/coreclr/commit/8525460327cc2967cf30364588ce981b81ce2727

7 years agoPass crossbuild and linux-id to CMakeLists.txt using CMake arguments (dotnet/coreclr...
Hyeongseok Oh [Tue, 4 Apr 2017 12:07:09 +0000 (21:07 +0900)]
Pass crossbuild and linux-id to CMakeLists.txt using CMake arguments (dotnet/coreclr#10686)

Remove in CMakeLists.txt
1) read cross-build from environment variable
2) read linux-id from file system
Instead, pass cross-build and linux-id from gen-buildsys-clang.sh using cmake arguments

Commit migrated from https://github.com/dotnet/coreclr/commit/dfce3af2ee5967ae53c7b47135f150f59452ded3

7 years ago[x86/Linux] Correctly unwind esp frames (dotnet/coreclr#10685)
Jonghyun Park [Tue, 4 Apr 2017 08:50:02 +0000 (15:50 +0700)]
[x86/Linux] Correctly unwind esp frames (dotnet/coreclr#10685)

Commit migrated from https://github.com/dotnet/coreclr/commit/53c88123a7f6216a31318f14062fd245730c74ba

7 years agoMerge pull request dotnet/coreclr#10601 from rahku/c4996
Rahul Kumar [Tue, 4 Apr 2017 08:02:19 +0000 (01:02 -0700)]
Merge pull request dotnet/coreclr#10601 from rahku/c4996

1. Remove disable of C4996

Commit migrated from https://github.com/dotnet/coreclr/commit/ebf4927d891757b1bd7f54119de2ad60900d3232

7 years agoMerge pull request dotnet/coreclr#10682 from BruceForstall/CleanUpJitEEDefine
Bruce Forstall [Tue, 4 Apr 2017 05:32:22 +0000 (22:32 -0700)]
Merge pull request dotnet/coreclr#10682 from BruceForstall/CleanUpJitEEDefine

Remove unused code under typo define

Commit migrated from https://github.com/dotnet/coreclr/commit/f66e306a08b3f8de10d6ad26faccd53b58a56b7e

7 years agoMerge pull request dotnet/coreclr#10580 from noahfalk/fitjit_tier0_flag
Noah Falk [Tue, 4 Apr 2017 04:04:16 +0000 (21:04 -0700)]
Merge pull request dotnet/coreclr#10580 from noahfalk/fitjit_tier0_flag

Add Tier0 jit flag

Commit migrated from https://github.com/dotnet/coreclr/commit/4c1df4be63a79a4375691b1de49e890913733cec

7 years agoMove '#pragma warning(disable:21000)' to correct place (dotnet/coreclr#10455)
Matt Warren [Tue, 4 Apr 2017 01:37:48 +0000 (02:37 +0100)]
Move '#pragma warning(disable:21000)' to correct place (dotnet/coreclr#10455)

Whilst I was writing a blog post ['A Hitchhikers Guide to the CoreCLR Source Code'](http://mattwarren.org/2017/03/23/Hitchhikers-Guide-to-the-CoreCLR-Source-Code/#top-10-lists) I noticed that a `#pragma warning(disable:21000)` was mis-aligned.

I'm pretty sure that having it in the wrong place doesn't cause a problem (i.e. this doesn't actually *fix* anything), because the other methods are smaller, so I understand if you don't want to take the PR.

Commit migrated from https://github.com/dotnet/coreclr/commit/b8f4ad63fbd1c0401c49189fb1c05081d07fe6b3

7 years agoImprove Guid.ToString (dotnet/coreclr#10669)
Ben Adams [Tue, 4 Apr 2017 01:20:54 +0000 (02:20 +0100)]
Improve Guid.ToString (dotnet/coreclr#10669)

* Improve Guid.ToString

* revert HexToChar

Commit migrated from https://github.com/dotnet/coreclr/commit/9264c062d0c2da0b38544da01a4d23e18df1d62c

7 years agoMerge pull request dotnet/coreclr#10678 from briansull/contract-fix
Brian Sullivan [Tue, 4 Apr 2017 00:30:36 +0000 (17:30 -0700)]
Merge pull request dotnet/coreclr#10678 from briansull/contract-fix

Remove the SO_TOLERANT contact from CEEInfo::resolveVirtualMethodHelper

Commit migrated from https://github.com/dotnet/coreclr/commit/acb4cc678cf0f145b33bcaa11c241e7c1bc44e1c

7 years agoDebug.Assert FF (dotnet/coreclr#10652)
Dan Moseley [Tue, 4 Apr 2017 00:15:24 +0000 (17:15 -0700)]
Debug.Assert FF (dotnet/coreclr#10652)

Commit migrated from https://github.com/dotnet/coreclr/commit/d8250b52fc596cc9c13d6abbc5aa85dd1440b0d9

7 years agoFix 'this' pointer in struct methods (dotnet/coreclr#10668)
Igor Kulaychuk [Tue, 4 Apr 2017 00:10:40 +0000 (03:10 +0300)]
Fix 'this' pointer in struct methods (dotnet/coreclr#10668)

The 'this' method argument should always be a pointer.

Commit migrated from https://github.com/dotnet/coreclr/commit/4451f848e195ca554b96afddbee48b9ac5f3279e

7 years agoRemove unused code under typo define
Bruce Forstall [Mon, 3 Apr 2017 23:59:35 +0000 (16:59 -0700)]
Remove unused code under typo define

The code is under COR_JIT_EE_VER which never existed (it used to
be COR_JIT_EE_VERSION), thus the code has never been used.

Commit migrated from https://github.com/dotnet/coreclr/commit/b9fd50477279cca8badc453dde294661693a111c

7 years agoremove fedora 23 (dotnet/coreclr#10667)
Dan Moseley [Mon, 3 Apr 2017 23:43:43 +0000 (16:43 -0700)]
remove fedora 23 (dotnet/coreclr#10667)

Commit migrated from https://github.com/dotnet/coreclr/commit/425551a2c60fb20f462779a4dfa9a0aaf38c9e7b

7 years agoMerge pull request dotnet/coreclr#10629 from russellhadley/EHWriteThru-design-doc
Russell C Hadley [Mon, 3 Apr 2017 23:37:00 +0000 (16:37 -0700)]
Merge pull request dotnet/coreclr#10629 from russellhadley/EHWriteThru-design-doc

Add initial design document for EH WriteThru

Commit migrated from https://github.com/dotnet/coreclr/commit/b2d4c3e903ab3b9371d213d602c7a29b9a0b0136

7 years agoFix InternalsVisibleTo when it references an assembly with some DebuggableAttribute...
Koundinya Veluri [Mon, 3 Apr 2017 23:35:47 +0000 (16:35 -0700)]
Fix InternalsVisibleTo when it references an assembly with some DebuggableAttribute flags (dotnet/coreclr#10664)

Fixes dotnet/coreclr#3541
- Mask out the DebuggableAttribute bits from when comparing assembly spec flags for matching an InternalsVisibleTo reference to an assembly

Commit migrated from https://github.com/dotnet/coreclr/commit/cb8cfba3b61f18f81787322f0a2563d118c26b8a

7 years agoMerge pull request dotnet/coreclr#10671 from wtgodbe/Redist
William Godbe [Mon, 3 Apr 2017 23:26:02 +0000 (16:26 -0700)]
Merge pull request dotnet/coreclr#10671 from wtgodbe/Redist

Publish VC Redist DLLs as part of CoreCLR Package

Commit migrated from https://github.com/dotnet/coreclr/commit/99fd99e5f8821e4c25439bcf1997f9a026dde7bf

7 years agoRemove the SO_TOLERANT contact from CEEInfo::resolveVirtualMethodHelper
Brian Sullivan [Mon, 3 Apr 2017 23:01:23 +0000 (16:01 -0700)]
Remove the SO_TOLERANT contact from CEEInfo::resolveVirtualMethodHelper
that contract should only apply to CEEInfo::resolveVirtualMethod which uses the JIT_TO_EE_TRANSITION() transition macros.

Commit migrated from https://github.com/dotnet/coreclr/commit/b58c5b24f1a616a58f70fc026fe22a8ca0d6b438

7 years agoMerge pull request dotnet/coreclr#10672 from pgavlin/FixExceptionReference
Pat Gavlin [Mon, 3 Apr 2017 22:34:34 +0000 (15:34 -0700)]
Merge pull request dotnet/coreclr#10672 from pgavlin/FixExceptionReference

Fix a reference to System.Exception in a JIT test.

Commit migrated from https://github.com/dotnet/coreclr/commit/bb1b3bbaadc4b205455cac37a3898397fed0c04f

7 years agoAdd Linux host support for arm32/arm64 altjit
Bruce Forstall [Mon, 3 Apr 2017 21:44:27 +0000 (14:44 -0700)]
Add Linux host support for arm32/arm64 altjit

Now, on Linux, the x64 build will build an arm64-targeting
altjit. The x86 build will build an arm32-targeting JIT.
The altjit is named libprotononjit.so/dylib. It can be
used for debugging or for generating asm diffs using jit-diff.

Commit migrated from https://github.com/dotnet/coreclr/commit/c7a2eebf97893a3b7cf45e1713225805dddf8e71

7 years agoPublish VC Redist DLLs as part of CoreCLR Package
wtgodbe [Mon, 3 Apr 2017 20:29:27 +0000 (13:29 -0700)]
Publish VC Redist DLLs as part of CoreCLR Package

Commit migrated from https://github.com/dotnet/coreclr/commit/32aa2184cd26942aa01a6d44fc3eea1f80dc6600

7 years agoMerge pull request dotnet/coreclr#10326 from jashook/arm64_test_update_20_march
Jarret Shook [Mon, 3 Apr 2017 20:56:40 +0000 (13:56 -0700)]
Merge pull request dotnet/coreclr#10326 from jashook/arm64_test_update_20_march

Update the arm64 test drop - WIP

Commit migrated from https://github.com/dotnet/coreclr/commit/bd02f2e51368f96a4651e06236f4f17d6c9f3280

7 years agoFix a reference to System.Exception in a JIT test.
Pat Gavlin [Mon, 3 Apr 2017 20:53:04 +0000 (13:53 -0700)]
Fix a reference to System.Exception in a JIT test.

This bad reference was casuing a failure in the x64 pri1 R2R jobs.

Commit migrated from https://github.com/dotnet/coreclr/commit/3849a0417a1639052849939d0c3ff983bc6572a4

7 years ago[x86/Linux] add the process of handling when entry point is funclet. (dotnet/coreclr...
ragmani [Mon, 3 Apr 2017 19:27:44 +0000 (04:27 +0900)]
[x86/Linux] add the process of handling when entry point is funclet. (dotnet/coreclr#10602)

* [x86/Linux] add the process of handling the entry point when it is funclet in case x86.

* [x86/Linux] enable only for TARGET_X86 && FEATURE_PAL.

Signed-off-by: ragmani <ragmani0216@gmail.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/079b6856bbae83e76836af1e0ef7962cfc4bda03

7 years agoUpdate the arm64 test drop
jashook [Mon, 20 Mar 2017 21:14:31 +0000 (14:14 -0700)]
Update the arm64 test drop

Commit migrated from https://github.com/dotnet/coreclr/commit/3bc9f5979912ad8cbbbcc72aa72ad7fe48a527e3

7 years ago[RyuJIT/ARM32] Localloc implementation in codegen
Alexander Soldatov [Mon, 3 Apr 2017 14:43:30 +0000 (17:43 +0300)]
[RyuJIT/ARM32] Localloc implementation in codegen

Algorithm is almost the same as for other platforms but code
is little bit refactored to improve readability.

Added test to cover almost all possible branches of codegen.
Since arrays allocation of int type is needed multiplication and overflow
checks new tests cover only byte arrays.

Commit migrated from https://github.com/dotnet/coreclr/commit/20917a1ece166167734f3ece02882e3c444da121

7 years ago[RyuJIT/ARM32] GS Cookie check implementation.
Alexander Soldatov [Mon, 3 Apr 2017 12:01:56 +0000 (15:01 +0300)]
[RyuJIT/ARM32] GS Cookie check implementation.

Implementation of GS Cookie check for RyuJIT/ARM32 almost the same as
for ARM64. So this code was moved to codegencommon with.
Also added optimization to use tmp register for emitting helper call.

Commit migrated from https://github.com/dotnet/coreclr/commit/6f40552c88ac826647b787f6b433e359aacfe574

7 years agoCut down FormatterServices (dotnet/coreclr#10653)
Dan Moseley [Mon, 3 Apr 2017 12:44:48 +0000 (05:44 -0700)]
Cut down FormatterServices (dotnet/coreclr#10653)

Commit migrated from https://github.com/dotnet/coreclr/commit/fe7a5f082ca14f5945eedc8d0d23311c0d3701a0

7 years agoFix Double.ToString performance on Linux and OSX (dotnet/coreclr#10572)
Tarek Mahmoud Sayed [Sun, 2 Apr 2017 19:18:22 +0000 (12:18 -0700)]
Fix Double.ToString performance on Linux and OSX (dotnet/coreclr#10572)

* Fix Double.ToString performance on Linux and OSX

* some feedback fixes

* Remove the implementation depending on ecvt_r

Commit migrated from https://github.com/dotnet/coreclr/commit/62849aabbad290a81349cc2a642f3bb240677c7f

7 years agoBring back kApplicationException (dotnet/coreclr#10650)
Hugh Bellamy [Sun, 2 Apr 2017 16:12:29 +0000 (23:12 +0700)]
Bring back kApplicationException (dotnet/coreclr#10650)

Commit migrated from https://github.com/dotnet/coreclr/commit/36137cf33f1c03abd7e95ff33139748c0b825d38

7 years agoRemove securitystate (dotnet/coreclr#10649)
Dan Moseley [Sun, 2 Apr 2017 10:16:23 +0000 (03:16 -0700)]
Remove securitystate (dotnet/coreclr#10649)

Commit migrated from https://github.com/dotnet/coreclr/commit/0b1877f2e35a548f26fca05085232630e04b79b7

7 years agoMove identical Globalization files to shared partition
Jan Kotas [Sat, 1 Apr 2017 19:25:28 +0000 (12:25 -0700)]
Move identical Globalization files to shared partition

Commit migrated from https://github.com/dotnet/coreclr/commit/b07ed5efbbc94a0a3dad203e0a88d25c746a6c93

7 years agoMove identical files to shared partition
Jan Kotas [Sat, 1 Apr 2017 18:40:23 +0000 (11:40 -0700)]
Move identical files to shared partition

Commit migrated from https://github.com/dotnet/coreclr/commit/f8db01c0e175550cb696ea6ec608e662f1e3d286

7 years agoMove identical Interop files to shared partition
Jan Kotas [Sat, 1 Apr 2017 18:26:05 +0000 (11:26 -0700)]
Move identical Interop files to shared partition

Commit migrated from https://github.com/dotnet/coreclr/commit/b9e6c160ffadc294367bf0f3f93cc301d3a7ecf6

7 years ago[Local GC] Move some EE-specific finalize-on-unload logic out of the GC (dotnet/corec...
Sean Gillespie [Sat, 1 Apr 2017 21:25:46 +0000 (14:25 -0700)]
[Local GC] Move some EE-specific finalize-on-unload logic out of the GC (dotnet/coreclr#10598)

* Move some EE-specific logic to a callback on GCToEEInterface

* Fix the sample

* Consistent style for pointers

* Code review feedback: Move app domain index check into EE callback and make ShouldFinalizeObjectForUnload always return true (due to CoreCLR not having app domains)

* Code review feedback: Fix a comment and add a TODO for bringing these changes to desktop

Commit migrated from https://github.com/dotnet/coreclr/commit/41617fee235d22d9e6dc1fa31548de63637551fa

7 years ago[Local GC] Remove static fields from GC interface (dotnet/coreclr#10566)
Sean Gillespie [Sat, 1 Apr 2017 21:25:07 +0000 (14:25 -0700)]
[Local GC] Remove static fields from GC interface (dotnet/coreclr#10566)

* Remove max_generation from GC interface

* [Local GC] Clean up the GC interface by removing all static fields
from it:
  1) gcHeapType is replaced by g_heap_type (EE side) and g_gc_heap_type
     (GC side), each of which is set on initialization. g_heap_type is
     read by the DAC to determine what kind of heap is being used.
  2) maxGeneration is not necessary due to the GC DAC changes.

* Rebase against master

* Comments and cleanup

* Use a heap allocation instead of alloca

* Code review feedback: remove a redundant cast and allocate generation count table once, on first use

* Address code review feedback: cache some calls to GetMaxGeneration

Commit migrated from https://github.com/dotnet/coreclr/commit/ed57233f4d26114d45b1293ced80a09f879f72cf

7 years agoMerge pull request dotnet/coreclr#10584 from adityamandaleeka/handle_table_local_gc_init
Aditya Mandaleeka [Sat, 1 Apr 2017 19:25:08 +0000 (12:25 -0700)]
Merge pull request dotnet/coreclr#10584 from adityamandaleeka/handle_table_local_gc_init

Change how the VM calls ObjectFromHandle.

Commit migrated from https://github.com/dotnet/coreclr/commit/036ff00ad33e3bdd8f0eef7513af331eb841d5b9

7 years agoAdd .gitmirror file
Matt Ellis [Sat, 1 Apr 2017 18:13:03 +0000 (11:13 -0700)]
Add .gitmirror file

Commit migrated from https://github.com/dotnet/coreclr/commit/b1928070df5ab896e9b3f635f577b9be7e848385

7 years agoMerge pull request dotnet/coreclr#10627 from briansull/profile-data
Brian Sullivan [Sat, 1 Apr 2017 17:46:58 +0000 (10:46 -0700)]
Merge pull request dotnet/coreclr#10627 from briansull/profile-data

Added DisableInlining flag to the ProfileData.

Commit migrated from https://github.com/dotnet/coreclr/commit/f417d4af431d04080b8333bdbcaa3fa17c0cd910

7 years agoAdd initial design document for EH WriteThru
Russell C Hadley [Mon, 27 Mar 2017 17:14:25 +0000 (10:14 -0700)]
Add initial design document for EH WriteThru

Document describes an initial approch to enregistering local variables
that live across EH flow.  Today the JIT forces all local vars that are live
across EH flow that kills all registers to live on the stack.  The transformation outlined ensures consistency on the stack across the EH kills but allows the enregistration with in either the normal flow of control or with in any EH handlers.

Commit migrated from https://github.com/dotnet/coreclr/commit/36b53e0d9db3516d38c08f118025c2c74cd4812e

7 years agoRefactor dotnet download code in init-tools.cmd (dotnet/coreclr#10527)
Luis G [Sat, 1 Apr 2017 09:00:12 +0000 (06:00 -0300)]
Refactor dotnet download code in init-tools.cmd (dotnet/coreclr#10527)

* Refactor dotnet download code in init-tools.cmd
This addresses the improvements proposed in issue dotnet/coreclr#10526.
Includes the init-tools.cmd script refactor and a new script called
dotnet-download.ps1 which includes the extracted code and logic

* Code review feedback changes

* Fix spacing

Commit migrated from https://github.com/dotnet/coreclr/commit/8cfb891b135a24c6436647ec4ca9aa2a07eb9da5

7 years agoJit: fix a few issues with single def local tracking (dotnet/coreclr#10633)
Andy Ayers [Sat, 1 Apr 2017 07:56:33 +0000 (00:56 -0700)]
Jit: fix a few issues with single def local tracking (dotnet/coreclr#10633)

Fixes for three issues that came up in desktop testing.

1. Don't track class types for locals when in import only mode,
since the jit may be looking at an uninstantiated generic method.
In these cases the jit's use of TYP_REF to represent CORINFO_TYPE_VAR
confuses the tracking code. In import only mode the jit is not going
to use the information, so there is no need to track it at all.

    Import only mode is tied to verification and CoreCLR runs in full
trust mode, so no test was added.

2. Allow `lvaUpdateClass` to be called more than once but assert
that the second and subsequent calls provide the exact same update
as the first call.

    This can happen for single def ref class locals whose definition
block is reimported. Reimportation is triggered by some tolerable
non-ref type mismatches at block joins and so ref type information
should be consistent for each importation attempt.

    Add a couple of IL test cases translated from destkop MC++ tests
that will trigger this kind of reimportation.

3. Bail out of devirtualization (for desktop only) if the base class
has precise initialization semantics, since desktop seems to trigger
class initialization for ref type callvirts (contrary to ECMA355 I.8.9.5).
See dotnet/coreclr#4853 for some discussion. Since this is desktop only behavior
no test was added.

Commit migrated from https://github.com/dotnet/coreclr/commit/a7ab04cfb152f133d130948709dd5ac4f1494a19

7 years agoMerge pull request dotnet/coreclr#10638 from AndyAyersMS/EmptyTryUpdateFinallyNestLevel
Andy Ayers [Sat, 1 Apr 2017 06:04:48 +0000 (23:04 -0700)]
Merge pull request dotnet/coreclr#10638 from AndyAyersMS/EmptyTryUpdateFinallyNestLevel

Jit: decrement finally nesting level when removing empty trys

Commit migrated from https://github.com/dotnet/coreclr/commit/7c8941ab25b3a4fa49c2a61b707075309b61a26e

7 years agoDelete moved files
Jan Kotas [Fri, 31 Mar 2017 23:20:12 +0000 (16:20 -0700)]
Delete moved files

Commit migrated from https://github.com/dotnet/coreclr/commit/d9b164dcc3189bd08aa4f57bda85c57a40f20574

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3175 from jkotas/nmirror-merge
Michal Strehovský [Fri, 31 Mar 2017 22:08:40 +0000 (15:08 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3175 from jkotas/nmirror-merge

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/f1bedf024cf3b0ea795688161cd94f0ccf289cdc

7 years agoChange how VM calls ObjectFromHandle.
Aditya Mandaleeka [Sat, 1 Apr 2017 00:12:03 +0000 (17:12 -0700)]
Change how VM calls ObjectFromHandle.

Commit migrated from https://github.com/dotnet/coreclr/commit/958279de27e7f3c30ad53e35277653d1ec0f1e6e

7 years agoAdd way to get table for handle and ADIndex for handletable.
Aditya Mandaleeka [Sat, 1 Apr 2017 00:09:46 +0000 (17:09 -0700)]
Add way to get table for handle and ADIndex for handletable.

Commit migrated from https://github.com/dotnet/coreclr/commit/dab2f6b76a1ed088a871374189e2133db9c9accb

7 years agoAdd Tier0/1 jit flags
noahfalk [Thu, 30 Mar 2017 07:07:59 +0000 (00:07 -0700)]
Add Tier0/1 jit flags

These flags provides a hook to change the JIT policy in the future and diverge tier0/tier1 compilation from min_opt/speed_opt respectively.

Commit migrated from https://github.com/dotnet/coreclr/commit/4561dad3f38f8dd5a9637fc3a0be418abac1f088

7 years agodelete GetMethod2 (dotnet/coreclr#10626)
Sergey Andreenko [Sat, 1 Apr 2017 01:36:06 +0000 (18:36 -0700)]
delete GetMethod2 (dotnet/coreclr#10626)

* delete GetMethod2

* delete unused code

Commit migrated from https://github.com/dotnet/coreclr/commit/654c340d62a48c424d26d034a40bd360670320c0

7 years agoJit: decrement finally nesting level when removing empty trys
Andy Ayers [Sat, 1 Apr 2017 01:13:32 +0000 (18:13 -0700)]
Jit: decrement finally nesting level when removing empty trys

For non-funclet EH models, the GT_END_LFIN statement tracks the
nesting level of the associated finally. When removing a try-finally
with an empty try we need to decrement this level for any try-finallys
nested within the associated finally.

Added a test case with several levels of empty try and nesting.

Closes dotnet/coreclr#10621.

Commit migrated from https://github.com/dotnet/coreclr/commit/b65b40426527f7ee1813ea640ecf1701df66007c

7 years agodelete wrong and unused value (dotnet/coreclr#10634)
Sergey Andreenko [Sat, 1 Apr 2017 01:12:53 +0000 (18:12 -0700)]
delete wrong and unused value (dotnet/coreclr#10634)

Commit migrated from https://github.com/dotnet/coreclr/commit/7877d56386b1af67200640dfb054d71a797a4c18

7 years agoMerge pull request dotnet/coreclr#10467 from helloguo/VectorConversionTest
Bruce Forstall [Sat, 1 Apr 2017 00:19:54 +0000 (17:19 -0700)]
Merge pull request dotnet/coreclr#10467 from helloguo/VectorConversionTest

Add vector conversion tests

Commit migrated from https://github.com/dotnet/coreclr/commit/43588058b0c4290acf2c8ab88e27b2f5700c6122

7 years agoMerge pull request dotnet/coreclr#10619 from BruceForstall/legacynonjit
Bruce Forstall [Sat, 1 Apr 2017 00:14:19 +0000 (17:14 -0700)]
Merge pull request dotnet/coreclr#10619 from BruceForstall/legacynonjit

Add ARM32 legacy altjit build

Commit migrated from https://github.com/dotnet/coreclr/commit/956afbee64bc40862034673049334dfae947245f

7 years agoRemoving Slice on string overloads and adding AsSpan (dotnet/coreclr#10544)
Ahson Ahmed Khan [Sat, 1 Apr 2017 00:10:50 +0000 (17:10 -0700)]
Removing Slice on string overloads and adding AsSpan (dotnet/coreclr#10544)

Commit migrated from https://github.com/dotnet/coreclr/commit/ed2f9533cfcc1b9832d302169d34362da04121fc

7 years agoMerge pull request dotnet/coreclr#10625 from jkotas/debug
Jan Kotas [Fri, 31 Mar 2017 23:15:56 +0000 (16:15 -0700)]
Merge pull request dotnet/coreclr#10625 from jkotas/debug

Move System.Diagnostics.Debug from corefx to coreclr

Commit migrated from https://github.com/dotnet/coreclr/commit/f355c5789d5d7cd6ea10bee326c66f04641cfc90

7 years agoTemporary removing string slice span bench test. (dotnet/coreclr#10617)
Ahson Ahmed Khan [Fri, 31 Mar 2017 22:27:46 +0000 (15:27 -0700)]
Temporary removing string slice span bench test. (dotnet/coreclr#10617)

* Temporary removing string slice bench test.

* Using if false directive to skip breaking tests

Commit migrated from https://github.com/dotnet/coreclr/commit/cb01aa873b8b036dff6301a60d6d4a58f39a0672

7 years agoAdded DisableInlining flag to the ProfileData.
Brian Sullivan [Fri, 31 Mar 2017 01:16:58 +0000 (18:16 -0700)]
Added DisableInlining flag to the ProfileData.
Extended CompileStatus to have both COMPILE_HOT_EXCLUDED and COMPILE_COLD_EXCLUDED.
Fixes the IsNull implementation
Fixes getBBProfileData to handle the case where pos can now be zero

Commit migrated from https://github.com/dotnet/coreclr/commit/ed8ab5793008d3a87d5518458565a30e8d9a0414

7 years ago1. Remove disable of C4996
Rahul Kumar [Wed, 29 Mar 2017 22:31:29 +0000 (15:31 -0700)]
1. Remove disable of C4996
2. delete some dead code
3. Remove implementation of GetOSVersion and hardcode OS version to be 0.0.0
4. Add implementation of IsWindows8OrAbove & IsWinrtSupported (donno why this was deleted earlier)
5. remove GetVersionEx from PAL

Commit migrated from https://github.com/dotnet/coreclr/commit/201c70cc49ff2027fb8ed0ba5e25f56534b04a96

7 years agoAdd altjit build for Windows x86-hosted, Windows ARM32 LEGACY_BACKEND target named...
Bruce Forstall [Fri, 31 Mar 2017 17:11:28 +0000 (10:11 -0700)]
Add altjit build for Windows x86-hosted, Windows ARM32 LEGACY_BACKEND target named legacynonjit.dll

Commit migrated from https://github.com/dotnet/coreclr/commit/9a495edf57e2bfe3ff4967ce2e8f5507f8974be5

7 years agoMerge pull request dotnet/coreclr#10193 from mskvortsov/ryujit-arm32-fix-struct
Bruce Forstall [Fri, 31 Mar 2017 21:21:23 +0000 (14:21 -0700)]
Merge pull request dotnet/coreclr#10193 from mskvortsov/ryujit-arm32-fix-struct

[RyuJIT/ARM32] Fix lvOnFrame for struct args

Commit migrated from https://github.com/dotnet/coreclr/commit/9c0f1af77263535a1035dcccf76f3303f1dd9c9e

7 years agoChange the test hook from interface to delegate
Jan Kotas [Fri, 31 Mar 2017 20:33:53 +0000 (13:33 -0700)]
Change the test hook from interface to delegate

Commit migrated from https://github.com/dotnet/coreclr/commit/6168b219764d53f6a1821c1f6459fe93b69c3da4

7 years agoFix build breaks
Jan Kotas [Fri, 31 Mar 2017 18:45:17 +0000 (11:45 -0700)]
Fix build breaks

Commit migrated from https://github.com/dotnet/coreclr/commit/9b1504c1baccdebe5e3df9dba3d8faaf548a4b2e

7 years agoNS2.0 Inject more missing types into CoreRT by sharing them. (dotnet/coreclr#10613)
Atsushi Kanamori [Fri, 31 Mar 2017 18:41:39 +0000 (11:41 -0700)]
NS2.0 Inject more missing types into CoreRT by sharing them. (dotnet/coreclr#10613)

* NS2.0 Inject more missing types into CoreRT by sharing them.

- ArgIterator was cleaned up for sharing but actually
  sharing it today is too messy with TypedReference
  being in the wrong namespace on half of CoreRT.

  Some preparatory fixes discovered during the
  attempt will be going in on CoreRT...

* Leave RuntimeArgumentHandle and ArgIterator unshared.

Commit migrated from https://github.com/dotnet/coreclr/commit/c8e55616e98b97c66bfb24f194e3fbca68cc152b

7 years agoCopy System.Diagnostics.Debug implementation from corefx
Jan Kotas [Fri, 31 Mar 2017 18:18:51 +0000 (11:18 -0700)]
Copy System.Diagnostics.Debug implementation from corefx

Commit migrated from https://github.com/dotnet/coreclr/commit/d37fd15d5c6388c770742610f651fe3ae16b7eb1

7 years agoFallback for enum.Format(G) when not valid (dotnet/coreclr#10610)
Ben Adams [Fri, 31 Mar 2017 17:50:36 +0000 (18:50 +0100)]
Fallback for enum.Format(G) when not valid (dotnet/coreclr#10610)

Commit migrated from https://github.com/dotnet/coreclr/commit/82e2735a477ffbfd7e8a67f5323c0c964da2a16f

7 years ago[Arm64] Fix GCStress hole in genReturn
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Fri, 31 Mar 2017 15:55:53 +0000 (15:55 +0000)]
[Arm64] Fix GCStress hole in genReturn

Commit migrated from https://github.com/dotnet/coreclr/commit/80a314c64b1e850d1ee6e10e9792a13ae90b22bd

7 years agoPrepare TimeZoneInfo.cs for move to shared partition. (dotnet/coreclr#10606)
Atsushi Kanamori [Fri, 31 Mar 2017 14:20:30 +0000 (07:20 -0700)]
Prepare TimeZoneInfo.cs for move to shared partition. (dotnet/coreclr#10606)

(This is the CoreRT side of https://github.com/dotnet/coreclr/pull/10606)

TimeZoneInfo.cs needs no changes but it brings in
another file CurrentTimeZone.cs.

Which drags in yet another file (Hashtable.cs)
which is widely used inside CoreCLR but aside
from this one file, it seems to be stuff that'll
will never be ported over or already has been
ported over sans Hashtable.

So we'll refactor the memoization logic of
CurrentTimeZone.cs into its own partial file
and share the rest. CoreCLR will use continue to use Hashtable.
CoreRT will use ConcurrentUnifier.

And while we're at it, will rename it to
CurrentSystemTimeZone.cs to match the actual class name.

Once we make a corresponding change on the CoreCLR side,
both TimeZone.cs and CurrentSystemTimeZone.cs will
be fully synced and can move to the shared partition.

Commit migrated from https://github.com/dotnet/coreclr/commit/47931672c057514cac0db20534cee6fe89eb8027

7 years agoAdd assert to GCHeap::ValidateObjectMember (dotnet/coreclr#10591)
Steve MacLean [Fri, 31 Mar 2017 02:06:23 +0000 (22:06 -0400)]
Add assert to GCHeap::ValidateObjectMember (dotnet/coreclr#10591)

In presence of a corrupt heap, objects can contain
null method table.  Add assertion to prevent segfault
in checked/debug builds.

Commit migrated from https://github.com/dotnet/coreclr/commit/07fa3a32336d2da5d2bf652ad01d33f18b2debaf

7 years agoAdd test coverage for ldtoken of open generic methods (dotnet/coreclr#10592)
Michal Strehovský [Fri, 31 Mar 2017 02:00:24 +0000 (19:00 -0700)]
Add test coverage for ldtoken of open generic methods (dotnet/coreclr#10592)

Commit migrated from https://github.com/dotnet/coreclr/commit/216d972cd87e1dab8e45862e64cc1b53abac3f1b

7 years agoMerge pull request dotnet/coreclr#10593 from dotnet/standaloneservergc
Jeff Schwartz [Thu, 30 Mar 2017 23:37:42 +0000 (16:37 -0700)]
Merge pull request dotnet/coreclr#10593 from dotnet/standaloneservergc

Enable StandAloneGC and Server GC

Commit migrated from https://github.com/dotnet/coreclr/commit/f05f934610d029f3f55720e4d2602c774cf8bae2

7 years ago[Ryujit/ARM32][ReadyToRun] Fix invocation to Thunk (dotnet/coreclr#10348)
Hyung-Kyu Choi [Thu, 30 Mar 2017 22:40:19 +0000 (07:40 +0900)]
[Ryujit/ARM32][ReadyToRun] Fix invocation to Thunk (dotnet/coreclr#10348)

Fix invocation to Thunk code from code generated from ReadyToRun.
Thunk code for ARM32 accept r12 as a parameter.

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/99adda23317d943eb2644ffd87798e0e264d426b

7 years agoEnable CROSS for testing (dotnet/coreclr#10594)
Matt Mitchell [Thu, 30 Mar 2017 22:05:38 +0000 (15:05 -0700)]
Enable CROSS for testing (dotnet/coreclr#10594)

Commit migrated from https://github.com/dotnet/coreclr/commit/326218797daf5e749081c83fc3ae90e23337c784

7 years agoMerge pull request dotnet/coreclr#10513 from briansull/profile-data
Brian Sullivan [Thu, 30 Mar 2017 22:03:49 +0000 (15:03 -0700)]
Merge pull request dotnet/coreclr#10513 from briansull/profile-data

Crossgen support for ExcludeHotMethodCode and ExcludeColdMethodCode

Commit migrated from https://github.com/dotnet/coreclr/commit/267f252cdfb3d05e970e637a19448b08ab0393bf

7 years agoFix Issue dotnet/coreclr#10022. (dotnet/coreclr#10587)
Pat Gavlin [Thu, 30 Mar 2017 22:02:10 +0000 (15:02 -0700)]
Fix Issue dotnet/coreclr#10022. (dotnet/coreclr#10587)

This issue occurred because the JIT currently inserts the P/Invoke
method prolog into the first block of a function without ensuring that
this block will only execute once. This is not safe, as executing the
P/Invoke prolog multiple times can create cycles in the frame list and
casue the stack unwinder to hang.

This change ensures that lowering inserts a new, single-entry basic
block at the beginning of the function for functions that require P/Invoke prologs.

Commit migrated from https://github.com/dotnet/coreclr/commit/9b342387cd8e75249609d30ab79f05193f714e80

7 years agoFix tabs and spaces
Jeff Schwartz [Thu, 30 Mar 2017 22:01:26 +0000 (15:01 -0700)]
Fix tabs and spaces

Commit migrated from https://github.com/dotnet/coreclr/commit/67a8ef7380e9e30f10e67d3b34898903e6d18946