Igor Kulaychuk [Wed, 27 Sep 2017 13:32:39 +0000 (16:32 +0300)]
[GDBJIT] Provide full file names in generated DWARF (dotnet/coreclr#14172)
* Fix compile unit info
Provide full path to source in SequencePoints for GDBJIT
Use source file and directory path for compile unit info in DWARF instead of module name.
* Add a class for building Directory Table and File Table
* Fix code inconsistencies and add comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
9509fc86a50ad107ee4d601e917cf072f135aa5e
Stephen Toub [Wed, 27 Sep 2017 12:32:54 +0000 (08:32 -0400)]
Merge pull request dotnet/coreclr#14214 from stephentoub/quwi_preferlocal
Add ThreadPool.QueueUserWorkItem(..., bool preferLocal)
Commit migrated from https://github.com/dotnet/coreclr/commit/
863625426be65b96f2a3c085fc049cfcd2f1a82a
Jonghyun Park [Wed, 27 Sep 2017 08:55:30 +0000 (17:55 +0900)]
Use FCDECL2_VI instead of FCDECL_VV (dotnet/coreclr#14215)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e8f69d0a160d6f6f69ad40350ea30346bc030b80
Jonghyun Park [Wed, 27 Sep 2017 08:54:51 +0000 (17:54 +0900)]
Permit to disable FEATURE_EVENT_TRACE on Tizen (dotnet/coreclr#14217)
Commit migrated from https://github.com/dotnet/coreclr/commit/
06763844394cc40933162f31fa911ab518ed5518
Hyeongseok Oh [Wed, 27 Sep 2017 04:20:06 +0000 (13:20 +0900)]
[RyuJIT/ARM32] Fast tail call: Init LSRA to use R12 to save jump target (dotnet/coreclr#14184)
* [RyuJIT/ARM32] Fast tail call: use R12 to save jump target
To save jump target of fast tail call on ARM32, we use r12.
* Use pre-defined mask and fix comment
Use pre-defined mask: RBM_R12
fix comment: mov pc -> br
Commit migrated from https://github.com/dotnet/coreclr/commit/
d7e798c7901c55fe8511632d98a2710affdd70ff
Stephen Toub [Wed, 27 Sep 2017 03:10:46 +0000 (23:10 -0400)]
Add ThreadPool.QueueUserWorkItem(..., bool preferLocal)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f28f313685345275e47f25eef9c155feeb59faad
Stephen Toub [Wed, 27 Sep 2017 02:39:38 +0000 (22:39 -0400)]
Merge pull request dotnet/coreclr#14178 from stephentoub/async_avoid_delegate
Avoid async method delegate allocation
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef08c8221aa4d33f6ad1399d13bdaab9b10b84a0
Roman Artemev [Wed, 27 Sep 2017 02:25:13 +0000 (19:25 -0700)]
Merge pull request dotnet/coreclr#14197 from rartemev/fixed_test_build_restore
Fixed Linux test build
Commit migrated from https://github.com/dotnet/coreclr/commit/
536cf25edfada76589a84e1620f93c39c15db167
Xiangyang (Mark) Guo [Wed, 27 Sep 2017 00:11:55 +0000 (17:11 -0700)]
Add SetThreadIdealProcessorEx PAL API (dotnet/coreclr#13606)
* add SetThreadIdealProcessorEx PAL API
* fix lpPreviousIdealProcessor
Commit migrated from https://github.com/dotnet/coreclr/commit/
73ef3c13c9b710cb04b67a904b098fb196c224c7
Brian Robbins [Tue, 26 Sep 2017 23:47:12 +0000 (16:47 -0700)]
Update linux-performance-tracing.md (dotnet/coreclr#14194)
Add documentation on how to resolve framework symbols on Linux performance traces.
Commit migrated from https://github.com/dotnet/coreclr/commit/
44f570e6efc8e908cebaef8d98b36f1b0c6f5c4a
Dmitri-Botcharnikov [Tue, 26 Sep 2017 22:57:20 +0000 (01:57 +0300)]
Enable event tracing for Tizen. (dotnet/coreclr#14137)
Commit migrated from https://github.com/dotnet/coreclr/commit/
485bbd5cd77d3824218149093e071e7dd8434627
Sergey Andreenko [Tue, 26 Sep 2017 22:35:01 +0000 (15:35 -0700)]
Fix for a special CoreRT helper CORINFO_HELP_JIT_PINVOKE_BEGIN (dotnet/coreclr#14147)
Commit migrated from https://github.com/dotnet/coreclr/commit/
cc4769bdcc9f7ed60df8893a99a02f1406fb056f
William Godbe [Tue, 26 Sep 2017 22:25:20 +0000 (15:25 -0700)]
Merge pull request dotnet/coreclr#14202 from wtgodbe/SigningDisableInstall
Install signing plugin with Real signing
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b3e8b16e3d1a1c46b4f550a861c9692de4b4a4a
wtgodbe [Tue, 26 Sep 2017 22:25:02 +0000 (15:25 -0700)]
Install signing plugin with Real signing
Commit migrated from https://github.com/dotnet/coreclr/commit/
716de0e29a573afbe8001af0b512e90088eafd40
Dan Moseley [Tue, 26 Sep 2017 21:19:16 +0000 (14:19 -0700)]
Replace Contract.Assumes and Contract.Assert with Debug.Assert/Debug.Fail (dotnet/coreclr#14136)
* Remove use of Contract.Assert and Contract.Assumes in favor of Debug.xx
* Remove dead IA64 blocks
* Remove use of Contract.Requires in favor of Debug.Assert
* Remove Contract.EndContractBlock()
* Dead comments
* Straggler EndcontractBlock
* Remove all Contract.Ensures
* Remove [Pure] attribute and using statements
* Remove using statements for M.D.Contracts.Internal.Contract
* Rmove CA suppressions for Contracts
* Remove M.D.Contracts.Internal stub
* Comments and extra using
* Revert accidentallly removed #if
* Unix build
* Merge Math*
* Fix assert not updated since desktop
* Asserts add no value: remove
* Avoid infinite recursion in StringBuilder assert
* Remove asserts that should be public parameter validation
* Fix comment
* Remove blank line after open curly
Commit migrated from https://github.com/dotnet/coreclr/commit/
da8b7181dbe362fbfe64c7ef72ff3a4a7db68f24
Roman Art [Sat, 23 Sep 2017 00:09:42 +0000 (17:09 -0700)]
Fixed Linux test build
Commit migrated from https://github.com/dotnet/coreclr/commit/
93b646c2833daf3b518ac5fb110494b30114fc60
William Godbe [Tue, 26 Sep 2017 21:06:06 +0000 (14:06 -0700)]
Merge pull request dotnet/coreclr#14195 from wtgodbe/SignType
Use Real signType to install plugin
Commit migrated from https://github.com/dotnet/coreclr/commit/
94cbb624a62f7a5712292a3e4da650ba335be4da
wtgodbe [Tue, 26 Sep 2017 21:04:57 +0000 (14:04 -0700)]
Use Real signType to install plugin
Commit migrated from https://github.com/dotnet/coreclr/commit/
2dfcf509b71ef6fefeb4dc9f289b7224aeb2d377
William Godbe [Tue, 26 Sep 2017 20:34:37 +0000 (13:34 -0700)]
Merge pull request dotnet/coreclr#14193 from wtgodbe/SigningInfra
Update publish infra to parameterize PB_SignType
Commit migrated from https://github.com/dotnet/coreclr/commit/
6fa6b7e135fb16fa1943e506d3c9400e2c1da5a7
wtgodbe [Tue, 26 Sep 2017 20:16:49 +0000 (13:16 -0700)]
Update publish infra to parameterize PB_SignType
Commit migrated from https://github.com/dotnet/coreclr/commit/
c84c7768410bc5eaab4d3a8f7009b339d0f4975d
Koundinya Veluri [Tue, 26 Sep 2017 20:14:53 +0000 (13:14 -0700)]
Remove Monitor asm helpers (dotnet/coreclr#14146)
- Removed asm helpers on Windows and used portable C++ helpers instead
- Rearranged fast path code to improve them a bit and match the asm more closely
Perf:
- The asm helpers are a bit faster. The code generated for the portable helpers is almost the same now, the remaining differences are:
- There were some layout issues where hot paths were in the wrong place and return paths were not cloned. Instrumenting some of the tests below with PGO on x64 resolved all of the layout issues. I couldn't get PGO instrumentation to work on x86 but I imagine it would be the same there.
- Register usage
- x64: All of the Enter functions are using one or two (TryEnter is using two) callee-saved registers for no apparent reason, forcing them to be saved and restored. r10 and r11 seem to be available but they're not being used.
- x86: Similarly to x64, the compiled functions are pushing and popping 2-3 additional registers in the hottest fast paths.
- I believe this is the main remaining gap and PGO is not helping with this
- On Linux, perf is >= before for the most part
- Perf tests used for below are updated in PR https://github.com/dotnet/coreclr/pull/13670
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f0ac5d2041d0c577607e2f778f2fbca1f7d732e
Carol Eidt [Tue, 26 Sep 2017 14:55:29 +0000 (07:55 -0700)]
Merge pull request dotnet/coreclr#14171 from wateret/ryu-arm-putarg-bitcast
[RyuJIT/armarch] Put arguments with GT_BITCAST
Commit migrated from https://github.com/dotnet/coreclr/commit/
296aaf12b40ddd7478b6a14d6099f48b4b049438
Hanjoung Lee [Mon, 25 Sep 2017 11:50:27 +0000 (20:50 +0900)]
[RyuJIT/armarch] Put arguments with GT_BITCAST
Put arguments with GT_BITCAST instead of GT_COPY for arm32/arm64
Fix dotnet/coreclr#14008
Commit migrated from https://github.com/dotnet/coreclr/commit/
0603f5b9ab96b20f72d006ab78a9b0c608c034df
Stephen Toub [Mon, 25 Sep 2017 16:02:10 +0000 (12:02 -0400)]
Avoid async method delegate allocation
Previously when a task-returning async method would yield for the first time, there would be four allocations: the task, the state machine object boxed to the heap, a context "runner" object, and a delegate that points to the boxed state machine's MoveNext method. A recent PR changed this to avoid the separate box object and the runner, but that still left the task and the delegate.
This PR avoids the delegate as well in a common case. For async methods that only ever await Task/Task`1, that aren't using a custom sync context/scheduler, and for which tracing isn't enabled, we know the inner workings of both the builder and the awaiter and can thus bypass the awaiter's pattern APIs; instead of creating the delegate that gets passed to the awaiter and then stored in the wrapped task's continuation slot/list, we can instead just store the boxed state machine directly in the slot/list.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a0630152c4339324ba9ac0fa886f9fb4916e759
Hyung-Kyu Choi [Tue, 26 Sep 2017 00:37:04 +0000 (09:37 +0900)]
[ARM32] Update armel rootfs for Tizen (dotnet/coreclr#14173)
* [Tizen/ARM32] Update armel rootfs for Tizen
- Add lttng-ust-dev to Tizen rootfs for cross build
- Use rootfs of the latest Tizen 4.0
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [Tizen/ARM32] Update Tizen CI script
- Update arm32 CI script for Tizen to use the latest environment
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
10c320c512e5246b658c76c1c699233e1ec8a35d
Bruce Forstall [Tue, 26 Sep 2017 00:22:03 +0000 (17:22 -0700)]
Add CI PR triggers for x86_arm and x64_arm64 testing (dotnet/coreclr#14158)
* Add CI PR triggers for x86_arm and x64_arm64 testing
* Fix bug
* Don't do GC stress with altjit
Commit migrated from https://github.com/dotnet/coreclr/commit/
466cc6ecdaef5273b78b4022b459433ddd9d4e64
Brian Sullivan [Mon, 25 Sep 2017 23:54:25 +0000 (16:54 -0700)]
Merge pull request dotnet/coreclr#14041 from sdmaclea/PR-ARM64-SET-FLAGS
[Arm64] Use GTF_SET_FLAGS/GTF_USE_FLAGS
Commit migrated from https://github.com/dotnet/coreclr/commit/
40f63d9d3421d41df225e6f5d41645a4394a8ae1
Steve MacLean [Mon, 25 Sep 2017 19:07:22 +0000 (15:07 -0400)]
[Arm64] Repsond to feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
d11ca21103627ef5eed573cb8ce5b208d385adbb
Steve MacLean [Tue, 19 Sep 2017 22:27:11 +0000 (18:27 -0400)]
Cleanup gentree per comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
e74fe85a47260881a5ebc0c2e3d5af7a6409a299
Steve MacLean [Fri, 15 Sep 2017 22:08:09 +0000 (18:08 -0400)]
[Arm64] Use GTF_SET_FLAGS/GTF_USE_FLAGS
Commit migrated from https://github.com/dotnet/coreclr/commit/
95f69bf863b500c645a072bc7a46f52bbdb3c491
Bruce Forstall [Mon, 25 Sep 2017 17:10:41 +0000 (10:10 -0700)]
Merge pull request dotnet/coreclr#14145 from BruceForstall/CleanupTestsLst
Re-enable tests that should now pass
Commit migrated from https://github.com/dotnet/coreclr/commit/
522c30957ac8b45e692420974bf9732d49503a36
Carol Eidt [Mon, 25 Sep 2017 14:47:33 +0000 (07:47 -0700)]
Merge pull request dotnet/coreclr#14080 from hqueue/arm/ryujit/issue_13750
[RyuJIT] Fix assertion condition for interval of constant value in LSRA
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee79bb188e097b49f5ffcb36f0d7c86314d45579
Fei Peng [Mon, 25 Sep 2017 12:22:36 +0000 (05:22 -0700)]
[mscorlib] Enable hardware intrinsic in debug and reflection (dotnet/coreclr#14164)
Commit migrated from https://github.com/dotnet/coreclr/commit/
de5af5e9547e695c02b09ac6a2437a810962e0f6
Hyung-Kyu Choi [Wed, 20 Sep 2017 07:05:07 +0000 (16:05 +0900)]
[RyuJIT/ARM32] Fix assertion condition in LSRA for ARM32
Update assertion condition when handling an inactive
constant interval for ARM32, because an inactive constant
interval may be encountered.
Fix dotnet/coreclr#13750
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
a1c7400b8275cbd19d8f826445df31cf060fdfda
Tanner Gooding [Sat, 23 Sep 2017 21:23:23 +0000 (14:23 -0700)]
Moving parts of `System.Math` and `System.MathF` to be shared with CoreRT. (dotnet/coreclr#14119)
* Moving parts of `System.MathF` to be shared with CoreRT.
* Moving parts of `System.Math` to be shared with CoreRT.
* Updating the new 'Round' named intrinsic to map to the legacy 'Round' intrinsic.
* Adding back the case statement for CORINFO_INTRINSIC_Round, since it is required for Desktop compat.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bfaad966b593788a58cf213dbbea6645d6446920
Bruce Forstall [Sat, 23 Sep 2017 20:39:13 +0000 (13:39 -0700)]
Merge pull request dotnet/coreclr#14153 from mikedn/x86-newarr-nint
Make GitHub_14116 test work on 32 bit
Commit migrated from https://github.com/dotnet/coreclr/commit/
ededd38548f742a4ddb16e6af9fe4f4c82c64bef
Mike Danes [Sat, 23 Sep 2017 18:42:43 +0000 (21:42 +0300)]
Make GitHub_14116 test work on 32 bit
newarr expects int32 or native int on the stack. x64 JIT hapilly allows an int64 as well but the x86 JIT asserts.
Also change the constant to 0xFFFFFFF1FFFFFFFF so OverflowException is thrown on 32 bit as well.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b1274c37723ee22d3fc22fd30f7cb2f7401d9be
Bruce Forstall [Sat, 23 Sep 2017 01:06:06 +0000 (18:06 -0700)]
Merge pull request dotnet/coreclr#14143 from sdmaclea/PR-FEEDBACK-14139
Respond to Feedback dotnet/coreclr#14139
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f209ff2970c55e710728996a9d19e9cbc500e9c
Steve MacLean [Sat, 23 Sep 2017 01:03:40 +0000 (21:03 -0400)]
[Arm64/Arm] Favor emitActualTypeSize for non-memory (dotnet/coreclr#14046)
* [Arm64/Arm] Favor emitActualTypeSize for non-memory
Register ops size is generally referred to
by emitActualTypeSize. 'Actual' size refers to the
size in register as opposed to size in memory
* [Arm64] Remove bogus CQ ToDo
* Fix formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
89f5e464b7ad8b8f347693d190dc7e475c73ba34
Bruce Forstall [Sat, 23 Sep 2017 00:57:34 +0000 (17:57 -0700)]
Re-enable tests that should now pass
Commit migrated from https://github.com/dotnet/coreclr/commit/
011e60b433b76569ce5378196d35917b03d1aaff
Bruce Forstall [Sat, 23 Sep 2017 00:39:15 +0000 (17:39 -0700)]
Merge pull request dotnet/coreclr#14109 from hseok-oh/ryujit/fix_13738
[RyuJIT/ARM32] JitStress=1 test: padding local variable
Commit migrated from https://github.com/dotnet/coreclr/commit/
52f428891a72d44350174c54769c22faa079fcc5
Roman Artemev [Sat, 23 Sep 2017 00:11:38 +0000 (17:11 -0700)]
Merge pull request dotnet/coreclr#14118 from rartemev/devdiv_491206
Fixed return constant value cache on 32 bit VMs
Commit migrated from https://github.com/dotnet/coreclr/commit/
3856254840e967c97b878d6d9fa61cd2769a94f5
Bruce Forstall [Sat, 23 Sep 2017 00:09:09 +0000 (17:09 -0700)]
Merge pull request dotnet/coreclr#14117 from mikedn/earyprop-neg-length
Don't early-propagate negative array lengths
Commit migrated from https://github.com/dotnet/coreclr/commit/
a11e4b1377cd1f6305782f62dcf555659625e7c2
Steve MacLean [Fri, 22 Sep 2017 23:59:22 +0000 (19:59 -0400)]
[Arm64] Add Floor/Ceiling intrinsics (dotnet/coreclr#14132)
* [Arm64] Add Floor/Ceiling intrinsics
* Templatize emitActualTypeSize
Commit migrated from https://github.com/dotnet/coreclr/commit/
492d79e2a29ac36772e1e95b6dd3818959e99890
Victor "Nate" Graf [Fri, 22 Sep 2017 23:47:15 +0000 (16:47 -0700)]
Create dotnet deployment and acquisition size on disk test (dotnet/coreclr#13956)
* [WIP] First version of SoDBench. Contains bugs
* [WIP] Move SoDBench files and increase error checking
* [WIP] Add NugetConfig to enable pulling packages from myget
* [WIP] Remove unhelpful templates and add back oses
* [WIP] Add ability to specify channel
* [WIP] Improve CSV writing
* [WIP] Improve options parsing
* Fix syntax error
* [WIP] Add test leg to perf.groovy
* [WIP] Adjust label to target an existing machine pool
* Change label to run on virtual machine
* Use setMachineAffinity
* Add ASP.NET-Core feed and deafult to master as the channel
* Change channel to master in perf.groovy
* Move NuGet.Config up a directory so it only needs to be written once
* Add CommandLine to external dependencies
* Remove CommandLine as it is now in external.depproj
* Adjust wget command to work more consistantly
* Change calculation of relative paths for clarity
* Set job to run daily instead of on push/PR
* Build sodbench on job run
* Remove MSBuild from job
* Fix quote placement
* Change metadata to be more accurate
* Add rollup totals for each measured category
* Refactor to use a tree rather than a dictionary
* Limit report size
* Publish in release configuration
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d02629b1deaf8c45b57d3bdea545b0c50e2d749
Steve MacLean [Fri, 22 Sep 2017 23:11:33 +0000 (19:11 -0400)]
[Arm64] Implement JCC/SETCC nodes (dotnet/coreclr#14101)
* [Arm64] Implement JCC/SETCC nodes
* Fix formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
5bd48ba9788119d5cbae8e01751319aed6b6df6e
Steve MacLean [Fri, 22 Sep 2017 22:16:52 +0000 (18:16 -0400)]
Respond to Feedback dotnet/coreclr#14139
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb6e6d8df00df6e1c37148183e3f693d269fb0e0
Bruce Forstall [Fri, 22 Sep 2017 22:13:32 +0000 (15:13 -0700)]
Merge pull request dotnet/coreclr#13167 from alpencolt/ryu-arm-remove-lea-0-offset
[RyuJIT/ARM32] Remove LEA[b+0]
Commit migrated from https://github.com/dotnet/coreclr/commit/
7418ab22c84aa84f9c2d087199daa1f6336f3753
Roman Artemev [Fri, 22 Sep 2017 20:51:10 +0000 (13:51 -0700)]
Added IntegralValue() method
Commit migrated from https://github.com/dotnet/coreclr/commit/
99dcfc5816b7578e0d4899a88de15196130d06d0
Brian Sullivan [Fri, 22 Sep 2017 21:34:47 +0000 (14:34 -0700)]
Merge pull request dotnet/coreclr#14139 from sdmaclea/PR-ARM64-EMIT-CBxZ-TBxZ
[Arm64] Add emitters for cbz, cbnz, tbz, and tbnz
Commit migrated from https://github.com/dotnet/coreclr/commit/
8dd0eaca2e2b103b6e323ea3b7e875de14a103f1
Jarret Shook [Fri, 22 Sep 2017 21:16:33 +0000 (14:16 -0700)]
Merge pull request dotnet/coreclr#14140 from jashook/pri0_arm_jobs
Set default arm jobs to pri0
Commit migrated from https://github.com/dotnet/coreclr/commit/
374a27b79053e8bf4515b2bd9321e1f6d8762a51
jashook [Fri, 22 Sep 2017 21:02:55 +0000 (14:02 -0700)]
Fix incorrect use of local var
Commit migrated from https://github.com/dotnet/coreclr/commit/
f8215bed2fc76a2b87046d32fe8d32c04ec8f5f2
jashook [Fri, 22 Sep 2017 20:40:53 +0000 (13:40 -0700)]
Fix build logic as well
Commit migrated from https://github.com/dotnet/coreclr/commit/
976f4930654c93a2f351db408d08ec01d277ed22
Victor "Nate" Graf [Fri, 22 Sep 2017 20:30:02 +0000 (13:30 -0700)]
Disable tracing tests on Windows at runtime, not build (dotnet/coreclr#14127)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ae3c50e2e9c22c9236d5b17840bb225a283fa23
Kasper Fabæch Brandt [Fri, 22 Sep 2017 19:51:00 +0000 (21:51 +0200)]
FileStream should not truncate files when opening fails. Fixes dotnet/corefxdotnet/coreclr#24081 (dotnet/coreclr#14043)
Commit migrated from https://github.com/dotnet/coreclr/commit/
555f436263ed5632443efbcc9b860a7d7c5069a3
Brian Sullivan [Fri, 22 Sep 2017 18:27:12 +0000 (11:27 -0700)]
Merge pull request dotnet/coreclr#14142 from sdmaclea/PR-ARM64-FIX-TYPO
[Arm64] Fix typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d3788573000ed800c5b6851c3c93b59fca3946a
Steve MacLean [Fri, 22 Sep 2017 17:50:01 +0000 (13:50 -0400)]
[Arm64] Fix typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
18816689f32f9e6c329b1e8986f75f2a5a9dbdb8
Jarret Shook [Fri, 22 Sep 2017 17:40:42 +0000 (10:40 -0700)]
Merge pull request dotnet/coreclr#14141 from jashook/fix_post_build_typo
fix arm64_post_build typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc01dc6da5e912b24a54fb672608af733e49353f
jashook [Fri, 22 Sep 2017 17:38:59 +0000 (10:38 -0700)]
fix arm64_post_build typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
1fa195ffef0ae446d630c03bd5682fcf67b241fe
Brian Sullivan [Fri, 22 Sep 2017 17:32:04 +0000 (10:32 -0700)]
Merge pull request dotnet/coreclr#14050 from mikedn/earlyprop-range-check
Remove constant range checks in earlyprop
Commit migrated from https://github.com/dotnet/coreclr/commit/
799936c4792a67b18aac0124419fba9de9775a7e
jashook [Fri, 22 Sep 2017 16:34:42 +0000 (09:34 -0700)]
Set default arm jobs to pri0
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe5e34ce0fa9247448b9a807fc7b24915924f2e6
Dan Moseley [Fri, 22 Sep 2017 16:31:24 +0000 (09:31 -0700)]
Remove ResId class (dotnet/coreclr#14135)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5427f1a2ca2736f79778ecf86847ab24c8af645a
Bruce Forstall [Fri, 22 Sep 2017 16:24:35 +0000 (09:24 -0700)]
Merge pull request dotnet/coreclr#14129 from BruceForstall/FixArm64TriggerString
Fix ARM64 trigger strings to match job names
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e50cb5093a004aaa2591cfddb0cd6bbc4cd5a27
Steve MacLean [Tue, 19 Sep 2017 16:39:20 +0000 (12:39 -0400)]
[Arm64] Add emitters for cbz, cbnz, tbz, or tbnz
Commit migrated from https://github.com/dotnet/coreclr/commit/
17d3593a93599c5a1e02bef061441bdb8c778648
Tanner Gooding [Fri, 22 Sep 2017 10:47:24 +0000 (03:47 -0700)]
Fixing `FloatingPointUtils.round` to include the fix for dotnet/coreclr#12137 (dotnet/coreclr#14133)
Commit migrated from https://github.com/dotnet/coreclr/commit/
48c1ec9fa89ad49eb205fb7da6aff278f36e35c1
Brian Robbins [Fri, 22 Sep 2017 08:17:48 +0000 (01:17 -0700)]
Fix SIGSEGV in EventPipe on Shutdown (dotnet/coreclr#14123)
* Fix a crash that occurs when a provider is registered after the configuration object has been destroyed.
* Code review feedback.
Commit migrated from https://github.com/dotnet/coreclr/commit/
42309c858a742e2ec93c34fa4392a9a097d3d816
Koundinya Veluri [Fri, 22 Sep 2017 07:17:16 +0000 (00:17 -0700)]
Improve thread pool worker thread's spinning for work (dotnet/coreclr#13921)
Improve thread pool worker thread's spinning for work
Closes https://github.com/dotnet/coreclr/issues/5928
Replaced UnfairSemaphore with a new implementation in CLRLifoSemaphore
- UnfairSemaphore had a some benefits:
- It tracked the number of spinners and avoids waking up waiters as long as the signal count can be satisfied by spinners
- Since spinners get priority over waiters, that's the main "unfair" part of it that allows hot threads to remain hot and cold threads to remain cold. However, waiters are still released in FIFO order.
- Spinning helps with throughput when incoming work is bursty
- All of the above benefits were retained in CLRLifoSemaphore and some were improved:
- Similarly to UnfairSemaphore, the number of spinners are tracked and preferenced to avoid waking up waiters
- For waiting, on Windows, a I/O completion port is used since it releases waiters in LIFO order. For Unix, added a prioritized wait function to the PAL to register waiters in reverse order for LIFO release behavior. This allows cold waiters to time out more easily since they will be used less frequently.
- Similarly to SemaphoreSlim, the number of waiters that were signaled to wake but have not yet woken is tracked to help avoid waking up an excessive number of waiters
- Added some YieldProcessorNormalized() calls to the spin loop. This avoids thrashing on Sleep(0) by adding a delay to the spin loop to allow it to be more effective when there are no threads to switch to, or the only other threads to switch to are other similar spinners.
- Removed the processor count multiplier on the max spin count and retuned the default max spin count. The processor count multiplier was causing excessive CPU usage on machines with many processors.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6cee2edabe83ebb4899c38859f6e36eb461a3759
Sergey Andreenko [Fri, 22 Sep 2017 04:30:15 +0000 (21:30 -0700)]
fix checkLclVarSemantics (dotnet/coreclr#14053)
* extract CheckLclVarSemantics from CheckLIR.
* add a test that shows the silent bad execution.
* fix the checker.
* add the test to the exclude list.
* rename consumed to used
Commit migrated from https://github.com/dotnet/coreclr/commit/
43cf34fe74b435427ffb62f54fc730b4b46c4c22
Stephen Toub [Fri, 22 Sep 2017 01:49:15 +0000 (18:49 -0700)]
Merge pull request dotnet/coreclr#13105 from stephentoub/asyncmem
Reduce allocations when async methods yield
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c33e99150cfe9c173f524acff4ea7be320ce08c
Roman Artemev [Fri, 22 Sep 2017 01:07:33 +0000 (18:07 -0700)]
Fixed test return value
Commit migrated from https://github.com/dotnet/coreclr/commit/
d214eaef46d32e38ff88c0491f5a522d3ed53647
Jarret Shook [Fri, 22 Sep 2017 00:49:34 +0000 (17:49 -0700)]
Merge pull request dotnet/coreclr#14126 from jashook/use_new_x64_client
Add support for priority and update x64 client
Commit migrated from https://github.com/dotnet/coreclr/commit/
6165f9e7ca566d328269b56d6dea472701ffdc46
Roman Artemev [Thu, 21 Sep 2017 23:37:38 +0000 (16:37 -0700)]
Fixed formating
Commit migrated from https://github.com/dotnet/coreclr/commit/
aaf970d07a20f0b451204f3b478bb906c1e99b9e
Roman Artemev [Thu, 21 Sep 2017 23:20:27 +0000 (16:20 -0700)]
Handle long value in MergedReturns optimization
Commit migrated from https://github.com/dotnet/coreclr/commit/
64f18544ea253cceaf2120f81df9dd3dc1fceb04
Roman Artemev [Thu, 21 Sep 2017 21:45:01 +0000 (14:45 -0700)]
Added microtest
Commit migrated from https://github.com/dotnet/coreclr/commit/
71febdbd021a5d5bf11ff25e52e6d99a481e552a
Roman Artemev [Thu, 21 Sep 2017 20:16:49 +0000 (13:16 -0700)]
Fixed return constant value cache on 32 bit VMs
Commit migrated from https://github.com/dotnet/coreclr/commit/
b1864177af87c87c0c5e950b3116d35dd4d20210
Bruce Forstall [Thu, 21 Sep 2017 23:47:41 +0000 (16:47 -0700)]
Fix ARM64 trigger strings to match job names
In particular, add "Cross" to the trigger strings.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b4c8f7df20aeb6bc134c53530362fa318bc4a3ec
Jarret Shook [Thu, 21 Sep 2017 22:59:06 +0000 (15:59 -0700)]
Merge pull request dotnet/coreclr#14108 from jashook/spmi_get_helper
Fix superPMI getHelperFunction
Commit migrated from https://github.com/dotnet/coreclr/commit/
698ed0e47bd43e2ec2c3aa50119396024bee6986
jashook [Thu, 21 Sep 2017 22:55:18 +0000 (15:55 -0700)]
Add support for priority and update x64 client
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a00090443a03732b34bfbca7733705b6b9998e8
Jan Kotas [Thu, 21 Sep 2017 21:53:29 +0000 (14:53 -0700)]
Update stub dispatch hidden argument convention for CoreRT (dotnet/coreclr#14120)
Commit migrated from https://github.com/dotnet/coreclr/commit/
54896fe6047465bcc01f6f06fb0da3b127e8f968
Sergey Andreenko [Thu, 21 Sep 2017 21:45:07 +0000 (14:45 -0700)]
[Jit] fgMorphCast does not reset GTF_ASG (dotnet/coreclr#14102)
add repro for DevDiv_495792.
fix the issue.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c2407a3deaa68d14364eeb85309ae4026a7f381
Bruce Forstall [Thu, 21 Sep 2017 20:37:09 +0000 (13:37 -0700)]
Merge pull request dotnet/coreclr#14107 from sdmaclea/PR-ARM64-REMOVE-DEAD
[Arm64] Remove LegacyBackend defines
Commit migrated from https://github.com/dotnet/coreclr/commit/
c4d7429096edc5779f1cbd999c972c3bae236085
Mike Danes [Thu, 21 Sep 2017 19:50:16 +0000 (22:50 +0300)]
Don't early-propagate negative array lengths
There's no need for that and if the negative array length is not representable in 32 bit we'll end up producing a GT_CNS_INT node that has TYP_INT and a 64 bit value.
That's because the original type (always TYP_INT) of the GT_ARR_LENGTH is preserved when changing the node to GT_CNS_INT.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc407ced89e9b2a5005ffbdb1756c1fafe93f068
Mike Danes [Fri, 18 Aug 2017 20:58:30 +0000 (23:58 +0300)]
Remove constant range checks in earlyprop
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c6761c83768aa0a1fce4a33f821465882d697df
Alexander Soldatov [Wed, 2 Aug 2017 13:17:32 +0000 (16:17 +0300)]
[RyuJIT] Regression test dotnet/coreclr#13057
LEA[b+0] was not eliminated on ARM which cause assertion on code generation
Commit migrated from https://github.com/dotnet/coreclr/commit/
98dcb19161c640a27aaee37f793dac7712e51729
Steve MacLean [Thu, 21 Sep 2017 15:04:26 +0000 (11:04 -0400)]
Fix formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
ae5b5c1a9296f5ef50b7395269e523b902433655
Hyeongseok Oh [Thu, 21 Sep 2017 07:18:30 +0000 (16:18 +0900)]
[RyuJIT/ARM32] JitStress=1 test: padding local variable
JitStress=1 test make padding offset for local variable.
On ARM32, padding value must support stack alignment.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fcd7a0714af7f1bbac7225cffdf442307864b173
Tomas Weinfurt [Thu, 21 Sep 2017 07:03:16 +0000 (00:03 -0700)]
Merge branch 'master' of https://github.com/dotnet/coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce196970faef34c1013d01cd12c76bdd7ad53731
Joseph Tremoulet [Thu, 21 Sep 2017 02:09:01 +0000 (22:09 -0400)]
Merge pull request dotnet/coreclr#14099 from JosephTremoulet/LiteralBase
Change base of literals in k-nucleotide-9
Commit migrated from https://github.com/dotnet/coreclr/commit/
282ca07265d43407454cd71240222d83b98c63d7
jashook [Wed, 20 Sep 2017 23:56:31 +0000 (16:56 -0700)]
Fix superPMI getHelperFunction
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8e157e2ceed80d535acacc0b7ba517f69280c28
Steve MacLean [Wed, 20 Sep 2017 23:05:43 +0000 (19:05 -0400)]
[Arm64] Remove LegacyBackend defines
Commit migrated from https://github.com/dotnet/coreclr/commit/
6d2c21faf54e4fdad47c36e700cf415a5f177305
Bruce Forstall [Wed, 20 Sep 2017 22:02:00 +0000 (15:02 -0700)]
Merge pull request dotnet/coreclr#14039 from OpenVisionLabs/typos
Correction of typos in several infrastructure files
Commit migrated from https://github.com/dotnet/coreclr/commit/
1dc13aef2085b63ba752e44d752f36031afa7a17
Joseph Tremoulet [Wed, 20 Sep 2017 21:25:02 +0000 (17:25 -0400)]
Change base of literals in k-nucleotide-9
This keeps it in sync with the copies in the release branches (the
release/1.1.0 branch required this since older C# compilers don't accept
the binary literals), and improves readability.
Commit migrated from https://github.com/dotnet/coreclr/commit/
deff2c6f4c6974468590f1409aaaa7494cbca4d0
Bruce Forstall [Wed, 20 Sep 2017 21:23:00 +0000 (14:23 -0700)]
Merge pull request dotnet/coreclr#13541 from hqueue/arm/ryujit/issue_12614_enable_unrolling_for_cpblk
[RyuJIT/ARM32] enable unrolling for cpblk
Commit migrated from https://github.com/dotnet/coreclr/commit/
155728da699955a5fdc36ac394be68114bd53689
Bruce Forstall [Wed, 20 Sep 2017 19:48:48 +0000 (12:48 -0700)]
Merge pull request dotnet/coreclr#14089 from BredPet/switch_generation
ARM32: fix switch jump table generation bug for RyuJIT
Commit migrated from https://github.com/dotnet/coreclr/commit/
3609269610ba7df0e52809b989e69a00dfeb089a
William Godbe [Wed, 20 Sep 2017 19:34:09 +0000 (12:34 -0700)]
Merge pull request dotnet/coreclr#14048 from wtgodbe/RIDs
Restore packages for every Windows architecture by default
Commit migrated from https://github.com/dotnet/coreclr/commit/
8015911ca2dfa96165d5a772c3c7cb6cd08b625b
Bruce Forstall [Wed, 20 Sep 2017 18:35:20 +0000 (11:35 -0700)]
Merge pull request dotnet/coreclr#14086 from sdmaclea/PR-ARM-REMOVE-OBS-ASSERT
[Arm] Remove obsolete assert
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6b718d19d56badde2dd9bb1fbe055fe02096acc
Bruce Forstall [Wed, 20 Sep 2017 18:12:14 +0000 (11:12 -0700)]
Improve instructions for installing VS2017 and building for ARM (dotnet/coreclr#14073)
* Improve instructions for installing VS2017 and building for ARM
* Add section on cross-building ARM for Windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
18fd76f78d917350e5ae439918b0f4d53a2dde20
Sergey Andreenko [Wed, 20 Sep 2017 18:04:16 +0000 (11:04 -0700)]
mark argplace node as no_lir (dotnet/coreclr#14044)
mark argplace node as no_lir
Commit migrated from https://github.com/dotnet/coreclr/commit/
9eedca03f2b2ef32ac09f6a207d1e33236727d60
Petr Bred [Wed, 20 Sep 2017 17:05:52 +0000 (20:05 +0300)]
ARM32: fix switch jump table generation bug for RyuJIT
Signed-off-by: Petr Bred <bredpetr@gmail.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
76dccf16c8ba59647e08da144e5e49e5933c2abd
Jeff Schwartz [Wed, 20 Sep 2017 17:17:32 +0000 (10:17 -0700)]
When building as standalone GC the free object is initialized with 0 flags. This leads to the free list plugs not having the right size on heap traversal (often leading to a crash). The fix is for the free object to be an array with a compenent size of 1 byte.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a1c28f05642ac0420b78f35ad32a00b6aef0488