platform/upstream/dotnet/runtime.git
8 years agoreturn add with offset, add version if-defs
Sergey Andreenko [Thu, 20 Oct 2016 17:38:15 +0000 (10:38 -0700)]
return add with offset, add version if-defs

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

8 years agofix compilation compilation error without ready to run.
Sergey Andreenko [Wed, 19 Oct 2016 16:37:55 +0000 (09:37 -0700)]
fix compilation compilation error without ready to run.

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

8 years agoformat fix
Sergey Andreenko [Tue, 18 Oct 2016 23:46:59 +0000 (16:46 -0700)]
format fix

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

8 years agohelper address is already known
Sergey Andreenko [Tue, 18 Oct 2016 23:42:42 +0000 (16:42 -0700)]
helper address is already known

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

8 years agoformat fix
Sergey Andreenko [Tue, 18 Oct 2016 21:31:55 +0000 (14:31 -0700)]
format fix

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

8 years agoheader for getRuntimeContextTree
Sergey Andreenko [Tue, 18 Oct 2016 19:54:51 +0000 (12:54 -0700)]
header for getRuntimeContextTree

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

8 years agoreturn break to the previous position,
Sergey Andreenko [Tue, 18 Oct 2016 19:41:11 +0000 (12:41 -0700)]
return break to the previous position,

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

8 years agoifdef for EE version
Sergey Andreenko [Mon, 17 Oct 2016 23:58:27 +0000 (16:58 -0700)]
ifdef for EE version

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

8 years agohelper for corert
Sergey Andreenko [Mon, 17 Oct 2016 19:52:12 +0000 (12:52 -0700)]
helper for corert

Helper to get ready to run, shared, generic, static base.

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

8 years agohelper for corert
Sergey Andreenko [Mon, 17 Oct 2016 19:52:12 +0000 (12:52 -0700)]
helper for corert

Helper to get ready to run, shared, generic, static base.

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

8 years agoRemove DEBUGGING_SUPPORT #ifdef (dotnet/coreclr#7611)
Bruce Forstall [Fri, 14 Oct 2016 15:55:25 +0000 (08:55 -0700)]
Remove DEBUGGING_SUPPORT #ifdef (dotnet/coreclr#7611)

This is always on. It hadn't been turned off in a long, long
time, if ever, and we don't expect to ever turn it off.

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

