platform/upstream/dotnet/runtime.git
7 years agoRemove always defined FEATURE_SPAN_OF_T
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

7 years agoRemove never used FEATURE_NORM_IDNA_ONLY
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

7 years agoRemove never used FEATURE_MERGE_CULTURE_SUPPORT_AND_ENGINE
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

7 years agoRemove always defined FEATURE_MAIN_CLR_MODULE_USES_CORE_NAME
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

7 years agoRemove always defined FEATURE_HOST_ASSEMBLY_RESOLVER
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

7 years agoRemove always defined FEATURE_EXCEPTIONDISPATCHINFO
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

7 years agoRemove always defined FEATURE_EXCEPTION_NOTIFICATIONS
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

7 years agoRemove never used FEATURE_ASYNC_IO
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

7 years agoFix indentation in cmake
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

7 years agoAdd RuntimeHelpers.IsReferenceOrContainsReferences<T>() (dotnet/coreclr#9541)
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

7 years agoMerge pull request dotnet/coreclr#9544 from stephentoub/delete_unused_const
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

7 years agoOptimize List Clear+Remove (dotnet/coreclr#9540)
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

7 years agoRemove unused const in ArraySortHelper
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

7 years agoMerge pull request dotnet/coreclr#9525 from danmosemsft/defines2
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

7 years agoMerge pull request dotnet/coreclr#9471 from stephentoub/task_perf
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

7 years agoFix checks for methods that use StackCrawlMark (dotnet/coreclr#9537)
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

7 years agoMerge pull request dotnet/coreclr#9495 from pgavlin/OptConfig
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

7 years agoMerge pull request dotnet/coreclr#9523 from jashook/up_arm64_timeout
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

7 years agoInadvertent inline redundant define in threadsuspend.cpp
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

7 years agoInadvertent inline redundant define in pal
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

7 years agoInadvertent inline redundant define in fxretarget.h
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

7 years agoRevert inadvertent remove of #if FASTLOOP
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

7 years agoDead comment
danmosemsft [Sat, 11 Feb 2017 15:23:01 +0000 (07:23 -0800)]
Dead comment

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

7 years agoRevert "Remove always defined FEATURE_CORESYSTEM"
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

7 years agoRevert "Remove more always defined FEATURE_CORESYSTEM"
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

7 years agoMerge pull request dotnet/coreclr#9437 from JosephTremoulet/UpdateFormat
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

7 years agoPerf improvements to Task/Task<T>
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

7 years agoStreamline AsyncTaskMethodBuilders
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

7 years agoRevert "Remove always defined FEATURE_CORRUPTING_EXCEPTIONS"
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

7 years agoMissed part of file delete
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

7 years agoRemove always defined FEATURE_CORRUPTING_EXCEPTIONS
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

7 years agoRemove more always defined FEATURE_CORESYSTEM
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

7 years agoDead files
danmosemsft [Sat, 11 Feb 2017 05:29:23 +0000 (21:29 -0800)]
Dead files

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

7 years agoRemove always undefined FEATURE_CAS_POLICY
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

7 years agoRedundant ASSERTE blocks
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

7 years agoRemove always defined FEATURE_CORECLR
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

7 years agoDead files
danmosemsft [Sat, 11 Feb 2017 01:01:50 +0000 (17:01 -0800)]
Dead files

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

7 years agoRemove always undefined FEATURE_APTCA
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

7 years ago[Unix] Skipped tests should report exit code 2 (dotnet/coreclr#9510)
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

7 years agoTurn segfauts into asserts in debug build (dotnet/coreclr#9509)
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

7 years agoUp the timeout for arm64 jobs that run tests.
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

7 years agoMerge pull request dotnet/coreclr#9501 from chcosta/mscorlib_race
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

7 years agoUpdate lsra-throughput.md
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

7 years agoMerge pull request dotnet/coreclr#9519 from CarolEidt/FixCoreFx15713
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

7 years ago[Arm64/Unix] Remove aarch64 unsupported message (dotnet/coreclr#9508)
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

7 years ago[Arm64/Unix] Fix gdbjit support (dotnet/coreclr#9512)
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

7 years ago[Arm64] Add more GCROOTS logging (dotnet/coreclr#9514)
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

7 years agoRemove always defined FEATURE_CORESYSTEM
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

7 years agoAdd a test case for PR dotnet/coreclr#9496
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

7 years agoMerge pull request dotnet/coreclr#9491 from jkotas/NoInlining
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

7 years agoMerge pull request dotnet/coreclr#9496 from CarolEidt/FixCoreFx15713
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

7 years agoFix formatting.
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

7 years agoMerge pull request dotnet/coreclr#9499 from jashook/arm64_dyn_block_assert
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

7 years agoMerge pull request dotnet/coreclr#9085 from mskvortsov/ryujit-arm32-eh
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

7 years agoARM64 Modify genCodeForInitBlk assert
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

7 years agoremove additional slash
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

7 years agoFix the release build with OPT_CONFIG and address PR feedback.
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

7 years agoFix race condition building System.Private.CoreLib and SOS.NETCore.dll
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

7 years agoCreate lsra-throughput.md
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

7 years agoUse DynamicSecurityMethod attribute to mark methods with StackCrawlMark
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

7 years agoRevert "JIT: fix confusing inline failure reason"
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

7 years agoMerge pull request dotnet/coreclr#9493 from pgavlin/ReportBytesAllocated
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

7 years agoFix formatting.
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

7 years agoFix System.Numerics.Vectors CoreFx test failures
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

7 years agoJIT: enable implicit tail calls from inlined code (dotnet/coreclr#9405)
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

7 years agoUse `%Iu` instead of `%I64u`.
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

7 years agoAdd a flag to enable fine-grained optimize control.
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

7 years agoReport bytes allocated in the JIT time log.
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

7 years ago[Linux/ARM] Fix cross-architecture component build error: disable unused code (dotnet...
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

7 years agoHide VirtualUnwindXXX for DACESS_COMPILE (dotnet/coreclr#9407)
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

7 years agoUnify GetControlPC/GetRegdisplaySP/SetRegdisplaySP (dotnet/coreclr#9444)
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

7 years agoRemove CER metadata (dotnet/coreclr#9487)
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

7 years agoGcHandle Perf Tweaks (dotnet/coreclr#9473)
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

7 years agoRevert earlier CAS changes to Eventing/** and put under !if !CORECLR (dotnet/coreclr...
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

7 years agoMerge pull request dotnet/coreclr#9455 from sivarv/structPromotion
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

7 years agoMerge pull request dotnet/coreclr#9456 from adiaaida/fixDesktopBreak
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

7 years agoMerge pull request dotnet/coreclr#9476 from jkotas/revert-9313
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

7 years agoMerge pull request dotnet/coreclr#9470 from AndyAyersMS/FixNoinlineMessage
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

7 years agoOptimize Span.Fill (dotnet/coreclr#9441)
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

7 years agoIncrease the field count limit to 3 for promoting a struct with no filed access.
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

7 years agoRevert "Delete mscorlib from packages (dotnet/coreclr#9313)"
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

7 years agoMerge pull request dotnet/coreclr#9451 from JosephTremoulet/UpdateValnum
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

7 years agoMerge pull request dotnet/coreclr#9293 from guhuro/master
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

7 years agoAdd k-nucleotide to BenchmarkGames
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

7 years ago[x86/Linux] Port SWCB_GetExecutionState (dotnet/coreclr#9436)
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

7 years agoJIT: fix confusing inline failure reason
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

7 years agoReplace binary literal with hex
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

7 years agoUpdate conservative value numbers during CSE
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

7 years agoMerge pull request dotnet/coreclr#9413 from jashook/fix_internal_build_warning
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

7 years agoInlinable ArraySegment ctor (dotnet/coreclr#9433)
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

7 years agoRename __reserved to __clr_reserved to avoid a conflict on Android (dotnet/coreclr...
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

7 years ago[x86/Linux] Fix UMThunkStub stack alignment (dotnet/coreclr#9365)
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

7 years agoAddress the feedback.
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

7 years agoRyuJIT/ARM32: more of verbosity for NYI tracking
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

7 years agoRyuJIT/ARM32: misc tiny updates
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

7 years agoRyuJIT/ARM32: update lea lowering
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

7 years agoRyuJIT/ARM32: enable fallback to legacy JIT
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

7 years agoRyuJIT/ARM32: enable DecomposeLongs phase
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

7 years agoRyuJIT/ARM32: fix consume order and clone emitInsTernary
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

7 years agoRyuJIT/ARM32: refactor emitInsMov, update st.lclFld/Var codegen
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