platform/upstream/dotnet/runtime.git
7 years ago[GDBJIT] Provide full file names in generated DWARF (dotnet/coreclr#14172)
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

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

7 years agoUse FCDECL2_VI instead of FCDECL_VV (dotnet/coreclr#14215)
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

7 years agoPermit to disable FEATURE_EVENT_TRACE on Tizen (dotnet/coreclr#14217)
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

7 years ago[RyuJIT/ARM32] Fast tail call: Init LSRA to use R12 to save jump target (dotnet/corec...
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

7 years agoAdd ThreadPool.QueueUserWorkItem(..., bool preferLocal)
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

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

7 years agoMerge pull request dotnet/coreclr#14197 from rartemev/fixed_test_build_restore
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

7 years agoAdd SetThreadIdealProcessorEx PAL API (dotnet/coreclr#13606)
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

7 years agoUpdate linux-performance-tracing.md (dotnet/coreclr#14194)
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

7 years agoEnable event tracing for Tizen. (dotnet/coreclr#14137)
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

7 years agoFix for a special CoreRT helper CORINFO_HELP_JIT_PINVOKE_BEGIN (dotnet/coreclr#14147)
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

7 years agoMerge pull request dotnet/coreclr#14202 from wtgodbe/SigningDisableInstall
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

7 years agoInstall signing plugin with Real signing
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

7 years agoReplace Contract.Assumes and Contract.Assert with Debug.Assert/Debug.Fail (dotnet...
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

7 years agoFixed Linux test build
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

7 years agoMerge pull request dotnet/coreclr#14195 from wtgodbe/SignType
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

7 years agoUse Real signType to install plugin
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

7 years agoMerge pull request dotnet/coreclr#14193 from wtgodbe/SigningInfra
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

7 years agoUpdate publish infra to parameterize PB_SignType
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

7 years agoRemove Monitor asm helpers (dotnet/coreclr#14146)
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

7 years agoMerge pull request dotnet/coreclr#14171 from wateret/ryu-arm-putarg-bitcast
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

7 years ago[RyuJIT/armarch] Put arguments with GT_BITCAST
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

7 years agoAvoid async method delegate allocation
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

7 years ago[ARM32] Update armel rootfs for Tizen (dotnet/coreclr#14173)
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

7 years agoAdd CI PR triggers for x86_arm and x64_arm64 testing (dotnet/coreclr#14158)
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

7 years agoMerge pull request dotnet/coreclr#14041 from sdmaclea/PR-ARM64-SET-FLAGS
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

7 years ago[Arm64] Repsond to feedback
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

7 years agoCleanup gentree per comments
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

7 years ago[Arm64] Use GTF_SET_FLAGS/GTF_USE_FLAGS
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

7 years agoMerge pull request dotnet/coreclr#14145 from BruceForstall/CleanupTestsLst
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

7 years agoMerge pull request dotnet/coreclr#14080 from hqueue/arm/ryujit/issue_13750
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

7 years ago[mscorlib] Enable hardware intrinsic in debug and reflection (dotnet/coreclr#14164)
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

7 years ago[RyuJIT/ARM32] Fix assertion condition in LSRA for ARM32
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

7 years agoMoving parts of `System.Math` and `System.MathF` to be shared with CoreRT. (dotnet...
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

7 years agoMerge pull request dotnet/coreclr#14153 from mikedn/x86-newarr-nint
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

7 years agoMake GitHub_14116 test work on 32 bit
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

7 years agoMerge pull request dotnet/coreclr#14143 from sdmaclea/PR-FEEDBACK-14139
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

7 years ago[Arm64/Arm] Favor emitActualTypeSize for non-memory (dotnet/coreclr#14046)
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

7 years agoRe-enable tests that should now pass
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

7 years agoMerge pull request dotnet/coreclr#14109 from hseok-oh/ryujit/fix_13738
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

7 years agoMerge pull request dotnet/coreclr#14118 from rartemev/devdiv_491206
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

7 years agoMerge pull request dotnet/coreclr#14117 from mikedn/earyprop-neg-length
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

7 years ago[Arm64] Add Floor/Ceiling intrinsics (dotnet/coreclr#14132)
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

7 years agoCreate dotnet deployment and acquisition size on disk test (dotnet/coreclr#13956)
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

7 years ago[Arm64] Implement JCC/SETCC nodes (dotnet/coreclr#14101)
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

7 years agoRespond to Feedback dotnet/coreclr#14139
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

7 years agoMerge pull request dotnet/coreclr#13167 from alpencolt/ryu-arm-remove-lea-0-offset
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

7 years agoAdded IntegralValue() method
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

7 years agoMerge pull request dotnet/coreclr#14139 from sdmaclea/PR-ARM64-EMIT-CBxZ-TBxZ
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

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

7 years agoFix incorrect use of local var
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

7 years agoFix build logic as well
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

7 years agoDisable tracing tests on Windows at runtime, not build (dotnet/coreclr#14127)
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

7 years agoFileStream should not truncate files when opening fails. Fixes dotnet/corefxdotnet...
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

7 years agoMerge pull request dotnet/coreclr#14142 from sdmaclea/PR-ARM64-FIX-TYPO
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

7 years ago[Arm64] Fix typo
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

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

7 years agofix arm64_post_build typo
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

7 years agoMerge pull request dotnet/coreclr#14050 from mikedn/earlyprop-range-check
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

7 years agoSet default arm jobs to pri0
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

7 years agoRemove ResId class (dotnet/coreclr#14135)
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

7 years agoMerge pull request dotnet/coreclr#14129 from BruceForstall/FixArm64TriggerString
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

7 years ago[Arm64] Add emitters for cbz, cbnz, tbz, or tbnz
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

7 years agoFixing `FloatingPointUtils.round` to include the fix for dotnet/coreclr#12137 (dotnet...
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

7 years agoFix SIGSEGV in EventPipe on Shutdown (dotnet/coreclr#14123)
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

7 years agoImprove thread pool worker thread's spinning for work (dotnet/coreclr#13921)
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

7 years agofix checkLclVarSemantics (dotnet/coreclr#14053)
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

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

7 years agoFixed test return value
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

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

7 years agoFixed formating
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

7 years agoHandle long value in MergedReturns optimization
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

7 years agoAdded microtest
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

7 years agoFixed return constant value cache on 32 bit VMs
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

7 years agoFix ARM64 trigger strings to match job names
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

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

7 years agoAdd support for priority and update x64 client
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

7 years agoUpdate stub dispatch hidden argument convention for CoreRT (dotnet/coreclr#14120)
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

7 years ago[Jit] fgMorphCast does not reset GTF_ASG (dotnet/coreclr#14102)
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

7 years agoMerge pull request dotnet/coreclr#14107 from sdmaclea/PR-ARM64-REMOVE-DEAD
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

7 years agoDon't early-propagate negative array lengths
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

7 years agoRemove constant range checks in earlyprop
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

7 years ago[RyuJIT] Regression test dotnet/coreclr#13057
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

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

7 years ago[RyuJIT/ARM32] JitStress=1 test: padding local variable
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

7 years agoMerge branch 'master' of https://github.com/dotnet/coreclr
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

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

7 years agoFix superPMI getHelperFunction
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

7 years ago[Arm64] Remove LegacyBackend defines
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

7 years agoMerge pull request dotnet/coreclr#14039 from OpenVisionLabs/typos
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

7 years agoChange base of literals in k-nucleotide-9
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

7 years agoMerge pull request dotnet/coreclr#13541 from hqueue/arm/ryujit/issue_12614_enable_unr...
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

7 years agoMerge pull request dotnet/coreclr#14089 from BredPet/switch_generation
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

7 years agoMerge pull request dotnet/coreclr#14048 from wtgodbe/RIDs
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

7 years agoMerge pull request dotnet/coreclr#14086 from sdmaclea/PR-ARM-REMOVE-OBS-ASSERT
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

7 years agoImprove instructions for installing VS2017 and building for ARM (dotnet/coreclr#14073)
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

7 years agomark argplace node as no_lir (dotnet/coreclr#14044)
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

7 years agoARM32: fix switch jump table generation bug for RyuJIT
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

7 years agoWhen building as standalone GC the free object is initialized with 0 flags. This...
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