8 years agoUpdate CoreClr, CoreFx, External to beta-24614-02, beta-24614-01, beta-24614-00,...
dotnet bot [Fri, 14 Oct 2016 15:55:03 +0000 (08:55 -0700)]
Update CoreClr, CoreFx, External to beta-24614-02, beta-24614-01, beta-24614-00, respectively (dotnet/coreclr#7615)

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

8 years agoMerge pull request dotnet/coreclr#7616 from dotnet-bot/from-tfs
Jan Kotas [Fri, 14 Oct 2016 15:54:15 +0000 (08:54 -0700)]
Merge pull request dotnet/coreclr#7616 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoSpinLock.TryEnter fail fast for timeout 0 (dotnet/coreclr#6952)
Ben Adams [Fri, 14 Oct 2016 14:19:41 +0000 (15:19 +0100)]
SpinLock.TryEnter fail fast for timeout 0 (dotnet/coreclr#6952)

* SpinLock.TryEnter fail fast for timeout 0 (2)

* Don't over check SpinLock timeout

When 1ms unlikely to have passed

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

8 years agoClarify code with unobvious precedence (dotnet/coreclr#1624)
Dmitry-Me [Fri, 14 Oct 2016 14:02:00 +0000 (17:02 +0300)]
Clarify code with unobvious precedence (dotnet/coreclr#1624)

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

8 years agoI had unintentionally excluded RuntimeThread.cs when FeatureCoreClr is false. Since...
Koundinya Veluri [Fri, 14 Oct 2016 05:18:23 +0000 (22:18 -0700)]
I had unintentionally excluded RuntimeThread.cs when FeatureCoreClr is false. Since parts of Thread.cs were refactored into RuntimeThread, including RuntimeThread.cs always.

[tfs-changeset: 1633304]

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

8 years agoMerge pull request dotnet/coreclr#7605 from sandreenko/core_rt_1982
sandreenko [Fri, 14 Oct 2016 03:54:57 +0000 (20:54 -0700)]
Merge pull request dotnet/coreclr#7605 from sandreenko/core_rt_1982

Lower helper call inside PInvoke

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

8 years agoMerge pull request dotnet/coreclr#7603 from pgavlin/FixInteropTest
Pat Gavlin [Thu, 13 Oct 2016 23:59:33 +0000 (16:59 -0700)]
Merge pull request dotnet/coreclr#7603 from pgavlin/FixInteropTest

Fix a calling convention in SimpleStructNative.

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

8 years agoEnable DoStackSnapshot API on ARM to walk the current thread (dotnet/coreclr#6933)
kvochko [Thu, 13 Oct 2016 22:17:08 +0000 (01:17 +0300)]
Enable DoStackSnapshot API on ARM to walk the current thread (dotnet/coreclr#6933)

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

8 years agoLower helper call inside PInvoke
Sergey Andreenko [Thu, 13 Oct 2016 22:08:25 +0000 (15:08 -0700)]
Lower helper call inside PInvoke

Lowering can create a helper call. The helper call is inserted to the
part of the block, that was lowered. So the helper call should be
lowered independently.

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

8 years agoMerge pull request dotnet/coreclr#2192 from dasMulli/random-seeding-improvements
Peter Marcu [Thu, 13 Oct 2016 21:55:50 +0000 (14:55 -0700)]
Merge pull request dotnet/coreclr#2192 from dasMulli/random-seeding-improvements

System.Random: Parameterless constructor seeding improvement dotnet/coreclr#1919

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

8 years agoMerge pull request dotnet/coreclr#7602 from smile21prc/coreclr-perf
smile21prc [Thu, 13 Oct 2016 20:38:36 +0000 (13:38 -0700)]
Merge pull request dotnet/coreclr#7602 from smile21prc/coreclr-perf

Make coreclr Windows perf run versionless on benchview binaries

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

8 years agoAdded Docs for Using Visual Studio to Edit and Debug in CoreCLR Repo (dotnet/coreclr...
Vance Morrison [Thu, 13 Oct 2016 20:10:12 +0000 (13:10 -0700)]
Added Docs for Using Visual Studio to Edit and Debug in CoreCLR Repo (dotnet/coreclr#7582)

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

8 years agoMerge pull request dotnet/coreclr#7600 from jkotas/master-UpdateDependencies
Jan Kotas [Thu, 13 Oct 2016 20:09:00 +0000 (13:09 -0700)]
Merge pull request dotnet/coreclr#7600 from jkotas/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24612-03, beta-24612-04, respectively

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

8 years agoMerge pull request dotnet/coreclr#7593 from pgavlin/DisableGCStressTest
Pat Gavlin [Thu, 13 Oct 2016 19:38:43 +0000 (12:38 -0700)]
Merge pull request dotnet/coreclr#7593 from pgavlin/DisableGCStressTest

Disable a test that is not compatible with GC stress.

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

8 years agoFix a calling convention in SimpleStructNative.
Pat Gavlin [Thu, 13 Oct 2016 19:35:48 +0000 (12:35 -0700)]
Fix a calling convention in SimpleStructNative.

The managed code expects `GetFptr` to have the `stdcall` calling
convention. Because of the mismatch, the JIT-generated code was not
cleaning up the stack after P/Invoking to this function on x86, which
was causing a failure during GC stress.

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

8 years agoMake coreclr Windows perf run versionless on benchview so they won't be broken by...
Smile Wei [Thu, 13 Oct 2016 18:59:21 +0000 (11:59 -0700)]
Make coreclr Windows perf run versionless on benchview so they won't be broken by benchview updates.

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

8 years agoUpdate tests to netcoreapp1.1
Jan Kotas [Thu, 13 Oct 2016 08:11:47 +0000 (01:11 -0700)]
Update tests to netcoreapp1.1

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

8 years agoDisable a test that is not compatible with GC stress.
Pat Gavlin [Wed, 12 Oct 2016 22:13:52 +0000 (15:13 -0700)]
Disable a test that is not compatible with GC stress.

This test fails under GCStress=0xC for all of RyuJIT/x86, legacy backend
x86, and JIT32.

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

8 years agoAddressed PR feedback.
dasMulli [Thu, 13 Oct 2016 06:19:52 +0000 (08:19 +0200)]
Addressed PR feedback.

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

8 years agoMerge pull request dotnet/coreclr#7510 from kouvel/ApiThread
Koundinya Veluri [Thu, 13 Oct 2016 01:39:30 +0000 (18:39 -0700)]
Merge pull request dotnet/coreclr#7510 from kouvel/ApiThread

Expose some members of the Thread class

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

8 years agoMerge pull request dotnet/coreclr#7595 from dotnet-bot/from-tfs
Jan Kotas [Thu, 13 Oct 2016 00:55:53 +0000 (17:55 -0700)]
Merge pull request dotnet/coreclr#7595 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoMerge pull request dotnet/coreclr#7584 from sivarv/regressionTest
Sivarv [Wed, 12 Oct 2016 23:45:20 +0000 (16:45 -0700)]
Merge pull request dotnet/coreclr#7584 from sivarv/regressionTest

Adding JIT regression test for the re-morph optimzation that transforms JIT_Stelem_Ref(a, null, i)  into a[i]=null.

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

8 years agoMerge pull request dotnet/coreclr#7590 from smile21prc/coreclr-perf
smile21prc [Wed, 12 Oct 2016 23:23:04 +0000 (16:23 -0700)]
Merge pull request dotnet/coreclr#7590 from smile21prc/coreclr-perf

Permanently fix benchview package version, and add code to produce perf-*-summary.xml on Linux

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

8 years agoMerge pull request dotnet/coreclr#7563 from wateret/fix-7398
Carol Eidt [Wed, 12 Oct 2016 22:56:23 +0000 (15:56 -0700)]
Merge pull request dotnet/coreclr#7563 from wateret/fix-7398

[ARM/Linux] Fix HFA unit test regression

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

8 years agoCleanup files excluded from CoreCLR build
Jan Kotas [Wed, 12 Oct 2016 22:26:51 +0000 (15:26 -0700)]
Cleanup files excluded from CoreCLR build

[tfs-changeset: 1633047]

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

8 years agoAddress feedback
Koundinya Veluri [Wed, 12 Oct 2016 22:06:42 +0000 (15:06 -0700)]
Address feedback

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

8 years agoMerge pull request dotnet/coreclr#7585 from CarolEidt/Fix5699
Carol Eidt [Wed, 12 Oct 2016 22:05:51 +0000 (15:05 -0700)]
Merge pull request dotnet/coreclr#7585 from CarolEidt/Fix5699

x86: adjust stack level at throw blocks

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

8 years agox86: adjust stack level at throw blocks
Carol Eidt [Wed, 12 Oct 2016 18:24:18 +0000 (11:24 -0700)]
x86: adjust stack level at throw blocks

When we don't have a frame pointer, we need to adjust the frame pointer before calling the throw helper.
I initially had some concern that we had some exposure from instruction reordering in the backend, but we don't do any reordering of the `GT_PUTARG_STK` nodes. I have added a note to sideeffects.h to call attention to the fact that we need to consider stack depth changes to be side effects, for future consideration should we start doing more general code motion.
For the more general issue, I have extracted the code from codegenlegacy.cpp that does the stack adjustment, and am now unconditionally calling it from both codegenlegacy.cpp and codegenxarch.cpp.

Fix dotnet/coreclr#5699

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

8 years agoReturn false from IsMarshalByRefImpl/IsContextfulImpl when remoting is not supported...
Jan Kotas [Wed, 12 Oct 2016 21:39:43 +0000 (14:39 -0700)]
Return false from IsMarshalByRefImpl/IsContextfulImpl when remoting is not supported (dotnet/coreclr#7583)

Remove references to types have been moved to corefx in the build
Consolidate FEATURE_CORECLR ifdefs

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

8 years agoFail fast on a couple flaky tests to get crash dumps (dotnet/coreclr#7588)
Sean Gillespie [Wed, 12 Oct 2016 21:38:37 +0000 (14:38 -0700)]
Fail fast on a couple flaky tests to get crash dumps (dotnet/coreclr#7588)

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

8 years agoFix a tailcall test that fails with Ready-to-Run (dotnet/coreclr#7586)
John Chen [Wed, 12 Oct 2016 21:02:45 +0000 (14:02 -0700)]
Fix a tailcall test that fails with Ready-to-Run (dotnet/coreclr#7586)

The test case JIT/opt/Tailcall/TailcallVerifyWithPrefix has some methods that
depend on the JIT compiler doing automatic tail call. Since tail is not
supported with Ready-to-Run, the test case is modified to exclude such methods
from Ready-to-Run images.

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

8 years agoPort NullStream.CopyTo override from corert (dotnet/coreclr#7589)
James Ko [Wed, 12 Oct 2016 21:02:21 +0000 (17:02 -0400)]
Port NullStream.CopyTo override from corert (dotnet/coreclr#7589)

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

8 years agoUpdate CoreClr, CoreFx to beta-24612-03, beta-24612-04, respectively
dotnet-bot [Wed, 12 Oct 2016 20:30:02 +0000 (20:30 +0000)]
Update CoreClr, CoreFx to beta-24612-03, beta-24612-04, respectively

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

8 years agoMerge pull request dotnet/coreclr#7557 from sandreenko/long_decomp_6925
sandreenko [Wed, 12 Oct 2016 20:16:55 +0000 (13:16 -0700)]
Merge pull request dotnet/coreclr#7557 from sandreenko/long_decomp_6925

Use the existing operands for long decomposition dotnet/coreclr#6925

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

8 years agoRun VS formatting (no semantic change) (dotnet/coreclr#7587)
Vance Morrison [Wed, 12 Oct 2016 19:37:12 +0000 (12:37 -0700)]
Run VS formatting (no semantic change) (dotnet/coreclr#7587)

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

8 years agoDebugging
Smile Wei [Wed, 28 Sep 2016 18:49:59 +0000 (11:49 -0700)]
Debugging

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

8 years agoMove StreamHelpers from corefx and refactor Stream and MemoryStream to use it (dotnet...
James Ko [Wed, 12 Oct 2016 19:07:37 +0000 (15:07 -0400)]
Move StreamHelpers from corefx and refactor Stream and MemoryStream to use it (dotnet/coreclr#7579)

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

8 years agoExpose members of Thread that hide base class members
Koundinya Veluri [Tue, 11 Oct 2016 22:31:12 +0000 (15:31 -0700)]
Expose members of Thread that hide base class members

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

8 years agoFix build issue
Koundinya Veluri [Tue, 11 Oct 2016 04:10:31 +0000 (21:10 -0700)]
Fix build issue

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

8 years agoFix build issue
Koundinya Veluri [Mon, 10 Oct 2016 21:02:46 +0000 (14:02 -0700)]
Fix build issue

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

8 years agoAddress feedback
Koundinya Veluri [Sat, 8 Oct 2016 21:35:02 +0000 (14:35 -0700)]
Address feedback

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

8 years agoExpose some members of the Thread class
Koundinya Veluri [Tue, 27 Sep 2016 20:14:24 +0000 (13:14 -0700)]
Expose some members of the Thread class

- Added RuntimeThread class that Thread derives from. An instance of RuntimeThread will be used by the Thread class in CoreFX to forward thread functionality to the runtime.
- Some functionality in the RuntimeThread could potentially be moved to CoreFX. In particular, some of thread creation and apartment state handling could probably be moved with some minimal help from the runtime. Leaving that refactoring for later.
- A few things are left unimplemented (for instance, apartment state handling doesn't work currently). That functionality will be enabled in a future change.

Part of dotnet/corefxdotnet/coreclr#11632, dotnet/corefxdotnet/coreclr#11638, dotnet/corefxdotnet/coreclr#11635

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

8 years agoUnnecessary temp loc vars were deleted in DecomposeLong.
Sergey Andreenko [Fri, 7 Oct 2016 21:19:15 +0000 (14:19 -0700)]
Unnecessary temp loc vars were deleted in DecomposeLong.

Delete temp local variables from DecomposeNeg, DecomposeShift.
Remain local variables have several uses(DecomposeShift) or are call
arguments. Such variables can't be deleted.

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

8 years agoAdding JIT regression test for a re-morph optimization.
sivarv [Wed, 12 Oct 2016 17:49:03 +0000 (10:49 -0700)]
Adding JIT regression test for a re-morph optimization.

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

8 years agoProvide KeyValuePair.Create static factory method (dotnet/coreclr#5755)
Daniel Cazzulino [Wed, 12 Oct 2016 17:37:46 +0000 (19:37 +0200)]
Provide KeyValuePair.Create static factory method (dotnet/coreclr#5755)

Just like Tuple.Create cuts down the noise and annoyance
of having to specify all the Ts when you already have typed
values to provide, a similarly designed KeyValuePair.Create
factory method would make code that creates those pairs
(i.e. public APIs that expose IEnumerable{KeyValuePair}
significantly more concise and readable.

Fixes dotnet/corefxdotnet/coreclr#2127

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

8 years agoMerge pull request dotnet/coreclr#7576 from sandreenko/check_ready_to_run_for_protojit
sandreenko [Wed, 12 Oct 2016 17:35:29 +0000 (10:35 -0700)]
Merge pull request dotnet/coreclr#7576 from sandreenko/check_ready_to_run_for_protojit

set ready to run flag for protojit

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

8 years agoExposing MarshalByRefObject (dotnet/coreclr#7558)
Rama krishnan Raghupathy [Wed, 12 Oct 2016 17:34:09 +0000 (10:34 -0700)]
Exposing MarshalByRefObject (dotnet/coreclr#7558)

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

8 years agoMerge pull request dotnet/coreclr#7575 from sivarv/lsraStat
Sivarv [Wed, 12 Oct 2016 17:21:32 +0000 (10:21 -0700)]
Merge pull request dotnet/coreclr#7575 from sivarv/lsraStat

Dump LSRA stats.

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

8 years agoEnable TextInfo APIs for netstandard 1.7 on Linux (dotnet/coreclr#7568)
Tarek Mahmoud Sayed [Wed, 12 Oct 2016 16:29:55 +0000 (09:29 -0700)]
Enable TextInfo APIs for netstandard 1.7 on Linux (dotnet/coreclr#7568)

* Enable TextInfo APIs for netstandard 1.7 on Linux

The change here is to enable the newly added netstandard 1.7 TextInfo APIs on Linux.

- moved the locale specific data to its own file Locale.Unic.cs
- added needed data to handle the TextInfo properties (e.g. codepages)
- created some helper methods in LocaleData classto handle accessing the locale data
- added the implementation for added APIs

* Fix some typos

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

8 years agoMerge pull request dotnet/coreclr#7561 from BruceForstall/Fix7483
Bruce Forstall [Wed, 12 Oct 2016 15:15:25 +0000 (08:15 -0700)]
Merge pull request dotnet/coreclr#7561 from BruceForstall/Fix7483

Fix assertion regarding byteable reg when ngen'ing desktop mscorlib

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

8 years agoFix assertion regarding byteable xor reg,reg when ngen'ing desktop mscorlib
Bruce Forstall [Tue, 11 Oct 2016 01:10:16 +0000 (18:10 -0700)]
Fix assertion regarding byteable xor reg,reg when ngen'ing desktop mscorlib

Fixes dotnet/coreclr#7483

The issue is that TreeNodeInfoInitCmp() will, under certain circumstances,
perform a tree transformation of a child node into a TYP_UBYTE type. Since
the TreeNodeInfo walk is bottom-up, its children have already been processed,
and they don't get the "byteable" register processing that is as the end of
TreeNodeInfoInit().

I extracted that processing into a TreeNodeInfoInitCheckByteable() function that
can be called after the TreeNodeInfoInitCmp() transformation.

A better solution might be to extract this, and other, tree transformations into
the prior "lowering" pass, such that TreeNodeInfoInit() and friends will only
do register requirement annotation. But that would be considerably more complicated,
so I opted not to do that for now.

I also fixed up a bunch of comments.

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

8 years agoFix conflicting identity of System.IO.TextReader (dotnet/coreclr#7578)
Jan Kotas [Wed, 12 Oct 2016 12:53:28 +0000 (05:53 -0700)]
Fix conflicting identity of System.IO.TextReader (dotnet/coreclr#7578)

System.IO build was switched to use CoreFX copy of System.IO.TextReader and friends. These type have to be removed from CoreLib now to avoid type identity mismatches.

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

8 years agoset ready to run flag for protojit
Sergey Andreenko [Wed, 12 Oct 2016 01:16:34 +0000 (18:16 -0700)]
set ready to run flag for protojit

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

8 years agoDump LSRA stats.
sivarv [Tue, 11 Oct 2016 23:20:39 +0000 (16:20 -0700)]
Dump LSRA stats.

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

8 years agoMerge pull request dotnet/coreclr#7571 from pgavlin/MkRefAnyFieldTypeX86
Pat Gavlin [Tue, 11 Oct 2016 23:41:21 +0000 (16:41 -0700)]
Merge pull request dotnet/coreclr#7571 from pgavlin/MkRefAnyFieldTypeX86

Fix the type of the data field of a typed ref on x86.

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

8 years agoMerge pull request dotnet/coreclr#7574 from DrewScoggins/runtestfix
Rahul Kumar [Tue, 11 Oct 2016 23:05:04 +0000 (16:05 -0700)]
Merge pull request dotnet/coreclr#7574 from DrewScoggins/runtestfix

Fix runtest.cmd return code

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

8 years agoFix runtest.cmd return code
Drew Scoggins [Tue, 11 Oct 2016 22:51:49 +0000 (15:51 -0700)]
Fix runtest.cmd return code

When running the GenerateLayoutOnly command of runtest.cmd the script
should return zero instead of one.

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

8 years agoFix the type of the data field of a typed ref on x86.
Pat Gavlin [Tue, 11 Oct 2016 22:05:03 +0000 (15:05 -0700)]
Fix the type of the data field of a typed ref on x86.

This field should be of type byref; not treating it as such causes GC
holes when passing typed references.

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

8 years agoMerge pull request dotnet/coreclr#7310 from wateret/for-7002-2
Carol Eidt [Tue, 11 Oct 2016 20:55:33 +0000 (13:55 -0700)]
Merge pull request dotnet/coreclr#7310 from wateret/for-7002-2

[ARM] Generate direct call instructions for recursive calls

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

8 years agoMerge pull request dotnet/coreclr#7565 from dotnet-bot/from-tfs
Pat Gavlin [Tue, 11 Oct 2016 20:28:43 +0000 (13:28 -0700)]
Merge pull request dotnet/coreclr#7565 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoMerge pull request dotnet/coreclr#7560 from pgavlin/StoreBlkGCHole
Pat Gavlin [Tue, 11 Oct 2016 18:25:40 +0000 (11:25 -0700)]
Merge pull request dotnet/coreclr#7560 from pgavlin/StoreBlkGCHole

Disable emit{Enable,Disable}GC for x86.

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

8 years agoSemaphoreSlim performance improvement (dotnet/coreclr#137)
ikopylov [Tue, 11 Oct 2016 17:02:38 +0000 (20:02 +0300)]
SemaphoreSlim performance improvement (dotnet/coreclr#137)

* Waiters notification by the value of releaseCount (reduce the number of false-wakeups).

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

8 years agoUpdate Readme.md to lead you through basic repo workflow (dotnet/coreclr#7552)
Vance Morrison [Tue, 11 Oct 2016 16:10:11 +0000 (09:10 -0700)]
Update Readme.md to lead you through basic repo workflow (dotnet/coreclr#7552)

Update README.md to contain much more information about using the repo

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

8 years agoFix a build break in the ARM64 JIT.
Pat Gavlin [Tue, 11 Oct 2016 15:55:09 +0000 (08:55 -0700)]
Fix a build break in the ARM64 JIT.

[tfs-changeset: 1632696]

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

8 years agoMerge pull request dotnet/coreclr#7562 from pgavlin/x86PreemptiveAssert
Pat Gavlin [Tue, 11 Oct 2016 15:26:02 +0000 (08:26 -0700)]
Merge pull request dotnet/coreclr#7562 from pgavlin/x86PreemptiveAssert

Remove an overly fragile assertion.

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

8 years ago[ARM/Linux] Fix HFA unit test regression
Hanjoung Lee [Tue, 11 Oct 2016 05:45:46 +0000 (14:45 +0900)]
[ARM/Linux] Fix HFA unit test regression

Fix dotnet/coreclr#7398

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

8 years agoRemove an overly fragile assertion.
Pat Gavlin [Tue, 11 Oct 2016 04:21:23 +0000 (21:21 -0700)]
Remove an overly fragile assertion.

The GC stress infrastructure contained an assertion that was meant to
help detect managed code running in preemptive mode. Unfortunately, this
assertion was derived from the set of instructions emitted by the JIT at
the time at which it was added. As such, it is now out of date.

Because a failure of this assertion does not necessarily indicate a
correctness bug and because it is onerous to keep up-to-date, remove it.

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

8 years agoRemove AllowPartiallyTrustedCallers from a test (dotnet/coreclr#7555)
Michal Strehovský [Tue, 11 Oct 2016 01:56:09 +0000 (18:56 -0700)]
Remove AllowPartiallyTrustedCallers from a test (dotnet/coreclr#7555)

Partial trust is not part of .NET Core.

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

8 years agoDisable emit{Enable,Disable}GC for x86.
Pat Gavlin [Tue, 11 Oct 2016 00:09:29 +0000 (17:09 -0700)]
Disable emit{Enable,Disable}GC for x86.

The GC info encoding for this platform does not permit marking
arbitrary regions of generated code as non-interruptible.

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

8 years agoMerge pull request dotnet/coreclr#7518 from adiaaida/cmpByteable
Michelle McDaniel [Tue, 11 Oct 2016 00:21:07 +0000 (17:21 -0700)]
Merge pull request dotnet/coreclr#7518 from adiaaida/cmpByteable

Force byteable register for CMP if op2 is CNS_INT

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

8 years agoUpdate adding_new_public_apis.md (dotnet/coreclr#7544)
Jan Kotas [Tue, 11 Oct 2016 00:06:45 +0000 (17:06 -0700)]
Update adding_new_public_apis.md (dotnet/coreclr#7544)

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

8 years agoMerge pull request dotnet/coreclr#7537 from pgavlin/PushStructArgsX86
Pat Gavlin [Tue, 11 Oct 2016 00:00:38 +0000 (17:00 -0700)]
Merge pull request dotnet/coreclr#7537 from pgavlin/PushStructArgsX86

Fix the codegen for by-value struct args on x86.

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

8 years agoForce byteable register for CMP if op2 is CNS_INT
Michelle McDaniel [Fri, 7 Oct 2016 15:32:17 +0000 (08:32 -0700)]
Force byteable register for CMP if op2 is CNS_INT

On x86 we need to force byteable registers for compares not only when both
ops are typ_byte, but also when the first is of typ_byte and the second is
a constant int. The original condition for cmp only considered the first
case. This change adds the second condition.

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

8 years agoAddress PR feedback.
Pat Gavlin [Mon, 10 Oct 2016 20:30:00 +0000 (13:30 -0700)]
Address PR feedback.

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

8 years agoMerge pull request dotnet/coreclr#7530 from ramarag/StrongNameKeyPair
Rama krishnan Raghupathy [Mon, 10 Oct 2016 21:18:26 +0000 (14:18 -0700)]
Merge pull request dotnet/coreclr#7530 from ramarag/StrongNameKeyPair

Strong name key pair

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

8 years agoExposing StrongNameKeyPair
Rama Krishnan Raghupathy [Fri, 7 Oct 2016 23:36:46 +0000 (16:36 -0700)]
Exposing StrongNameKeyPair

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

8 years agoMerge pull request dotnet/coreclr#7543 from JosephTremoulet/NoRngChecks_Rel
Joseph Tremoulet [Mon, 10 Oct 2016 19:01:43 +0000 (15:01 -0400)]
Merge pull request dotnet/coreclr#7543 from JosephTremoulet/NoRngChecks_Rel

Stop making JitNoRngChecks debug-only

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

8 years agoFix buffer length usage in UTF-8 to Unicode conversion (dotnet/coreclr#7540)
John Chen [Mon, 10 Oct 2016 16:39:08 +0000 (09:39 -0700)]
Fix buffer length usage in UTF-8 to Unicode conversion (dotnet/coreclr#7540)

These changes are ported from desktop CLR.

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

8 years agoFix various CustomAttributeBuilder bugs (dotnet/coreclr#7206)
Hugh Bellamy [Mon, 10 Oct 2016 15:54:41 +0000 (16:54 +0100)]
Fix various CustomAttributeBuilder bugs (dotnet/coreclr#7206)

Fix various CustomAttributeBuilder bugs

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

8 years agoStop making JitNoRngChecks debug-only
Joseph Tremoulet [Mon, 10 Oct 2016 14:48:56 +0000 (10:48 -0400)]
Stop making JitNoRngChecks debug-only

JitNoRngChecks is a flag, only available in special builds, that removes
all array bounds checks from generated code, which exists solely to
facilitate experiments measuring the cost of bounds checks.  Commit
0aebfbef0 added support for it to RyuJit, but accidentally did so only for
debug builds; release `FEATURE_ENABLE_NO_RANGE_CHECKS` builds are
currently broken.

This change makes the jit flag's definition available in release builds
with `FEATURE_ENABLE_NO_RANGE_CHECKS` defined as well.  The corresponding
code in clrconfigvalues.h already works that way.

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

8 years agoFix the codegen for by-value struct args on x86.
Pat Gavlin [Sat, 8 Oct 2016 02:03:10 +0000 (19:03 -0700)]
Fix the codegen for by-value struct args on x86.

Although the existing code generation for by-value struct args containing
GC references on x86 was correct with respect to the layout of the data
being passed, it was not correct with respect to the invariants necessary
for the GC info encoder.

The existing codegen for by-value struct args--whether represented by
`GT_OBJ` or `GT_FIELD_LIST` nodes--takes what is essentially the
following approach:

    sub esp, argument_size
    mov [esp + offset_0], field_0
    mov [esp + offset_1], field_1
    ...
    mov [esp + offset_n], field_n

Although this puts the correct data in the correct locations, the
emitter is unable to recognize that a GC info update is requires if any
of the `mov` instructions write a GC reference to the stack: instead,
on x86, `push` instructions must be used to write GC references on the
stack. Furthermore, the stack must be kept 4-byte aligned.

This change modifies the code generator to use `push` instructions to
write outgoing GC references to the stack while obeying the alignment
invariant required by the GC encoding. For outgoing by-value struct
args represented by `GT_OBJ`, this results in very straightforward code:

    push [val_addr]
    push [val_addr + 4]
    ...
    push [val_addr + n]

For args represented by `GT_FIELD_LIST`, the picture is a bit more
complicated as the stack must be kept 4-byte aligned. Handling of these
args is split into two cases: if a field list contains no GC references
and is larger than 16 bytes or contains any fields that cannot be
treated as a 4-byte-aligned, int32-sized value, the argument is passed
using the `sub esp, arg_size; mov [esp + offset], field` approach.
Otherwise--if the struct contains any GC references or is smaller than
16 bytes and only contains fields that can be treated as slots--the
argument is passed using the following approach:
- If a field is a GC reference or can be treated as a 4-byte slot, the
  field is stored to the stack using a `push` instruction.
- Otherwise, the stack pointer is first adjusted to the next 4-byte
  aligned address after the offset of the field and the field is
  stored to the appropriate address using a `mov`.

For example, given the following IR:

     t55 =    lclVar    bool   V06 tmp4         u:6 esi REG esi RV $40

    t138 =    dconst    float  0.00000000000000000 REG mm0 $80

           /--*  t138   float
           +--*  t55    bool
    t139 = *  <fldList> void   float at offset 4 REG NA $180

           /--*  t139   void
    t152 = *  putarg_stk [+0x00] void   REG NA

The backend will generate the following code:

    sub      esp, 8
    movss    dword ptr [esp+04H], xmm0
    mov      dword ptr [esp], esi

And given the following IR:

    t13 =    lclVar    ref    V04 tmp1         u:2 esi (last use) REG esi RV $1c0

    t45 =    lclVar    int    V05 tmp2         u:2 eax (last use) REG eax RV $200

          /--*  t45    int
          +--*  t13    ref
    t46 = *  <fldList> void   int at offset 4 REG NA $240

The backend will instead generate the following:

    push     eax
    push     esi

These changes also produce beneficial diffs: for example, the native image
for System.Private.CoreLib.dll has diffs in ~1000 methods for an overall
size improvement of 1%.

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

8 years agoMerge pull request dotnet/coreclr#7538 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Sun, 9 Oct 2016 15:32:34 +0000 (08:32 -0700)]
Merge pull request dotnet/coreclr#7538 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-24609-02 (master)

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

8 years agoUpdate CoreClr to beta-24609-02
dotnet-bot [Sun, 9 Oct 2016 08:15:37 +0000 (08:15 +0000)]
Update CoreClr to beta-24609-02

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

8 years agoAdd test to validate ByRef type unification (dotnet/coreclr#7534)
Michal Strehovský [Sun, 9 Oct 2016 04:59:20 +0000 (21:59 -0700)]
Add test to validate ByRef type unification (dotnet/coreclr#7534)

Make sure that `ldtoken SomeType&` leads to the same type as `ldtoken
SomeType` followed by `MakeByRefType`.

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

8 years agoImplement CultureNotFoundException id-based ctors (dotnet/coreclr#7536)
Stephen Toub [Sun, 9 Oct 2016 04:59:01 +0000 (00:59 -0400)]
Implement CultureNotFoundException id-based ctors (dotnet/coreclr#7536)

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

8 years agoMerge pull request dotnet/coreclr#7531 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Sun, 9 Oct 2016 02:27:48 +0000 (19:27 -0700)]
Merge pull request dotnet/coreclr#7531 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24609-01, beta-24608-01, respectively (master)

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

8 years agoUpdate CoreClr, CoreFx to beta-24609-01, beta-24608-01, respectively
dotnet-bot [Sun, 9 Oct 2016 00:13:50 +0000 (00:13 +0000)]
Update CoreClr, CoreFx to beta-24609-01, beta-24608-01, respectively

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

8 years agoStandardize on _echo name (dotnet/coreclr#7532)
Vance Morrison [Sat, 8 Oct 2016 06:08:38 +0000 (23:08 -0700)]
Standardize on _echo name (dotnet/coreclr#7532)

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

8 years agoMerge pull request dotnet/coreclr#7521 from vkvenkat/master
Sergiy Kuryata [Sat, 8 Oct 2016 00:13:06 +0000 (17:13 -0700)]
Merge pull request dotnet/coreclr#7521 from vkvenkat/master

Fixed dotnet/coreclr#7519 - Dotnet crashes while saturating multiple CPU groups on Windows

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