platform/upstream/dotnet/runtime.git
7 years agoMerge pull request dotnet/coreclr#8751 from mellinoe/corelibraries-unix
Eric Mellino [Tue, 3 Jan 2017 22:07:59 +0000 (14:07 -0800)]
Merge pull request dotnet/coreclr#8751 from mellinoe/corelibraries-unix

Add CORE_LIBRARIES to the TPA list if it's set in unixcoreruncommon

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

7 years agoRemove unnecessary `canEndWithoutSeparator` parameter (dotnet/coreclr#8786)
Justin Van Patten [Tue, 3 Jan 2017 22:02:38 +0000 (14:02 -0800)]
Remove unnecessary `canEndWithoutSeparator` parameter (dotnet/coreclr#8786)

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

7 years agoTimeZoneInfo.StringSerializer can be a struct (dotnet/coreclr#8784)
Justin Van Patten [Tue, 3 Jan 2017 21:51:26 +0000 (13:51 -0800)]
TimeZoneInfo.StringSerializer can be a struct (dotnet/coreclr#8784)

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

7 years agoAdjust ref counts during EH normalization (dotnet/coreclr#8713)
Andy Ayers [Tue, 3 Jan 2017 21:30:09 +0000 (13:30 -0800)]
Adjust ref counts during EH normalization (dotnet/coreclr#8713)

EH normalization can leave incorrect ref counts. This caused asserts in a few
cases with the forthcoming finally cloning, as these EH related blocks were
exposed to flow optimizations.

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

7 years agoTimeZoneInfo.StringSerializer: Avoid some unnecessary allocations (dotnet/coreclr...
Justin Van Patten [Tue, 3 Jan 2017 20:00:46 +0000 (12:00 -0800)]
TimeZoneInfo.StringSerializer: Avoid some unnecessary allocations (dotnet/coreclr#8783)

Instead of using multiple calls to `string.Replace` to escape reserved
chars before appending to a `StringBuilder`, do the replacing while
appending the chars directly to the `StringBuilder`.

Also, append numbers/dates directly instead of running it through the
escape method, as these Invariant-formatted strings will not contain any
chars that need to be escaped.

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

7 years agoOnly add CORE_LIBRARIES to TPA list if it is different from clrFilesAbsolutePath
Eric Mellino [Tue, 3 Jan 2017 19:22:13 +0000 (11:22 -0800)]
Only add CORE_LIBRARIES to TPA list if it is different from clrFilesAbsolutePath

This avoids placing duplicate entries on the TPA list.

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

7 years agoMerge pull request dotnet/coreclr#8785 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Tue, 3 Jan 2017 19:15:03 +0000 (11:15 -0800)]
Merge pull request dotnet/coreclr#8785 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24903-03, beta-24903-02, respectively (master)

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

7 years agoUpdate CoreClr, CoreFx to beta-24903-03, beta-24903-02, respectively
dotnet-bot [Tue, 3 Jan 2017 17:42:21 +0000 (17:42 +0000)]
Update CoreClr, CoreFx to beta-24903-03, beta-24903-02, respectively

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

7 years agoMerge pull request dotnet/coreclr#8777 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Tue, 3 Jan 2017 16:10:15 +0000 (08:10 -0800)]
Merge pull request dotnet/coreclr#8777 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24903-02, beta-24903-01, respectively (master)

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

7 years agoArrayPool fixes (dotnet/coreclr#8774)
Jan Kotas [Tue, 3 Jan 2017 14:13:46 +0000 (06:13 -0800)]
ArrayPool fixes (dotnet/coreclr#8774)

* Use Array.Empty<T>() to make the code identical to CoreRT copy
The internal EmptyArray<T> does not exist in CoreRT.
* Remove unnecessary helper type for lazy initialization
All generic types are beforefieldinit by design.
* Use | for clarity

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

7 years agoUpdate CoreClr, CoreFx to beta-24903-02, beta-24903-01, respectively
dotnet-bot [Tue, 3 Jan 2017 09:48:14 +0000 (09:48 +0000)]
Update CoreClr, CoreFx to beta-24903-02, beta-24903-01, respectively

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

7 years agoTimeZoneInfo: Reduce intermediate allocations in GetTimeZoneIds on Unix (dotnet/corec...
Justin Van Patten [Tue, 3 Jan 2017 04:41:04 +0000 (20:41 -0800)]
TimeZoneInfo: Reduce intermediate allocations in GetTimeZoneIds on Unix (dotnet/coreclr#8769)

Avoid intermediate underlying array allocations as items are added to
the resulting List<string> by specifying the capacity. Also, change
the signature of the private method to return List<string> instead of
IEnumerable<string> to avoid the enumerator allocation when enumerating
the ids.

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

7 years agoUpdate CoreClr, CoreFx to beta-24902-03, beta-24902-02, respectively (dotnet/coreclr...
dotnet bot [Tue, 3 Jan 2017 00:50:22 +0000 (16:50 -0800)]
Update CoreClr, CoreFx to beta-24902-03, beta-24902-02, respectively (dotnet/coreclr#8745)

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

7 years ago[Linux/ARM32] duplicated definition in crosscomp.h (dotnet/coreclr#8729)
Hyeongseok Oh [Mon, 2 Jan 2017 22:37:42 +0000 (07:37 +0900)]
[Linux/ARM32] duplicated definition in crosscomp.h (dotnet/coreclr#8729)

Some structs in crosscomp.h are already defined in pal.h or palrt.h
Fix to avoid duplicated definition

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

7 years ago[x86/Linux] Fix UMThunkStub calling convension (dotnet/coreclr#8714)
SaeHie Park [Mon, 2 Jan 2017 14:59:40 +0000 (23:59 +0900)]
[x86/Linux] Fix UMThunkStub calling convension (dotnet/coreclr#8714)

This fixes reverse P/Invoke segment faults by handling cdecl from UM to
fastcall for Managed code, which corrects many CoreFX unit test cases including CharMinValue.exe.
First and second parameter(s) are set to ECX, EDX and rest to the stack.

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

7 years agoDelete unused Diagnostics files (dotnet/coreclr#8754)
James Ko [Mon, 2 Jan 2017 04:25:45 +0000 (23:25 -0500)]
Delete unused Diagnostics files (dotnet/coreclr#8754)

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

7 years agoDelete unused Threading types/members (dotnet/coreclr#8766)
James Ko [Mon, 2 Jan 2017 01:40:39 +0000 (20:40 -0500)]
Delete unused Threading types/members (dotnet/coreclr#8766)

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

7 years agoDelete unused SymbolStore files (dotnet/coreclr#8767)
James Ko [Mon, 2 Jan 2017 01:32:07 +0000 (20:32 -0500)]
Delete unused SymbolStore files (dotnet/coreclr#8767)

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

7 years agoDelete unused IO files (dotnet/coreclr#8753)
James Ko [Sun, 1 Jan 2017 01:25:17 +0000 (20:25 -0500)]
Delete unused IO files (dotnet/coreclr#8753)

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

7 years agoMerge pull request dotnet/coreclr#8755 from JosephTremoulet/DeadParam
Joseph Tremoulet [Sat, 31 Dec 2016 21:43:23 +0000 (16:43 -0500)]
Merge pull request dotnet/coreclr#8755 from JosephTremoulet/DeadParam

Remove dead parameter in value-numbering

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

7 years agoRemove dead parameter in value-numbering
Joseph Tremoulet [Fri, 30 Dec 2016 16:29:49 +0000 (11:29 -0500)]
Remove dead parameter in value-numbering

Parameter `newVNsForPhis` of method `fgValueNumberBasicBlocks` is unused;
its presence and comment are confusing/misleading.  What actually happens
is that `fgValueNumberBlock` itself checks whether the value numbers for
incoming Phi args' SSA defs are defined yet or not.

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

7 years agoAdd CORE_LIBRARIES to the TPA list if it's set in unixcoreruncommon
Eric Mellino [Thu, 29 Dec 2016 22:53:46 +0000 (14:53 -0800)]
Add CORE_LIBRARIES to the TPA list if it's set in unixcoreruncommon

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

7 years agoMerge pull request dotnet/coreclr#8743 from sandreenko/an-additional-shift-test
sandreenko [Thu, 29 Dec 2016 01:02:01 +0000 (17:02 -0800)]
Merge pull request dotnet/coreclr#8743 from sandreenko/an-additional-shift-test

an additional shift test. fix dotnet/coreclr#7216 .

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

7 years agoTypo in documentation (dotnet/coreclr#8740)
darxis [Wed, 28 Dec 2016 22:51:30 +0000 (23:51 +0100)]
Typo in documentation (dotnet/coreclr#8740)

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

7 years agoUpdate CoreClr, CoreFx to beta-24828-03, beta-24828-03, respectively (dotnet/coreclr...
dotnet bot [Wed, 28 Dec 2016 22:48:41 +0000 (14:48 -0800)]
Update CoreClr, CoreFx to beta-24828-03, beta-24828-03, respectively (dotnet/coreclr#8741)

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

7 years agoan additional shift test. fix dotnet/coreclr#7216 .
Sergey Andreenko [Wed, 28 Dec 2016 20:35:30 +0000 (12:35 -0800)]
an additional shift test. fix dotnet/coreclr#7216 .

Test long and ulong shifts by 0, 32 and 64 constants.

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

7 years agoMerge pull request dotnet/coreclr#8738 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Wed, 28 Dec 2016 16:33:01 +0000 (08:33 -0800)]
Merge pull request dotnet/coreclr#8738 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-24828-02 (master)

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

7 years agoFix order of raising AssemblyLoadContext.Unloading and AppDomain.ProcessExit (dotnet...
Caio Kinelski [Wed, 28 Dec 2016 16:11:05 +0000 (08:11 -0800)]
Fix order of raising AssemblyLoadContext.Unloading and AppDomain.ProcessExit (dotnet/coreclr#8737)

The AssemblyLoadContext.Unloading event must be raised before the AppDomain.ProcessExit event.
AssemblyLoadContext.OnUnloading now subscribes to AppContext.Unloading.
Then AppContext.OnAppContextUnloading and AppContext.OnProcessExit, in that order, subscribe to AppDomain.ProcessExit.
Part of fix for dotnet/corefxdotnet/coreclr#14566

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

7 years agoFix Bitposition funtion (dotnet/coreclr#8739)
Hyeongseok Oh [Wed, 28 Dec 2016 15:33:04 +0000 (00:33 +0900)]
Fix Bitposition funtion (dotnet/coreclr#8739)

Fix Bitposition(value) function implementation to check platform, not target.
- cross-architecture component build error for ARM32/linux

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

7 years agoUpdate CoreClr to beta-24828-02
dotnet-bot [Wed, 28 Dec 2016 09:42:01 +0000 (09:42 +0000)]
Update CoreClr to beta-24828-02

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

7 years agoMerge pull request dotnet/coreclr#8734 from justinvp/tzi_files
Jan Kotas [Wed, 28 Dec 2016 03:35:37 +0000 (19:35 -0800)]
Merge pull request dotnet/coreclr#8734 from justinvp/tzi_files

TimeZoneInfo: Move nested types and Win32/Unix implementations to separate files

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

7 years agoUpdate issue guide (dotnet/coreclr#8728)
Jan Kotas [Wed, 28 Dec 2016 03:33:07 +0000 (19:33 -0800)]
Update issue guide (dotnet/coreclr#8728)

* Revert "Update IssuesFeedbackEngagement.md"

This reverts commit dotnet/coreclr@124754f2f5382f2781db8f132e3c89d21b56600b.

* Update wording

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

7 years agoRemove ifdefs from TimeZoneInfo
Justin Van Patten [Tue, 27 Dec 2016 22:49:32 +0000 (14:49 -0800)]
Remove ifdefs from TimeZoneInfo

Move Win32 and Unix -specific implementation details to their own files.

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

7 years agoMerge pull request dotnet/coreclr#8712 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Tue, 27 Dec 2016 19:03:39 +0000 (11:03 -0800)]
Merge pull request dotnet/coreclr#8712 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24827-03, beta-24827-01, respectively (master)

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

7 years agoUpdate CoreClr, CoreFx to beta-24827-03, beta-24827-01, respectively
dotnet-bot [Tue, 27 Dec 2016 17:35:38 +0000 (17:35 +0000)]
Update CoreClr, CoreFx to beta-24827-03, beta-24827-01, respectively

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

7 years agoMove nested TimeZoneInfo types to their own files
Justin Van Patten [Mon, 26 Dec 2016 19:40:01 +0000 (11:40 -0800)]
Move nested TimeZoneInfo types to their own files

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

7 years agoRemove files related to legacy build system (dotnet/coreclr#8723)
Robert [Mon, 26 Dec 2016 19:25:24 +0000 (19:25 +0000)]
Remove files related to legacy build system (dotnet/coreclr#8723)

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

7 years agoTimeZoneInfo Cleanup (dotnet/coreclr#8720)
Justin Van Patten [Sun, 25 Dec 2016 07:53:44 +0000 (23:53 -0800)]
TimeZoneInfo Cleanup (dotnet/coreclr#8720)

Update TimeZoneInfo to use CoreFX coding style and other minor cleanup.

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

7 years agoImprove ArrayPool core affinity (dotnet/coreclr#8716)
Jan Kotas [Fri, 23 Dec 2016 18:19:52 +0000 (10:19 -0800)]
Improve ArrayPool core affinity (dotnet/coreclr#8716)

- Move the ExecutionId to non-generic type so that it can be shared by all ArrayPool instances.
- Add logic to refresh it periodically. It avoids pathological cases where the OS scheduler ends up reassigns the preferred cores and multiple active threads start competing over the same buckets.
- Removed flushing of ExecutionId on LockedStack lock contention since it was not very effective

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

7 years agoRemove all usage of vsnprintf (dotnet/coreclr#8709)
Jan Vorlicek [Fri, 23 Dec 2016 13:41:28 +0000 (14:41 +0100)]
Remove all usage of vsnprintf (dotnet/coreclr#8709)

This change removes all usages of vsnprintf and modifies runtime to not to use
vsnprintf or _vsnprintf

I've also fixed two issues in PAL TRACE function string format parameters that
caused crashes when I was trying to run all PAL tests with PAL tracing enabled.

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

7 years ago[Linux] Fix cross-architecture component build configuration for ARM32-target (dotnet...
Hyeongseok Oh [Fri, 23 Dec 2016 13:18:32 +0000 (22:18 +0900)]
[Linux] Fix cross-architecture component build configuration for ARM32-target (dotnet/coreclr#8687)

* fix CMakeLists.txt for palrt

* Modify CMakeLists.txt for cross-architecture component configuaration

Add coreclrpal project to fix a dependency issue when CMake configuration

* Allow only x64-host/arm-target for linux

allow x64-host/arm-target only, because pal is not stable for x86 now

* Update build.sh

delete NumProc=1 (inserted for debugging)

* Change x64-host to x86-host for arm-target

JIT correctness problem,
and fix CMake configuration for x86 in pal

* Fix type

* Update CMakeLists.txt

* fix style

* Set x86 when arm-target/x64-host

* fix typo

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

7 years agoMerge pull request dotnet/coreclr#8707 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Thu, 22 Dec 2016 19:05:52 +0000 (11:05 -0800)]
Merge pull request dotnet/coreclr#8707 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24822-03, beta-24822-03, respectively (master)

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

7 years agoMerge pull request dotnet/coreclr#8680 from mskvortsov/ryujit-arm32-backend
Carol Eidt [Thu, 22 Dec 2016 18:52:39 +0000 (10:52 -0800)]
Merge pull request dotnet/coreclr#8680 from mskvortsov/ryujit-arm32-backend

[WIP] ARM32 RyuJIT backend

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

7 years agoMerge pull request dotnet/coreclr#8682 from adiaaida/newjobs
Michelle McDaniel [Thu, 22 Dec 2016 18:23:14 +0000 (10:23 -0800)]
Merge pull request dotnet/coreclr#8682 from adiaaida/newjobs

Script to run CoreFx tests against a private CoreCLR

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

7 years agoUpdate CoreClr, CoreFx to beta-24822-03, beta-24822-03, respectively
dotnet-bot [Thu, 22 Dec 2016 17:29:49 +0000 (17:29 +0000)]
Update CoreClr, CoreFx to beta-24822-03, beta-24822-03, respectively

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

7 years agoARM: A step towards the RyuJIT/ARM32 backend.
Mikhail Skvortcov [Fri, 16 Dec 2016 10:41:10 +0000 (13:41 +0300)]
ARM: A step towards the RyuJIT/ARM32 backend.

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

7 years agoAdding ValueTuple and ITuple to corlib in CoreCLR (dotnet/coreclr#8695)
Julien Couvreur [Thu, 22 Dec 2016 07:01:38 +0000 (23:01 -0800)]
Adding ValueTuple and ITuple to corlib in CoreCLR (dotnet/coreclr#8695)

* Adding ValueTuple
* Adding ITuple
* Porting equality comparer optimization from corefx PR dotnet/coreclr#14187

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

7 years agoDelete FEATURE_LEGACYSURFACE (dotnet/coreclr#8704)
Jan Kotas [Thu, 22 Dec 2016 04:08:37 +0000 (20:08 -0800)]
Delete FEATURE_LEGACYSURFACE (dotnet/coreclr#8704)

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

7 years agoMerge pull request dotnet/coreclr#8706 from sivarv/simdAbs
Sivarv [Thu, 22 Dec 2016 01:34:39 +0000 (17:34 -0800)]
Merge pull request dotnet/coreclr#8706 from sivarv/simdAbs

Use Pabsd/pabsw/pabsb instructions for Abs SIMD intrinsic on SSE3_4 and above targets.

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

7 years agoUse Pabsd/pabsw/pabsb instructions for Abs SIMD intrinsic on SSE4 and above targets.
sivarv [Wed, 21 Dec 2016 23:17:08 +0000 (15:17 -0800)]
Use Pabsd/pabsw/pabsb instructions for Abs SIMD intrinsic on SSE4 and above targets.

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

7 years agoMove EditorBrowsableAttribute to CoreLib (dotnet/coreclr#8703)
Jan Kotas [Wed, 21 Dec 2016 20:49:34 +0000 (12:49 -0800)]
Move EditorBrowsableAttribute to CoreLib (dotnet/coreclr#8703)

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

7 years agoMerge pull request dotnet/coreclr#8701 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Wed, 21 Dec 2016 19:27:39 +0000 (11:27 -0800)]
Merge pull request dotnet/coreclr#8701 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24821-04, beta-24821-02, respectively (master)

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

7 years agoMerge pull request dotnet/coreclr#8697 from sivarv/lockAddFix
Sivarv [Wed, 21 Dec 2016 18:30:14 +0000 (10:30 -0800)]
Merge pull request dotnet/coreclr#8697 from sivarv/lockAddFix

Fix GT_LOCKADD register specification.

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

7 years agoUpdate CoreClr, CoreFx to beta-24821-04, beta-24821-02, respectively
dotnet-bot [Wed, 21 Dec 2016 17:40:47 +0000 (17:40 +0000)]
Update CoreClr, CoreFx to beta-24821-04, beta-24821-02, respectively

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

7 years agoMerge pull request dotnet/coreclr#8696 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Wed, 21 Dec 2016 15:53:33 +0000 (07:53 -0800)]
Merge pull request dotnet/coreclr#8696 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24821-03, beta-24821-01, respectively (master)

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

7 years agoRemove FEATURE_BLC_FORMATTING (dotnet/coreclr#8699)
Jan Vorlicek [Wed, 21 Dec 2016 15:42:51 +0000 (16:42 +0100)]
Remove FEATURE_BLC_FORMATTING (dotnet/coreclr#8699)

This feature is always defined and the PAL functions that would be used
if the feature was not defined are not in PAL anymore.

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

7 years agoUpdate CoreClr, CoreFx to beta-24821-03, beta-24821-01, respectively
dotnet-bot [Wed, 21 Dec 2016 09:30:01 +0000 (09:30 +0000)]
Update CoreClr, CoreFx to beta-24821-03, beta-24821-01, respectively

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

7 years agoFix GT_LOCKADD register specification.
sivarv [Wed, 21 Dec 2016 01:25:29 +0000 (17:25 -0800)]
Fix GT_LOCKADD register specification.

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

7 years agoSplit netci functions into smaller functions
Michelle McDaniel [Tue, 20 Dec 2016 18:19:28 +0000 (10:19 -0800)]
Split netci functions into smaller functions

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

7 years agoMerge pull request dotnet/coreclr#8670 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Tue, 20 Dec 2016 21:57:00 +0000 (13:57 -0800)]
Merge pull request dotnet/coreclr#8670 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24820-02, beta-24820-02, respectively (master)

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

7 years agoMerge pull request dotnet/coreclr#8693 from JosephTremoulet/ValueNumberField
Joseph Tremoulet [Tue, 20 Dec 2016 21:01:44 +0000 (16:01 -0500)]
Merge pull request dotnet/coreclr#8693 from JosephTremoulet/ValueNumberField

Use field type value-numbering local field stores

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

7 years agoUse field type value-numbering local field stores
Joseph Tremoulet [Tue, 20 Dec 2016 18:23:58 +0000 (10:23 -0800)]
Use field type value-numbering local field stores

Method `VNPairApplySelectorsAssign` takes the type of the value being
assigned, so when processing a store to a field of a local struct, pass
the type of the field rather than the type of the local; failure to do so
was blocking propagation of the value number to subsequent loads of the
same field due to the type mismatch.

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

7 years agoUpdate CoreClr, CoreFx to beta-24820-02, beta-24820-02, respectively
dotnet-bot [Tue, 20 Dec 2016 16:22:57 +0000 (16:22 +0000)]
Update CoreClr, CoreFx to beta-24820-02, beta-24820-02, respectively

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

7 years agoChange wrong indentations in GetSecureInvoke() codes (dotnet/coreclr#8688)
Sujin Kim [Tue, 20 Dec 2016 15:46:13 +0000 (00:46 +0900)]
Change wrong indentations in GetSecureInvoke() codes (dotnet/coreclr#8688)

In the before dotnet/coreclr#8592 merged PR, several indentations in modified GetSecureInvoke method were wrong.
So I request additional fixed PR.

1. 2 space indentations -> 4 spaces
2. tab indentation -> 4 spaces

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

7 years agoARM: do not use unpredictable sub.w sp, rN, #imm (dotnet/coreclr#8636)
mskvortsov [Tue, 20 Dec 2016 09:48:38 +0000 (12:48 +0300)]
ARM: do not use unpredictable sub.w sp, rN, #imm (dotnet/coreclr#8636)

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

7 years ago[x86/Linux] Implement libunwind-based unwindLazyStack (dotnet/coreclr#8686)
Jonghyun Park [Tue, 20 Dec 2016 09:31:52 +0000 (18:31 +0900)]
[x86/Linux] Implement libunwind-based unwindLazyStack (dotnet/coreclr#8686)

* [x86/Linux] Implement libunwind-based unwindLazyStack

This commit implements libunwind-based unwindLazyStack for x86/Linux
in order to fix dotnet/coreclr#8625.

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

7 years agoFix the bug that Secure Delegate Stubs are compiled every time. (dotnet/coreclr#8592)
Sujin Kim [Tue, 20 Dec 2016 06:53:51 +0000 (15:53 +0900)]
Fix the bug that Secure Delegate Stubs are compiled every time. (dotnet/coreclr#8592)

* Fix the bug that Secure Delegate Stubs are compiled every time.

I found that Secure Delegate stubs are compiled every time during application execution, which has a negative impact on execution performance. dotnet/coreclr#8554

Like the GetMulticastInvoke() method, GetSecureInvoke() checks the hashtable when the method is executed and uses it if it already exists.

* Fix pDelMT bug and change file rights

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

7 years agoScript to run CoreFx tests against a private CoreCLR
Russ Keldorph [Tue, 8 Nov 2016 12:45:52 +0000 (04:45 -0800)]
Script to run CoreFx tests against a private CoreCLR

Move the increasingly complex logic required for the CI to run CoreFx
tests from the CoreCLR repo into a separate script.

Also enable automated CoreFx jitstress testing for x86.

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

7 years agoMerge pull request dotnet/coreclr#8681 from gkhanna79/PNBBuildPkg
William Godbe [Mon, 19 Dec 2016 20:15:33 +0000 (12:15 -0800)]
Merge pull request dotnet/coreclr#8681 from gkhanna79/PNBBuildPkg

Update build-packages.sh to support portableLinux

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

7 years agoUpdate build-packages.sh to support portableLinux
Gaurav Khanna [Mon, 19 Dec 2016 19:54:51 +0000 (11:54 -0800)]
Update build-packages.sh to support portableLinux

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

7 years agoAdd Encoding.GetBytes(string, offset, count) (dotnet/coreclr#8651)
Alexander Radchenko [Mon, 19 Dec 2016 19:39:26 +0000 (02:39 +0700)]
Add Encoding.GetBytes(string, offset, count) (dotnet/coreclr#8651)

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

7 years agoFix DllImport of IdnToAscii & IdnToUnicode (dotnet/coreclr#8666)
John Chen [Mon, 19 Dec 2016 19:17:25 +0000 (11:17 -0800)]
Fix DllImport of IdnToAscii & IdnToUnicode (dotnet/coreclr#8666)

Fix an issue found in OneCoreUAP testing. According to MSDN,
the official exporting DLL for IdnToAccii and IdnToUnicode
is normaliz.dll, not kernel32.dll. While most Windows SKUs
export these functions from both normaliz.dll and kernel32.dll,
recent tests revealed that some Windows SKUs export them from
normaliz.dll only.

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

7 years agoMerge pull request dotnet/coreclr#8674 from AndyAyersMS/BiggerBlockFlag
Andy Ayers [Mon, 19 Dec 2016 17:36:38 +0000 (09:36 -0800)]
Merge pull request dotnet/coreclr#8674 from AndyAyersMS/BiggerBlockFlag

Widen basic block flag field to 64 bits

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

7 years ago[Linux][GDB-JIT] Fix bugs in gdbjit that break lldb stepping (dotnet/coreclr#8637)
Igor Kulaychuk [Mon, 19 Dec 2016 11:03:59 +0000 (14:03 +0300)]
[Linux][GDB-JIT] Fix bugs in gdbjit that break lldb stepping (dotnet/coreclr#8637)

* Fix .text and .thunk symbols overlapping

When current method calls itself, a __thunk* symbol might be generated with the same address
as the method symbol in .text section. Avoid generating such __thunk* symbol.

* Do not create DWARF line table entries with the same address

* For each HiddenLine assign a zero line number in DWARF

Allow LLDB to to skip HiddenLines when stepping.

* Fix __thunk symbols containing garbage

Fix a bug when __thunk* symbols of previously compiled methods cause
generation of __thunk* symbols for currently compiled method without
filling symbol info.

* Fix missing check for the end of list of compiled methods

* Remove unnecessary check for zero prevLine in gdbjit

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

7 years ago[x86/Linux] Add UMThunkStub (dotnet/coreclr#8627)
SaeHie Park [Mon, 19 Dec 2016 10:03:37 +0000 (19:03 +0900)]
[x86/Linux] Add UMThunkStub (dotnet/coreclr#8627)

Add UMThunkStub method with logic from that of AMD64

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

7 years agoFixing up the arm subsystem versions (dotnet/coreclr#8676)
Peter Marcu [Mon, 19 Dec 2016 02:32:05 +0000 (18:32 -0800)]
Fixing up the arm subsystem versions (dotnet/coreclr#8676)

* Adding arm64 and updating default subsystems

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

7 years agoRemove Read/WriteProcessMemory from PAL. (dotnet/coreclr#8655)
Mike McLaughlin [Sun, 18 Dec 2016 22:48:36 +0000 (14:48 -0800)]
Remove Read/WriteProcessMemory from PAL. (dotnet/coreclr#8655)

Ifdef more unused code that uses ReadProcessMemory. Move the current
memory probing in the transport to PAL_ProbeMemory. Add PAL_ProbeMemory
to dac PAL exports.

PAL_ProbeMemory may be changed to use write/read on a pipe to
validate the memory as soon as we make it perform as well as
the current code.

Remove ReadProcessMemory tests and add PAL_ProbeMemory pal tests.

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

7 years agoUse ExecutionPolicy ByPass to execute probe-win.ps1 script during the build (dotnet...
Jan Kotas [Sun, 18 Dec 2016 07:44:29 +0000 (23:44 -0800)]
Use ExecutionPolicy ByPass to execute probe-win.ps1 script during the build (dotnet/coreclr#8673)

Port of https://github.com/dotnet/corert/issues/2377

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

7 years agoWiden basic block flag field to 64 bits
Andy Ayers [Sun, 18 Dec 2016 01:03:49 +0000 (17:03 -0800)]
Widen basic block flag field to 64 bits

Flag field is currently full, and I need at least one more bit to identify
the start of a cloned finally.

Widen to 64 bits and update a few uses. Also removed an unused copy.

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

7 years agoMerge pull request dotnet/coreclr#8668 from gkhanna79/PNBRid
Gaurav Khanna [Sat, 17 Dec 2016 01:33:49 +0000 (17:33 -0800)]
Merge pull request dotnet/coreclr#8668 from gkhanna79/PNBRid

Packaging support for portable Linux binaries.

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

7 years agoPackaging support for portable Linux binaries.
Gaurav Khanna [Fri, 16 Dec 2016 20:47:08 +0000 (12:47 -0800)]
Packaging support for portable Linux binaries.

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

7 years agoMerge pull request dotnet/coreclr#8664 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Fri, 16 Dec 2016 21:52:33 +0000 (13:52 -0800)]
Merge pull request dotnet/coreclr#8664 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-24816-04 (master)

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

7 years agoAvoid Unsafe.AsRef in Span<T> implementation (dotnet/coreclr#8657)
Jan Kotas [Fri, 16 Dec 2016 21:45:48 +0000 (13:45 -0800)]
Avoid Unsafe.AsRef in Span<T> implementation (dotnet/coreclr#8657)

The JIT is not able to inline the current implementation of Unsafe.AsRef because of it has type mismatch on return. Change the the corelib Span to call Unsafe.As instead since fixing the type mismatch is not easy in the internal corelib version of Unsafe.AsRef.

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

7 years agoDictionary.GetValueOrDefault (dotnet/coreclr#8641)
Alexander Radchenko [Fri, 16 Dec 2016 21:06:41 +0000 (04:06 +0700)]
Dictionary.GetValueOrDefault (dotnet/coreclr#8641)

* Dictionary.GetValueOrDefault

* Fixed IDictionary.TryGetValue

* remove extensions

* // Method similar to TryGetValue that returns the value instead of putting it in an out param.

* public TValue GetValueOrDefault(TKey key) => GetValueOrDefault(key, default(TValue));

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

7 years agoUpdate CoreClr to beta-24816-04
dotnet-bot [Fri, 16 Dec 2016 19:40:29 +0000 (19:40 +0000)]
Update CoreClr to beta-24816-04

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

7 years agoFix buildsystem for linux cross-architecture component build (dotnet/coreclr#8646)
Hyeongseok Oh [Fri, 16 Dec 2016 19:06:16 +0000 (04:06 +0900)]
Fix buildsystem for linux cross-architecture component build (dotnet/coreclr#8646)

* Fix buildsystem for linux cross-architecture component build

* refactoring build.sh, bug fix and typo fix

* Update build.sh

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

7 years agoMakes CultureInfo.get_Parent thread safe (dotnet/coreclr#8656)
Rama krishnan Raghupathy [Fri, 16 Dec 2016 18:31:45 +0000 (10:31 -0800)]
Makes CultureInfo.get_Parent thread safe (dotnet/coreclr#8656)

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

7 years agoMerge pull request dotnet/coreclr#8659 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Fri, 16 Dec 2016 18:04:46 +0000 (10:04 -0800)]
Merge pull request dotnet/coreclr#8659 from dotnet-bot/master-UpdateDependencies

Update CoreFx to beta-24816-02 (master)

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

7 years agoUpdate CoreFx to beta-24816-02
dotnet-bot [Fri, 16 Dec 2016 15:49:19 +0000 (15:49 +0000)]
Update CoreFx to beta-24816-02

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

7 years ago[Linux][GDB-JIT] Add try/catch blocks to methods in DWARF (dotnet/coreclr#8650)
Igor Kulaychuk [Fri, 16 Dec 2016 13:05:25 +0000 (16:05 +0300)]
[Linux][GDB-JIT] Add try/catch blocks to methods in DWARF (dotnet/coreclr#8650)

* Add try/catch blocks to DWARF info

Use info about exception handling from IL and map it to
native code as try/catch blocks in DWARF.

* Improve locals naming convention consistency in gdbjit

* Drop pointer to line info from FunctionMember after it is dumped

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

7 years agoMake it easier to use StringComparison & StringComparer with GetHashCode (dotnet...
Alexander Radchenko [Thu, 15 Dec 2016 23:24:14 +0000 (06:24 +0700)]
Make it easier to use StringComparison & StringComparer with GetHashCode (dotnet/coreclr#8633)

* Make it easier to use StringComparison & StringComparer with GetHashCode

* model.xml

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

7 years agoSwitch GCSample to the canonical GCToOSInterface implementation (dotnet/coreclr#8653)
Jan Kotas [Thu, 15 Dec 2016 22:26:48 +0000 (14:26 -0800)]
Switch GCSample to the canonical GCToOSInterface implementation (dotnet/coreclr#8653)

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

7 years agoMerge pull request dotnet/coreclr#8649 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Thu, 15 Dec 2016 21:36:26 +0000 (13:36 -0800)]
Merge pull request dotnet/coreclr#8649 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24815-03, beta-24815-03, respectively (master)

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

7 years agoMerge pull request dotnet/coreclr#8642 from CarolEidt/Fix359736
Carol Eidt [Thu, 15 Dec 2016 19:02:19 +0000 (11:02 -0800)]
Merge pull request dotnet/coreclr#8642 from CarolEidt/Fix359736

Correctly sequence fgMorphModToSubMulDiv

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

7 years agoUpdate CoreClr, CoreFx to beta-24815-03, beta-24815-03, respectively
dotnet-bot [Thu, 15 Dec 2016 17:39:00 +0000 (17:39 +0000)]
Update CoreClr, CoreFx to beta-24815-03, beta-24815-03, respectively

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

7 years agoRemove API Set dependency (dotnet/coreclr#8624)
John Chen [Thu, 15 Dec 2016 16:47:23 +0000 (08:47 -0800)]
Remove API Set dependency (dotnet/coreclr#8624)

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

7 years agoMerge pull request dotnet/coreclr#8207 from CarolEidt/StreamlineResolution
Carol Eidt [Thu, 15 Dec 2016 16:38:57 +0000 (08:38 -0800)]
Merge pull request dotnet/coreclr#8207 from CarolEidt/StreamlineResolution

Streamline LSRA resolution

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

7 years agoMerge pull request dotnet/coreclr#8329 from litian2025/Fix_SIMDScalarMoveEncoding
Sivarv [Thu, 15 Dec 2016 15:37:02 +0000 (07:37 -0800)]
Merge pull request dotnet/coreclr#8329 from litian2025/Fix_SIMDScalarMoveEncoding

Fix SIMD Scalar Move Encoding: VEX.L should be 0

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

7 years agoMerge pull request dotnet/coreclr#8645 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Thu, 15 Dec 2016 05:08:28 +0000 (21:08 -0800)]
Merge pull request dotnet/coreclr#8645 from dotnet-bot/master-UpdateDependencies

Update CoreFx to beta-24815-01 (master)

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

7 years agoUpdate CoreFx to beta-24815-01
dotnet-bot [Thu, 15 Dec 2016 03:48:47 +0000 (03:48 +0000)]
Update CoreFx to beta-24815-01

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