danmosemsft [Sun, 12 Feb 2017 19:05:31 +0000 (11:05 -0800)]
Remove always defined FEATURE_SPAN_OF_T
Commit migrated from https://github.com/dotnet/coreclr/commit/
c65413fd6470e853ceb02649906cdbc164700a97
danmosemsft [Sun, 12 Feb 2017 19:02:08 +0000 (11:02 -0800)]
Remove never used FEATURE_NORM_IDNA_ONLY
Commit migrated from https://github.com/dotnet/coreclr/commit/
108b00f5f76e1133497dbcfc4f4bece6a4181f79
danmosemsft [Sun, 12 Feb 2017 18:59:14 +0000 (10:59 -0800)]
Remove never used FEATURE_MERGE_CULTURE_SUPPORT_AND_ENGINE
Commit migrated from https://github.com/dotnet/coreclr/commit/
c444460928696fbf348840a355678f649211db94
danmosemsft [Sun, 12 Feb 2017 18:58:11 +0000 (10:58 -0800)]
Remove always defined FEATURE_MAIN_CLR_MODULE_USES_CORE_NAME
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e65011e958ea1668333f63bbd029da67e2db4c9
danmosemsft [Sun, 12 Feb 2017 18:54:14 +0000 (10:54 -0800)]
Remove always defined FEATURE_HOST_ASSEMBLY_RESOLVER
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9850c6172e09fe824e02a6f2e7eb6c4863952d5
danmosemsft [Sun, 12 Feb 2017 18:46:48 +0000 (10:46 -0800)]
Remove always defined FEATURE_EXCEPTIONDISPATCHINFO
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c93286cb13d9f50f1f25cdcbcbc3719a178b374
danmosemsft [Sun, 12 Feb 2017 18:43:35 +0000 (10:43 -0800)]
Remove always defined FEATURE_EXCEPTION_NOTIFICATIONS
Commit migrated from https://github.com/dotnet/coreclr/commit/
2215a4e81c0d4f10edf9ff440c51b240586865e1
danmosemsft [Sun, 12 Feb 2017 18:36:01 +0000 (10:36 -0800)]
Remove never used FEATURE_ASYNC_IO
Commit migrated from https://github.com/dotnet/coreclr/commit/
ba2dc9d177a63701e176c793df7fd9c21fe85548
danmosemsft [Sun, 12 Feb 2017 18:34:28 +0000 (10:34 -0800)]
Fix indentation in cmake
Commit migrated from https://github.com/dotnet/coreclr/commit/
a82435dd2c90f5ba91da0b70b6f88cd12fde4b6b
Jan Kotas [Mon, 13 Feb 2017 00:50:50 +0000 (16:50 -0800)]
Add RuntimeHelpers.IsReferenceOrContainsReferences<T>() (dotnet/coreclr#9541)
Rename JitHelpers.ContainsReferences<T>() to RuntimeHelpers.IsReferenceOrContainsReferences<T>() and make it public.
Work towards https://github.com/dotnet/corefx/issues/14047
Commit migrated from https://github.com/dotnet/coreclr/commit/
7b66079154b3d703225fbd4cc680d4be537592a8
Stephen Toub [Sun, 12 Feb 2017 23:59:05 +0000 (18:59 -0500)]
Merge pull request dotnet/coreclr#9544 from stephentoub/delete_unused_const
Remove unused const in ArraySortHelper
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d18263441b2dca466b082ed498f39b768638141
Ben Adams [Sun, 12 Feb 2017 21:56:15 +0000 (21:56 +0000)]
Optimize List Clear+Remove (dotnet/coreclr#9540)
* List Clear+Remove
* Tail call Array.Clear
Commit migrated from https://github.com/dotnet/coreclr/commit/
d400876fe3e006d78d2ef39143ff9448c9dd8dc1
Stephen Toub [Sun, 12 Feb 2017 21:02:32 +0000 (16:02 -0500)]
Remove unused const in ArraySortHelper
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ef5f9d25687ad0a1e57da26fd2c62edf811afbe
Dan Moseley [Sun, 12 Feb 2017 01:06:20 +0000 (17:06 -0800)]
Merge pull request dotnet/coreclr#9525 from danmosemsft/defines2
Remove redundant defines from CoreCLR native code
Commit migrated from https://github.com/dotnet/coreclr/commit/
52a816d3011f4d03b80b5940dc036b40d701f52d
Stephen Toub [Sun, 12 Feb 2017 00:58:51 +0000 (19:58 -0500)]
Merge pull request dotnet/coreclr#9471 from stephentoub/task_perf
Reduce Task and async method overheads
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b7a76cbdb60c7c26cdc445958483eeba795c2ae
Jan Kotas [Sat, 11 Feb 2017 22:25:04 +0000 (14:25 -0800)]
Fix checks for methods that use StackCrawlMark (dotnet/coreclr#9537)
* Fix checks for methods that use StackCrawlMark
My recent changed these methods to be marked using IsMdRequireSecObject instead, but some
places that have to check for it were not updated correctly.
Commit migrated from https://github.com/dotnet/coreclr/commit/
15c2148000f3bf08e95b88f942e9875f74b64d1b
Pat Gavlin [Sat, 11 Feb 2017 18:34:56 +0000 (10:34 -0800)]
Merge pull request dotnet/coreclr#9495 from pgavlin/OptConfig
Add a flag to enable fine-grained optimize control.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ea68c8ae152ef64b41e1a1e6733261d5b30a81d
Jarret Shook [Sat, 11 Feb 2017 17:04:43 +0000 (09:04 -0800)]
Merge pull request dotnet/coreclr#9523 from jashook/up_arm64_timeout
Up the timeout for arm64 jobs that run tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6a455da27aeb01e8943b6ff452fc43e50ec8145
danmosemsft [Sat, 11 Feb 2017 16:07:02 +0000 (08:07 -0800)]
Inadvertent inline redundant define in threadsuspend.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
994e5e72a54489e9629ae8ad5c9b2e9ab867472e
danmosemsft [Sat, 11 Feb 2017 15:50:25 +0000 (07:50 -0800)]
Inadvertent inline redundant define in pal
Commit migrated from https://github.com/dotnet/coreclr/commit/
be8d4a4c49573d20bf10b547e2c0e60a9185f96f
danmosemsft [Sat, 11 Feb 2017 15:45:34 +0000 (07:45 -0800)]
Inadvertent inline redundant define in fxretarget.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
64a9bfa3392bbb4fdf8fcc1e57d36175679aa726
danmosemsft [Sat, 11 Feb 2017 15:28:22 +0000 (07:28 -0800)]
Revert inadvertent remove of #if FASTLOOP
Commit migrated from https://github.com/dotnet/coreclr/commit/
7e61a9201758dc0f6e2c099dde571d1c1af82cff
danmosemsft [Sat, 11 Feb 2017 15:23:01 +0000 (07:23 -0800)]
Dead comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
ebd6a7f81d2930d6e19025db8b6de3cb443abd5d
danmosemsft [Sat, 11 Feb 2017 15:20:12 +0000 (07:20 -0800)]
Revert "Remove always defined FEATURE_CORESYSTEM"
This reverts commit dotnet/coreclr@
751771a8976f909af772e35c167bd7e3ffbe44c8.
Commit migrated from https://github.com/dotnet/coreclr/commit/
56d4ba8a9338c3ff7378d18378f38ad847f130f2
danmosemsft [Sat, 11 Feb 2017 15:12:07 +0000 (07:12 -0800)]
Revert "Remove more always defined FEATURE_CORESYSTEM"
This reverts commit dotnet/coreclr@
52009b8919ba55690f21cdc8f04e012a53eb8ef4.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8be2f9bb0039e2c49f59c4fb66cebf5467485ba2
Joseph Tremoulet [Sat, 11 Feb 2017 15:06:29 +0000 (10:06 -0500)]
Merge pull request dotnet/coreclr#9437 from JosephTremoulet/UpdateFormat
Update format.py to use dotnet cli rc3
Commit migrated from https://github.com/dotnet/coreclr/commit/
be943edc7273c53ffedaa89b1c689779cf77f943
Stephen Toub [Thu, 9 Feb 2017 22:01:56 +0000 (17:01 -0500)]
Perf improvements to Task/Task<T>
- Remove some unecessary intermediate functions, e.g. Execute(), manually inlining it into its one caller
- Make the common completion path (no exceptions, no cancellation, etc.) more inlineable, and avoid calling some functions (like AddExceptionsFromChildren) when we know they will be nops.
- Make FinishContinuations inlineable. When there aren't any continuations, this shaves off a measurable percentage of time. When there are, we're no worse off, as the FinishContinuations entrypoint gets inlined, so we still only have the one function call to RunContinuations.
- Make TaskCompletionSource.TrySetResult more inlineable. It was just on the cusp, with an extra branch / call to IsCompleted putting it over the edge. But the common path for calling TrySetResult is when the call will successfully transition, in which case we don't need the IsCompleted call; it's only necessary if/when we lose the race condition, in which case we can pay a bit more to call SpinUntilCompleted.
- Avoid some duplicate logging-related calls
- Remove AggressiveInlining from an ETW-related method that did not need it; the call sites can instead just check IsEnabled before calling it.
- Remove some unnecessary writes, casts, locals, etc., make some fields readonly
- Change CompareExchange to Exchange in Task.WhenAny completion
Commit migrated from https://github.com/dotnet/coreclr/commit/
f45a33639d7d8ab1bfcda6de7b5cb74abb95662a
Stephen Toub [Thu, 9 Feb 2017 21:46:03 +0000 (16:46 -0500)]
Streamline AsyncTaskMethodBuilders
- Slim down AsyncTaskMethodBuilder`1.Task and make it aggressively inlined. The common case we care to optimize for is synchronous completion, in which case the first access to Task will already fine m_task non-null, and we want that access inlined.
- Slim down AsyncTaskMethodBuilder`1.SetResult. As with Task, we care most about the synchronous completion path, as when perf matters, most async method invocations complete synchronously. The code path is streamlined so that the synchronous completion path can mostly be inlined.
- Replace some throws with ThrowHelper
- Mark GetTaskForResult as aggressive inlining. It contains a lot of C# code, but for a given TResult, the JIT trims away the majority of the implementation.
Commit migrated from https://github.com/dotnet/coreclr/commit/
88a4a25312d091dcb44cae738a49bd8b981303eb
danmosemsft [Sat, 11 Feb 2017 06:15:01 +0000 (22:15 -0800)]
Revert "Remove always defined FEATURE_CORRUPTING_EXCEPTIONS"
This reverts commit dotnet/coreclr@
b0dab0d6de90a38dfbf0d6b2039a7b8f5269d802.
Commit migrated from https://github.com/dotnet/coreclr/commit/
87f8b67a4ee90ef807927f5083e237cb88b34725
danmosemsft [Sat, 11 Feb 2017 06:04:44 +0000 (22:04 -0800)]
Missed part of file delete
Commit migrated from https://github.com/dotnet/coreclr/commit/
b45b7e4eb467bca44f9d77959df0337bdcecbd3c
danmosemsft [Sat, 11 Feb 2017 05:53:12 +0000 (21:53 -0800)]
Remove always defined FEATURE_CORRUPTING_EXCEPTIONS
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0dab0d6de90a38dfbf0d6b2039a7b8f5269d802
danmosemsft [Sat, 11 Feb 2017 05:43:40 +0000 (21:43 -0800)]
Remove more always defined FEATURE_CORESYSTEM
Commit migrated from https://github.com/dotnet/coreclr/commit/
52009b8919ba55690f21cdc8f04e012a53eb8ef4
danmosemsft [Sat, 11 Feb 2017 05:29:23 +0000 (21:29 -0800)]
Dead files
Commit migrated from https://github.com/dotnet/coreclr/commit/
cbbfc7a109a41c5506d28d9b4e91202cf5a9143c
danmosemsft [Sat, 11 Feb 2017 05:08:47 +0000 (21:08 -0800)]
Remove always undefined FEATURE_CAS_POLICY
Commit migrated from https://github.com/dotnet/coreclr/commit/
1f75aecd267e4d2d322ce6a812a34d6a34cae1f9
danmosemsft [Sat, 11 Feb 2017 04:51:05 +0000 (20:51 -0800)]
Redundant ASSERTE blocks
Commit migrated from https://github.com/dotnet/coreclr/commit/
6517da4563a47fb370f35c082ae709215f5d0b28
danmosemsft [Sat, 11 Feb 2017 01:12:53 +0000 (17:12 -0800)]
Remove always defined FEATURE_CORECLR
Commit migrated from https://github.com/dotnet/coreclr/commit/
54891e0650e69f08832f75a40dc102efc6115d38
danmosemsft [Sat, 11 Feb 2017 01:01:50 +0000 (17:01 -0800)]
Dead files
Commit migrated from https://github.com/dotnet/coreclr/commit/
396f7d43b3c0f3ca7034a6d1d9cd7d6914778a1e
danmosemsft [Sat, 11 Feb 2017 00:07:45 +0000 (16:07 -0800)]
Remove always undefined FEATURE_APTCA
Commit migrated from https://github.com/dotnet/coreclr/commit/
6302d7a50884c6cf239e74bad85988be7403fe72
Steve MacLean [Sat, 11 Feb 2017 03:54:07 +0000 (22:54 -0500)]
[Unix] Skipped tests should report exit code 2 (dotnet/coreclr#9510)
Commit migrated from https://github.com/dotnet/coreclr/commit/
843a4cf61463adfea8b3a720fcfa586c2ec1187c
Steve MacLean [Sat, 11 Feb 2017 03:53:27 +0000 (22:53 -0500)]
Turn segfauts into asserts in debug build (dotnet/coreclr#9509)
* Prevent segfault if method table is null
* ValidateInner() check method table is not null
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ac52ffaac430c929b0e80cca84bf53fdf189b41
jashook [Sat, 11 Feb 2017 03:51:42 +0000 (19:51 -0800)]
Up the timeout for arm64 jobs that run tests.
With the new test update arm64 jobs run too long to fit into the default 120 minutes.
Commit migrated from https://github.com/dotnet/coreclr/commit/
25efc45036541aedb7af5a5b83c669466fff82c2
chcosta [Sat, 11 Feb 2017 03:50:36 +0000 (19:50 -0800)]
Merge pull request dotnet/coreclr#9501 from chcosta/mscorlib_race
Fix race condition building System.Private.CoreLib.dll and SOS.NETCore.dll
Commit migrated from https://github.com/dotnet/coreclr/commit/
dcd5eeaf0948e2c5abed49b1c025d65f85c921d3
Carol Eidt [Sat, 11 Feb 2017 03:28:22 +0000 (19:28 -0800)]
Update lsra-throughput.md
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f33e3be7d2c0f508bcdb0bd5f00367ec7a4c5be
Carol Eidt [Sat, 11 Feb 2017 03:15:25 +0000 (19:15 -0800)]
Merge pull request dotnet/coreclr#9519 from CarolEidt/FixCoreFx15713
Add a test case for PR dotnet/coreclr#9496
Commit migrated from https://github.com/dotnet/coreclr/commit/
54062ca4aabcdc299df36efa1e7ddfdc7b1550f6
Steve MacLean [Sat, 11 Feb 2017 01:08:35 +0000 (20:08 -0500)]
[Arm64/Unix] Remove aarch64 unsupported message (dotnet/coreclr#9508)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea3b879472c2f3d06780112f0c1d9b5cf75f6fcd
Steve MacLean [Sat, 11 Feb 2017 01:08:05 +0000 (20:08 -0500)]
[Arm64/Unix] Fix gdbjit support (dotnet/coreclr#9512)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ebe301ad19f203c0bd95d16767c7828397160b7e
Steve MacLean [Sat, 11 Feb 2017 01:07:48 +0000 (20:07 -0500)]
[Arm64] Add more GCROOTS logging (dotnet/coreclr#9514)
Commit migrated from https://github.com/dotnet/coreclr/commit/
578567c88692d6b7b10912cd9f825fdd33ac793e
danmosemsft [Sat, 11 Feb 2017 00:07:45 +0000 (16:07 -0800)]
Remove always defined FEATURE_CORESYSTEM
Commit migrated from https://github.com/dotnet/coreclr/commit/
751771a8976f909af772e35c167bd7e3ffbe44c8
Carol Eidt [Sat, 11 Feb 2017 01:05:34 +0000 (17:05 -0800)]
Add a test case for PR dotnet/coreclr#9496
Commit migrated from https://github.com/dotnet/coreclr/commit/
106379c0432f1ed5320d102a5c71d220138ac702
Jan Kotas [Sat, 11 Feb 2017 00:58:48 +0000 (16:58 -0800)]
Merge pull request dotnet/coreclr#9491 from jkotas/NoInlining
Use DynamicSecurityMethod attribute to mark methods with StackCrawlMark
Commit migrated from https://github.com/dotnet/coreclr/commit/
e5f2df239b546ac9ed2417506c90af222eaf1013
Carol Eidt [Sat, 11 Feb 2017 00:50:47 +0000 (16:50 -0800)]
Merge pull request dotnet/coreclr#9496 from CarolEidt/FixCoreFx15713
Fix System.Numerics.Vectors CoreFx test failures
Commit migrated from https://github.com/dotnet/coreclr/commit/
0604f7efc549b46e24240aa5b9aaf6d41b19f21b
Pat Gavlin [Sat, 11 Feb 2017 00:47:22 +0000 (16:47 -0800)]
Fix formatting.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b9f8cfddeb3d0fbcd18fae36b6ceade1d99d8b2
Jarret Shook [Sat, 11 Feb 2017 00:40:59 +0000 (16:40 -0800)]
Merge pull request dotnet/coreclr#9499 from jashook/arm64_dyn_block_assert
ARM64 Modify genCodeForInitBlk assert
Commit migrated from https://github.com/dotnet/coreclr/commit/
735cd1ef01946eb46293f598a030eeff33fadedd
Bruce Forstall [Sat, 11 Feb 2017 00:03:42 +0000 (16:03 -0800)]
Merge pull request dotnet/coreclr#9085 from mskvortsov/ryujit-arm32-eh
[RyuJIT/ARM32] EH, switch implementation and various updates
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c2459a1b4c31ca467d9a50fe76e37a4412bc872
jashook [Fri, 10 Feb 2017 22:28:51 +0000 (14:28 -0800)]
ARM64 Modify genCodeForInitBlk assert
Assert in codegenarm64 was incorrect for the GT_STORE_DYN_BLK oper.
If it is that oper then there will not be a temp reg used and instead
the size is computed and stored into REG_2. Add an assert to assert
this is done.
Commit migrated from https://github.com/dotnet/coreclr/commit/
310632c37a7143f8b88811b5e4f2e82ffe1aab3e
Christopher Costa [Fri, 10 Feb 2017 22:50:40 +0000 (14:50 -0800)]
remove additional slash
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a85d909e62b860a2cef7f9218974ad6bda3439a
Pat Gavlin [Fri, 10 Feb 2017 22:36:03 +0000 (14:36 -0800)]
Fix the release build with OPT_CONFIG and address PR feedback.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc3280b9d6d56ada0e9c4604aa7838fcbe40a278
Christopher Costa [Fri, 10 Feb 2017 22:39:00 +0000 (14:39 -0800)]
Fix race condition building System.Private.CoreLib and SOS.NETCore.dll
Commit migrated from https://github.com/dotnet/coreclr/commit/
00b7d15a27174689522e1dffc27f098663752d28
Carol Eidt [Fri, 10 Feb 2017 22:33:12 +0000 (14:33 -0800)]
Create lsra-throughput.md
Commit migrated from https://github.com/dotnet/coreclr/commit/
8be736608577fb1cd0b88c0b72048955bcc38b00
Jan Kotas [Fri, 10 Feb 2017 09:10:23 +0000 (01:10 -0800)]
Use DynamicSecurityMethod attribute to mark methods with StackCrawlMark
CoreCLR does not have CAS, and so we can conveniently use it to mark methods with StackCrawlMark to
decouple it from NoInlining. The original purpose of DynamicSecurityMethod was to disable inlining
of the caller and to insert CAS security checks, so we are basically just keeping the first part.
Fixes dotnet/coreclr#8102
Commit migrated from https://github.com/dotnet/coreclr/commit/
49d2d8f711286bf4ab3ffcd7b9f89a2ec80725bd
Jan Kotas [Fri, 10 Feb 2017 18:59:33 +0000 (10:59 -0800)]
Revert "JIT: fix confusing inline failure reason"
This reverts commit dotnet/coreclr@
0826f9dee6a8fdf8266523945708a684376b0280.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab98635befe574626e9ebb65e33fec3a060b4db6
Pat Gavlin [Fri, 10 Feb 2017 19:29:49 +0000 (11:29 -0800)]
Merge pull request dotnet/coreclr#9493 from pgavlin/ReportBytesAllocated
Report bytes allocated in the JIT time log.
Commit migrated from https://github.com/dotnet/coreclr/commit/
26b90b2a1331af2a0e918862505b52d573742061
Pat Gavlin [Fri, 10 Feb 2017 19:15:15 +0000 (11:15 -0800)]
Fix formatting.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dede051708f6651e4b50a2b3b7af72193285d27c
Carol Eidt [Fri, 10 Feb 2017 18:34:09 +0000 (10:34 -0800)]
Fix System.Numerics.Vectors CoreFx test failures
CoreFx Issue 15713 is due to a case of an Indir(Addr(Field(Vector3 local))) which for some reason has a MorphAddrContext of MACK_Ind. Although I haven't fully identified why that is the case, we should be conservative in this case and mark the address as do-not-enregister.
In addition, when attempting to debug this with a Checked JIT, I encountered an AV due to `GetJitTls` returning null in the `JITDUMP` calls in `getMaxIntrinsicSIMDVectorLength`. Again, I'm not sure why this would be the case but I have added guarding conditions.
Commit migrated from https://github.com/dotnet/coreclr/commit/
91be288f0d63c801f3aa6cbf9abd9ed852b0666f
Andy Ayers [Fri, 10 Feb 2017 18:30:00 +0000 (10:30 -0800)]
JIT: enable implicit tail calls from inlined code (dotnet/coreclr#9405)
Inlines of calls from implicit tail call sites should allow recognition
of inlinee implicit tail call sites.
The jit recognizes implicit tail call sites during importation,
but the inlinee compiler instance did not have compTailCallOpt set
and so never recognized these instances. Fix this and update the logic
to detect the transitively implicit tail calls.
Now that these sites are recognized, morph needs a fix to tunnel through
repeated casts for tail calls, since each level of inlining might add a
cast. All these casts should be identical.
Note under R2R tail calls are not yet recognized (see ZapInfo::canTailCall).
Enable only under FEATURE_TAILCALL_OPT_SHARED_RETURN since the
inline tail call sites are not likely to be in BBJ_RETURN blocks.
Closes dotnet/coreclr#9349.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a8cb674664cf2eefdc124a0b2c91687814c7901
Pat Gavlin [Fri, 10 Feb 2017 18:06:59 +0000 (10:06 -0800)]
Use `%Iu` instead of `%I64u`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
de1f80e754668004aaa319b95dea55d382d0b143
Pat Gavlin [Thu, 26 Jan 2017 23:57:47 +0000 (15:57 -0800)]
Add a flag to enable fine-grained optimize control.
Defining this flag, `OPT_CONFIG`, enables a number of optimizer-related
configuration values. Changing these config values allows for some
interesting experiments without rebuilding the JIT (e.g. disabling the
SSA-based optimizer without forcing minopts, repeating optimizations,
etc.).
This flag is defined by default in debug builds and undefined by default
in release builds.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc6aa70b0b0415229395a5456aed2f9623d3ba1b
Pat Gavlin [Fri, 10 Feb 2017 17:40:45 +0000 (09:40 -0800)]
Report bytes allocated in the JIT time log.
This adds a new column, "Total Bytes Allocated", to the JIT time log.
This column reports the total number of bytes requested from the host by
the JIT's arena allocator.
This change also enables `FEATURE_JIT_TIMER` by default (which only
affects JIT32).
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7bad4948b0f2544e30995decf4163ec41185639
Hyeongseok Oh [Fri, 10 Feb 2017 10:36:29 +0000 (19:36 +0900)]
[Linux/ARM] Fix cross-architecture component build error: disable unused code (dotnet/coreclr#8866)
* [ARM32/Linux] Fix cross-architecture component build error: unused function comparing CONTEXT with T_CONTEXT.
- change build script: remove duplicate test build in cross-component build
Commit migrated from https://github.com/dotnet/coreclr/commit/
16ecaf1bddfae2285c1f035f56fe86a7452e208e
Jonghyun Park [Fri, 10 Feb 2017 09:59:23 +0000 (18:59 +0900)]
Hide VirtualUnwindXXX for DACESS_COMPILE (dotnet/coreclr#9407)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e6965ec4891e3f2b14003822d3befbaa09c42dcb
Jonghyun Park [Fri, 10 Feb 2017 09:42:56 +0000 (18:42 +0900)]
Unify GetControlPC/GetRegdisplaySP/SetRegdisplaySP (dotnet/coreclr#9444)
* Unify GetControlPC
* Unify GetRegdisplaySP/SetRegdisplaySP
Commit migrated from https://github.com/dotnet/coreclr/commit/
e62b0f82a9c5bb770ac27ad2616074a32dbf0325
Dan Moseley [Fri, 10 Feb 2017 08:13:09 +0000 (00:13 -0800)]
Remove CER metadata (dotnet/coreclr#9487)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6d3dea27ecf6e6c35e6be76dc3132f14c3ef0d35
Ben Adams [Fri, 10 Feb 2017 08:12:50 +0000 (08:12 +0000)]
GcHandle Perf Tweaks (dotnet/coreclr#9473)
* GcHandle Perf Tweaks
Commit migrated from https://github.com/dotnet/coreclr/commit/
b85d71fb173d12c16fde49b00d1347d7772d604f
Dan Moseley [Fri, 10 Feb 2017 02:45:47 +0000 (18:45 -0800)]
Revert earlier CAS changes to Eventing/** and put under !if !CORECLR (dotnet/coreclr#9478)
* Revert earlier CAS changes to Eventing/** and put under !if !CORECLR
Commit migrated from https://github.com/dotnet/coreclr/commit/
ebac716ebbd34046916744f8d0d50829fbeb3104
Sivarv [Fri, 10 Feb 2017 02:31:17 +0000 (18:31 -0800)]
Merge pull request dotnet/coreclr#9455 from sivarv/structPromotion
Increase field count limit to 3 for promoting a struct with no field accesses.
Commit migrated from https://github.com/dotnet/coreclr/commit/
82d42a812f9409b9265754f315e661b977a4e521
Michelle McDaniel [Fri, 10 Feb 2017 01:51:05 +0000 (17:51 -0800)]
Merge pull request dotnet/coreclr#9456 from adiaaida/fixDesktopBreak
Replace binary literal with hex
Commit migrated from https://github.com/dotnet/coreclr/commit/
f62c43896a2e8d882325cbde494747217d10f96e
William Godbe [Fri, 10 Feb 2017 01:40:16 +0000 (17:40 -0800)]
Merge pull request dotnet/coreclr#9476 from jkotas/revert-9313
Revert "Delete mscorlib from packages (dotnet/coreclr#9313)"
Commit migrated from https://github.com/dotnet/coreclr/commit/
c536dddb44d3f5346cd42f64d9b44139f0899a22
Andy Ayers [Fri, 10 Feb 2017 00:55:10 +0000 (16:55 -0800)]
Merge pull request dotnet/coreclr#9470 from AndyAyersMS/FixNoinlineMessage
JIT: fix confusing inline failure reason
Commit migrated from https://github.com/dotnet/coreclr/commit/
19297c64f9cc31e11c722ac8d3a08391c1e2f2dc
Ahson Ahmed Khan [Fri, 10 Feb 2017 00:34:27 +0000 (16:34 -0800)]
Optimize Span.Fill (dotnet/coreclr#9441)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e76ef05c028be15bb79eb98f2a379b3746f3445
sivarv [Thu, 9 Feb 2017 19:27:29 +0000 (11:27 -0800)]
Increase the field count limit to 3 for promoting a struct with no filed access.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c511e7ee84d13fb9b9238c4432f7f3af4926d45c
Jan Kotas [Fri, 10 Feb 2017 00:17:57 +0000 (16:17 -0800)]
Revert "Delete mscorlib from packages (dotnet/coreclr#9313)"
This reverts commit dotnet/coreclr@
4fe623c9235e4df42be810d09ca7f282956e3cec.
# Conflicts:
# src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
Commit migrated from https://github.com/dotnet/coreclr/commit/
89ba46aa6e113486428ac7528f662e3a0a5a55eb
Joseph Tremoulet [Fri, 10 Feb 2017 00:11:03 +0000 (19:11 -0500)]
Merge pull request dotnet/coreclr#9451 from JosephTremoulet/UpdateValnum
Update conservative value numbers during CSE
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0bb85dab475f28cd782a8075ce8bc2e6871965d
Drew Scoggins [Thu, 9 Feb 2017 23:32:10 +0000 (15:32 -0800)]
Merge pull request dotnet/coreclr#9293 from guhuro/master
Add k-nucleotide to BenchmarkGames
Commit migrated from https://github.com/dotnet/coreclr/commit/
e2b0cc3a82a57af2e774f1a4b3ac3bbd03aa98d2
Gustavo Hurovich [Thu, 2 Feb 2017 23:27:48 +0000 (15:27 -0800)]
Add k-nucleotide to BenchmarkGames
Changed .gitattributes to set line endings to windows ones for the input
files of this test.
Added two different tests, one with and the other without parallelism.
Used FileStream instead of BufferedStream, since the latter does not
exist in netstandard 1.4
Commit migrated from https://github.com/dotnet/coreclr/commit/
812230630b694f14ebf0d54eb1c357f4dfb9bb5a
Jonghyun Park [Thu, 9 Feb 2017 22:33:46 +0000 (07:33 +0900)]
[x86/Linux] Port SWCB_GetExecutionState (dotnet/coreclr#9436)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ecadf5d1ced287a2b1995c1020d8703c1b9c06a
Andy Ayers [Thu, 9 Feb 2017 22:23:45 +0000 (14:23 -0800)]
JIT: fix confusing inline failure reason
When attempting to inline a method from the core library, the inline
will fail if the method being inlined has a noinline callee; the
presumption being that the callee expects to be able to find it's
immediate caller on the stack (this may or not may be the case, see dotnet/coreclr#8102).
Update the failure message for this case to hopefully better explain
why the inline doesn't happen.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0826f9dee6a8fdf8266523945708a684376b0280
Michelle McDaniel [Thu, 9 Feb 2017 21:09:33 +0000 (13:09 -0800)]
Replace binary literal with hex
The desktop build breaks with the binary literal used in the fat pointer
mask. Replace it with a hex equivalent.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1854a78c56a215aca8e5573c921c64a50b7113f0
Joseph Tremoulet [Tue, 7 Feb 2017 19:43:29 +0000 (11:43 -0800)]
Update conservative value numbers during CSE
When a CSE candidate's defs all share the same conservative value number,
its uses can be updated to share that conservative value number as well
when CSE is performed, because we are removing any reloads that may have
been the cause of the divergence. Performing this update can improve
subsequent range check elimination when the CSE use is array length or
index in a bounds check.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4641b56bc030516b199b499e8bfa77877e31b850
Jarret Shook [Thu, 9 Feb 2017 17:54:09 +0000 (09:54 -0800)]
Merge pull request dotnet/coreclr#9413 from jashook/fix_internal_build_warning
Fix warning from an unsigned/signed comparison
Commit migrated from https://github.com/dotnet/coreclr/commit/
28d04376fe54aea392d75d478bd468f14d134e67
Ben Adams [Thu, 9 Feb 2017 15:11:09 +0000 (15:11 +0000)]
Inlinable ArraySegment ctor (dotnet/coreclr#9433)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d81c60da7846d73df31d657a5c8c27aaed15d83
Frederik Carlier [Thu, 9 Feb 2017 12:55:20 +0000 (13:55 +0100)]
Rename __reserved to __clr_reserved to avoid a conflict on Android (dotnet/coreclr#9402)
* Rename __reserved to __clr_reserved to avoid a conflict on Android
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2e2c4434a1796d9d245ae3be727a675f4d63e36
SaeHie Park [Thu, 9 Feb 2017 09:36:10 +0000 (18:36 +0900)]
[x86/Linux] Fix UMThunkStub stack alignment (dotnet/coreclr#9365)
Fixes out going call in UMThunkStub to be 16 byte stack aligned
Commit migrated from https://github.com/dotnet/coreclr/commit/
eaee80011c9523ebe82cbadf1a693217e439fbfd
Mikhail Skvortcov [Wed, 8 Feb 2017 10:26:22 +0000 (13:26 +0300)]
Address the feedback.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a38f3351a8c01931f3f9dd18a3e7ec8ff788d1e3
Mikhail Skvortcov [Mon, 30 Jan 2017 10:58:12 +0000 (13:58 +0300)]
RyuJIT/ARM32: more of verbosity for NYI tracking
Commit migrated from https://github.com/dotnet/coreclr/commit/
078fdad31f8ab729042385965e22a2cd91cdabe0
Mikhail Skvortcov [Mon, 30 Jan 2017 10:55:53 +0000 (13:55 +0300)]
RyuJIT/ARM32: misc tiny updates
Commit migrated from https://github.com/dotnet/coreclr/commit/
fc105b9273e4790d3bddec19a51003ae3f025929
Mikhail Skvortcov [Mon, 30 Jan 2017 10:04:46 +0000 (13:04 +0300)]
RyuJIT/ARM32: update lea lowering
Commit migrated from https://github.com/dotnet/coreclr/commit/
b10a7429eb95d10020b9a16837d8ae8099aa4870
Mikhail Skvortcov [Thu, 26 Jan 2017 16:51:31 +0000 (19:51 +0300)]
RyuJIT/ARM32: enable fallback to legacy JIT
Commit migrated from https://github.com/dotnet/coreclr/commit/
c1b13ed5e9ca3be1a40562c54bc549e050beeb0b
Mikhail Skvortcov [Thu, 26 Jan 2017 16:50:28 +0000 (19:50 +0300)]
RyuJIT/ARM32: enable DecomposeLongs phase
Commit migrated from https://github.com/dotnet/coreclr/commit/
85f00fa9f2bf2ee4a083686cb1a59447b8dd0f74
Mikhail Skvortcov [Thu, 26 Jan 2017 16:49:05 +0000 (19:49 +0300)]
RyuJIT/ARM32: fix consume order and clone emitInsTernary
Commit migrated from https://github.com/dotnet/coreclr/commit/
076116be7b5e7890760778020604c698377a83e2
Mikhail Skvortcov [Mon, 30 Jan 2017 08:47:46 +0000 (11:47 +0300)]
RyuJIT/ARM32: refactor emitInsMov, update st.lclFld/Var codegen
Commit migrated from https://github.com/dotnet/coreclr/commit/
b341c300d5c8e2e827b9ce99e783e43586340727