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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Smile Wei [Wed, 28 Sep 2016 18:49:59 +0000 (11:49 -0700)]
Debugging
Commit migrated from https://github.com/dotnet/coreclr/commit/
35cbe48b353439fa973eca041456b5d377891255
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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