Andy Ayers [Wed, 26 Apr 2017 20:04:14 +0000 (13:04 -0700)]
Merge pull request dotnet/coreclr#11218 from AndyAyersMS/FixReturnTypeMismatch
JIT: fix return type mismatch inlining block
Commit migrated from https://github.com/dotnet/coreclr/commit/
370ba268fc4857cbea47f7c7fc6e12c460aa6500
Michael Letterle [Fri, 31 Mar 2017 15:31:53 +0000 (11:31 -0400)]
Lookup System.Runtime and mscorlib references by Assembly name
Rather than by alias.
Fixes dotnet/coreclr#10595
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf579f8fdc6dbc77c3d989b9992590d55784028e
William Godbe [Wed, 26 Apr 2017 18:29:52 +0000 (11:29 -0700)]
Merge pull request dotnet/coreclr#11229 from wtgodbe/CrossgenFix
Exit on failure of HelixPrep.proj
Commit migrated from https://github.com/dotnet/coreclr/commit/
077cf9cb03213c42eef2a9df99312697ca9faa52
wtgodbe [Wed, 26 Apr 2017 18:29:10 +0000 (11:29 -0700)]
Exit on failure of HelixPrep.proj
Commit migrated from https://github.com/dotnet/coreclr/commit/
4d516b1786d587cede0eecdeb71dfe4c87913421
Jan Vorlicek [Wed, 26 Apr 2017 14:10:13 +0000 (07:10 -0700)]
Enable build with clang 4.0 (dotnet/coreclr#11226)
This change enables build with clang 4.0 and fixes a bunch of new errors that
the stricter compiler was reporting.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8b1595b74c943b33fa794e63e440e6f4c9679478
Jan Vorlicek [Wed, 26 Apr 2017 13:48:20 +0000 (06:48 -0700)]
Fix thread wait to be resilient to real time clock changes on Unix (dotnet/coreclr#11213)
This change fixes a problem that happens when a thread uses a timed wait
and the real time clock change in the system (e.g. due to the user action,
time server sync, leap second, etc). In such case, the wait may end up waiting
for shorter or longer period of time.
It fixes the issue for Thread.Sleep and timed wait on a process local synchronization
primitives by using CLOCK_MONOTONIC instead of CLOCK_REALTIME for waiting on
cond vars.
Unfortunately, the waits on cross process synchronication primitives like
named mutexes always use CLOCK_REALTIME, so this fix works on process local primitives
only.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a5a8c6cdc6e3b732fc5a344878b165f149d99729
Jonghyun Park [Wed, 26 Apr 2017 12:49:07 +0000 (21:49 +0900)]
[x86/Linux] Stack alignment check in Hijack Helpers (dotnet/coreclr#11221)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d3d2efd166c408d59cde076c674fd140e7313e4d
Jonghyun Park [Wed, 26 Apr 2017 12:18:33 +0000 (21:18 +0900)]
[x86/Linux] Use appropriate FCALL macro for DateMarshaler__ConvertToNative (dotnet/coreclr#11194)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b4cc9d48590a87f38f9e1505fb0f0448b2473f34
Michal Strehovský [Tue, 25 Apr 2017 20:13:36 +0000 (13:13 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3429 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
e28db872e7fc5ffd9ce637b54b749cac4ae9d7cc
Alan Lawrence [Wed, 26 Apr 2017 11:14:11 +0000 (12:14 +0100)]
Comment explaining use of FlushProcessWriteBuffers in StompWriteBarrier. (dotnet/coreclr#10924)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e02c014a97e2a1c44fa5c7d10355031e310ea66f
Jan Vorlicek [Wed, 26 Apr 2017 08:52:35 +0000 (01:52 -0700)]
Fix few clang analyzer warnings (dotnet/coreclr#11185)
This change fixes two issues reported by the clang analyzer. In both cases, uninitialized
variable value was used in an error code path.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3011ab330532cbd6f82da9b8ae5d1d28c324cc06
Bruce Forstall [Wed, 26 Apr 2017 04:17:48 +0000 (21:17 -0700)]
Merge pull request dotnet/coreclr#11107 from BruceForstall/NumSuccImprovement
Num succ improvement
Commit migrated from https://github.com/dotnet/coreclr/commit/
6aa53459598387605133a2dc1954d6dfdf752b77
Bruce Forstall [Wed, 26 Apr 2017 04:16:29 +0000 (21:16 -0700)]
Merge pull request dotnet/coreclr#11204 from BruceForstall/FixArmAltjitGcinfo
Fix GCInfo library used by ARM/ARM64 protononjit builds
Commit migrated from https://github.com/dotnet/coreclr/commit/
07c55b6666851269ae99e391cb5fa5573a868e3d
William Godbe [Wed, 26 Apr 2017 04:16:09 +0000 (21:16 -0700)]
Merge pull request dotnet/coreclr#11215 from wtgodbe/ActuallyDoCrossgen
Set RunCrossGen=true for non-Windows R2R runs
Commit migrated from https://github.com/dotnet/coreclr/commit/
770af0757315c105a382ee475e53a9ae89f46d62
Jonghyun Park [Tue, 25 Apr 2017 23:31:29 +0000 (08:31 +0900)]
Move DynamicHelperFrame::UpdateRegDisplay into cgenx86.cpp (dotnet/coreclr#11193)
* Move DynamicHelperFrame::UpdateRegDisplay into cgenx86.cpp
* Fix x86/Windows link error
Commit migrated from https://github.com/dotnet/coreclr/commit/
4438cbdd2e7a498544d0b46dd6f4cb4d1bf1145e
Andy Ayers [Tue, 25 Apr 2017 23:06:44 +0000 (16:06 -0700)]
JIT: fix return type mismatch inlining block
If caller passes a directly substitutable expression whose
type is compatible with but not the same as the callee argument type,
and that argument is the callee's return value, the jit may
reject inlining the method because of a return type mismatch.
Fix is to retype the expressions we use in the callee's body
as the callee's type.
Closes dotnet/coreclr#11211.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f8a620ea74dfb57e52320601addda68e2f53f53
wtgodbe [Tue, 25 Apr 2017 22:40:22 +0000 (15:40 -0700)]
Set RunCrossGen=true for non-Windows R2R runs
Commit migrated from https://github.com/dotnet/coreclr/commit/
a057c4c7ed485a502fca0031426155014bfa13de
Pat Gavlin [Tue, 25 Apr 2017 22:36:37 +0000 (15:36 -0700)]
Merge pull request dotnet/coreclr#11134 from pgavlin/VSO406163
Fix fgNewBBinRegion when inserting into filters.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a3a184d7187a58aa50a203186dc937b78e57b2a
Roman Artemev [Tue, 25 Apr 2017 22:24:09 +0000 (15:24 -0700)]
Merge pull request dotnet/coreclr#11110 from rartemev/issue_9880
Made behavior to conform to ECMA for 'tail.call, pop, ret' case
Commit migrated from https://github.com/dotnet/coreclr/commit/
fbb672490ee3812bcb4054b9df566f49f8016981
mskvortsov [Tue, 25 Apr 2017 22:01:43 +0000 (01:01 +0300)]
[RyuJIT/ARM32] Move genJumpKindsForTree into common part (dotnet/coreclr#11103)
* Move genJumpKindsForTree() into codegenarmarch.cpp.
* Edit genJumpKindsForTree().
* Introduce genCodeForJumpTrue() for both ArmArch and XArch.
* Fix GT_JTRUE codegen for ARM32 by using genCodeForJumpTrue().
Commit migrated from https://github.com/dotnet/coreclr/commit/
6aa4c7b92ea3daca9012045bd5fd7b864f2ac2ad
Bruce Forstall [Tue, 25 Apr 2017 16:43:38 +0000 (09:43 -0700)]
Fix GCInfo library used by ARM/ARM64 protononjit builds
Otherwise, using the normal GCInfo library, the altjits will
assert creating GC info.
Create new "cross-target" builds of the GCInfo library.
Commit migrated from https://github.com/dotnet/coreclr/commit/
35bd37d89e53411ef09cd0a509e6ffaaf1ab3b8a
Roman Artemev [Tue, 25 Apr 2017 21:31:38 +0000 (14:31 -0700)]
Merge pull request dotnet/coreclr#11118 from rartemev/issue_10094
Fixed netci.groove scripts to make CentOS and Ubuntu R2R jitstressregs builds worked.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f04654b3beda5624f5e03e03b99a15cbce8aaff
Roman Artemev [Thu, 20 Apr 2017 00:49:25 +0000 (17:49 -0700)]
Made behavior to conform to ECMA for 'tail.call, pop, ret' case
Commit migrated from https://github.com/dotnet/coreclr/commit/
a3b208ac4e62fd5a2645d8b7942ff964852ad0d4
William Godbe [Tue, 25 Apr 2017 19:56:08 +0000 (12:56 -0700)]
Merge pull request dotnet/coreclr#11206 from wtgodbe/ContainerName
Update R2R Container Names
Commit migrated from https://github.com/dotnet/coreclr/commit/
c448f8587c4e18ce93dabce9a717e4d4112c6c99
wtgodbe [Tue, 25 Apr 2017 19:55:37 +0000 (12:55 -0700)]
Update R2R Container Names
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d979bedf87f8c9fe6311af05f6fb548bfdd8f74
Roman Artemev [Tue, 25 Apr 2017 00:01:06 +0000 (17:01 -0700)]
Testing. DO NOT MERGE ME
Commit migrated from https://github.com/dotnet/coreclr/commit/
f874e420f24028e0bd96b5ab2299696d9e648237
Jonghyun Park [Tue, 25 Apr 2017 18:40:40 +0000 (03:40 +0900)]
Allow FEATURE_INTERPRETER to be enabled by command-line option (dotnet/coreclr#11188)
* Allow FEATURE_INTERPRETER to be enabled by command-line option
* Set FEATURE_INTERPRETER as 0
Commit migrated from https://github.com/dotnet/coreclr/commit/
c425377bb175f5ed59c15fcc7aa4b82fa09b0a8b
William Godbe [Tue, 25 Apr 2017 18:29:37 +0000 (11:29 -0700)]
Merge pull request dotnet/coreclr#11187 from wtgodbe/NonWindowsR2R
Enable running R2R tests in Helix on non-Windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ec65c1b15ad044f2dc935899bf86ba4ade3c47f
wtgodbe [Mon, 24 Apr 2017 20:41:42 +0000 (13:41 -0700)]
Enable running R2R tests in Helix on non-Windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
00c64b787b2b529c6ba1f2ee044ee1ba33a46070
Bruce Forstall [Tue, 25 Apr 2017 18:14:27 +0000 (11:14 -0700)]
Merge pull request dotnet/coreclr#11203 from mskvortsov/FixLclFld
[RyuJIT/ARM32] Update lclFld codegen
Commit migrated from https://github.com/dotnet/coreclr/commit/
e990f0ccb11fb7460646365de8020aee36ce0157
Hyung-Kyu Choi [Tue, 25 Apr 2017 17:58:22 +0000 (02:58 +0900)]
[ARM32] clang 3.9 as a default for ARM cross build (dotnet/coreclr#11064)
* [ARM32] clang 3.9 as a default for ARM cross build
Use clang 3.9 as a default compiler for ARM cross build
* Both arm and armel will be built using clang 3.9 as a default
* ARM CI will use clang 3.9 as a default
* ARM pipieline build will use clang 3.9 as a default
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [ARM32] Update docs describing clang-3.9 and ARM cross build
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [ARM] Check minimum version requirement of clang for ARM cross build
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
0bc55bafbf8b7cde5599fef12c923018de5c5a2b
Pat Gavlin [Fri, 21 Apr 2017 17:26:05 +0000 (10:26 -0700)]
Fix fgNewBBinRegion when inserting into filters.
In order to ensure that the GC operates properly when handling
exceptions, the CLR ABI requires that control exits a filter region
throguh its terminal instruction. `fgNewBBinRegion` was violating this
invariant, however, which lead to GC stress failures when the GC was
invoked immediately after a filter finished executing but before control
entered any handlers. This change fixes the behavior of
`fgNewBBinRegion` when inserting new blocks into filter regions.
There are two cases to consider when inserting a new BB into a filter
region:
1. The filter region consists of multiple blocks
2. The filter region consists of a single block
The first case is straightforward: instead of inserting a new BB after
the last block of the filter, insert it before the last block of the
filter. Because the filter contains multiple blocks, the predecessor of
the filter must also be in the filter region.
The latter case requires splitting the single block, as inserting a new
block before the single block would otherwise change control flow (the
filter would begin with the new block rather than the single block). In
order to acheive this with minimal complexity, this change first inserts
a `BBJ_ALWAYS` block that transfers control to the existing single
block, then inserts a second new block immediately before the existing
single block. The second new block is then returned. To put it
visually, the transformation is from this:
```
filter start: BBN (BBJ_EHFILTERRET)
```
to this:
```
filter start: BBN + 1 (BBJ_ALWAYS -> BBN)
BBN + 2 (jumpKind)
BBN (BBJ_EHFILTERRET)
```
and the function returns `BBN + 2`.
Fixes VSO 406163.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c0987857bd44ab415d886094548590c880e12373
dotnet bot [Tue, 25 Apr 2017 17:05:21 +0000 (10:05 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3418 from dotnet/nmirror (dotnet/coreclr#11186)
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf738eceed64177990dbae798259e84dd09e312b
Bruce Forstall [Tue, 25 Apr 2017 16:58:16 +0000 (09:58 -0700)]
Merge pull request dotnet/coreclr#11191 from BruceForstall/FixFuncletAssert
Fix funclet begin assert
Commit migrated from https://github.com/dotnet/coreclr/commit/
ecbe10f882f1c6a6defc164efce5485a44d9e494
Bruce Forstall [Tue, 25 Apr 2017 15:40:26 +0000 (08:40 -0700)]
Merge pull request dotnet/coreclr#11080 from BruceForstall/MeasureNoway
Add code to measure dynamic noway_assert usage
Commit migrated from https://github.com/dotnet/coreclr/commit/
4012f9c764478e0a5f410cc37d08c19212dfa825
Mikhail Skvortcov [Tue, 25 Apr 2017 12:04:03 +0000 (15:04 +0300)]
RyuJIT/ARM32: Update GT_LCL_FLD codegen.
Commit migrated from https://github.com/dotnet/coreclr/commit/
643c7e699ad9d8786c14a46116f13bedc7972918
Hanjoung Lee [Tue, 25 Apr 2017 09:07:38 +0000 (18:07 +0900)]
[x86/Linux] Do not report untracked from filters (dotnet/coreclr#11195)
Related Issue : dotnet/coreclr#11101
Commit migrated from https://github.com/dotnet/coreclr/commit/
27b2300f790793733e501497203316ccad390e2b
Bruce Forstall [Wed, 19 Apr 2017 20:37:34 +0000 (13:37 -0700)]
Add code to measure dynamic noway_assert usage
Set COMPlus_JitMeasureNowayAssert=1 to enable measurement.
Set COMPlus_JitMeasureNowayAssertFile to a path/file to send
output to a file instead of stdout.
Code is under `#if MEASURE_NOWAY` which is enabled for DEBUG
only, though it can be manually enabled for non-DEBUG builds.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c2469deded28f16e3302bf339d8a3a67a03c2086
Bruce Forstall [Mon, 24 Apr 2017 18:12:14 +0000 (11:12 -0700)]
Fix funclet begin assert
Commit migrated from https://github.com/dotnet/coreclr/commit/
dd977034647d81e4536768c7246ee6492da0981e
Bruce Forstall [Tue, 25 Apr 2017 06:49:01 +0000 (23:49 -0700)]
Merge pull request dotnet/coreclr#11196 from wateret/fix-formatting
Fix formatting fail
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f21eb8ce76233270af9d83362018db623d55164
Bruce Forstall [Tue, 25 Apr 2017 06:31:17 +0000 (23:31 -0700)]
Merge pull request dotnet/coreclr#11183 from sdmaclea/PR-FIX-11181
Fix 11181
Commit migrated from https://github.com/dotnet/coreclr/commit/
608d7d7c3be40e3c6307a37338b778affa819d4d
Hyeongseok Oh [Tue, 25 Apr 2017 06:08:38 +0000 (15:08 +0900)]
[x86/Linux] Change CI docker image (dotnet/coreclr#11098)
* [x86/Linux] Change CI docker image
Change CI docker image to support clang-3.9
* Update x86_ci_script.sh
change docker tag name
* Update x86_ci_script.sh
environment set correctly: ROOTFS_DIR
* Update x86_ci_script.sh
change docker image name
Commit migrated from https://github.com/dotnet/coreclr/commit/
3aee494d942157717c3a79f15b68e8f761646a92
Hanjoung Lee [Tue, 25 Apr 2017 05:51:14 +0000 (14:51 +0900)]
Fix formatting fail
Commit migrated from https://github.com/dotnet/coreclr/commit/
495164d22a3a0f7bb378a26b5bb412dd25876027
Jim Ma [Tue, 25 Apr 2017 05:40:36 +0000 (17:40 +1200)]
Ensure using the given executable path. (dotnet/coreclr#10525)
* Ensure using the given executable path.
Fix the bug that corerun trying to load the executable from current directory even if the user has specified a full path of the executable.
Fix dotnet/coreclr#5631
* Revert "Ensure using the given executable path."
This reverts commit dotnet/coreclr@
d237e6329f85132429176a0644cf6d93c9437ff4.
* Partially implemented.
* Ensure app context using correct IL file path.
Extracting simple name from the given file path and look up its value in tpa list. If the value does not equal to the given file path, we update the value with correct given file path.
Fix dotnet/coreclr#5631
* Re-arrange the slashIndex to eliminate unneccessary code.
* A few performance improvement with a memory leak bug fixed.
* Added the absolute path of target assembly to tpa list.
Fix dotnet/coreclr#5631
* Added the path of target assembly to tpa on Windows.
Fix dotnet/coreclr#5631
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e3ef8eb56d5027ed96348e89911afacbccee9f0
Mike McLaughlin [Tue, 25 Apr 2017 00:12:36 +0000 (17:12 -0700)]
Add "createdump" command to SOS. (dotnet/coreclr#11161)
Uses the createdump utility code as a library.
Changed the "-m, --micro" option to "-t, --triage".
Lots of cleanup.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c53fa592ba54c0f346856d680cc30348850eba83
Andy Ayers [Mon, 24 Apr 2017 23:42:38 +0000 (16:42 -0700)]
Merge pull request dotnet/coreclr#11152 from AndyAyersMS/FixTailCallStressAssert
JIT: simple fix for the tail call stress assert
Commit migrated from https://github.com/dotnet/coreclr/commit/
3712f59c73f00d3312e62f9440c7f03fc7d458e7
Bruce Forstall [Mon, 24 Apr 2017 23:28:08 +0000 (16:28 -0700)]
Merge pull request dotnet/coreclr#11157 from mikedn/reg-encoding
Simplify emitter's RegEncoding
Commit migrated from https://github.com/dotnet/coreclr/commit/
80cd4598074372d13cef0afcf1375093e36ac0ff
Bruce Forstall [Mon, 24 Apr 2017 23:02:18 +0000 (16:02 -0700)]
Merge pull request dotnet/coreclr#11108 from BruceForstall/RangedForAllSuccessorIter
Use C++ ranged 'for' for AllSuccessorIter use
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc4c913ce02527a410e6029babfe88610bf31621
Bruce Forstall [Mon, 24 Apr 2017 21:28:51 +0000 (14:28 -0700)]
Merge pull request dotnet/coreclr#11172 from mskvortsov/ArithOverflowChecks
[RyuJIT/ARM32] Enable arithmetic overflow checks
Commit migrated from https://github.com/dotnet/coreclr/commit/
6930c3bb19068b8a1cadd150a7019794aa7ecfc4
Russ Keldorph [Sun, 23 Apr 2017 13:42:14 +0000 (06:42 -0700)]
Support other toolsets in Win/ARM64 build
Commit migrated from https://github.com/dotnet/coreclr/commit/
07fed33cbc499a6e5d84b14a23a54052c61040bf
Fix 11181
Commit migrated from https://github.com/dotnet/coreclr/commit/
8eec6feb9f94494f8876ec66269c6b4b2a56e54a
Bruce Forstall [Mon, 24 Apr 2017 18:15:35 +0000 (11:15 -0700)]
Fix cmake warning about mismatched if/endif comment (dotnet/coreclr#11176)
Commit migrated from https://github.com/dotnet/coreclr/commit/
10cd87fc6cca883097f5e81860e92d295b5f6566
Steve MacLean [Mon, 24 Apr 2017 17:51:29 +0000 (13:51 -0400)]
Remove PAL FileAlignment restriction (dotnet/coreclr#10959)
* Remove PAL FileAlignment restriction
* Address PR dotnet/coreclr#10959 feedback
* Fix amd64 crossgen error
* Respond to review feedback
* Fix arm32 regression
* Prepare to remove VIRTUAL_PAGE_* from map.cpp
Also simplify previous section code
* Rename function to GetVirtualPageSize()
Commit migrated from https://github.com/dotnet/coreclr/commit/
3f67146dc1f6ac95ba5cec6d9549d12330d3036c
Sean Gillespie [Mon, 24 Apr 2017 17:44:25 +0000 (10:44 -0700)]
[Local GC] Ensure that handle creation returns null on failure instead of throwing (dotnet/coreclr#11092)
* [Local GC] Ensure that handle creation returns null on failure instead of throwing
* Fix some clang pedantry about jumping past variable initialization
* Throw OOM if initialization of handle store fails
* Perform the handle OOM check in each handle helper
Commit migrated from https://github.com/dotnet/coreclr/commit/
69d43a0f8cfe095336b286e7bb892fe49c702e30
Sergey Andreenko [Mon, 24 Apr 2017 16:39:25 +0000 (09:39 -0700)]
do not use = {nullptr} initialization. (dotnet/coreclr#11153)
It worked incorrectly on desktop.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c8b9a6870a58e0af250ff822ca395e3fd8268bb
Bruce Forstall [Thu, 20 Apr 2017 16:49:24 +0000 (09:49 -0700)]
Split NumSucc/GetSucc into two versions
One set takes Compiler*, one doesn't.
It's simpler, and hopefully faster.
Commit migrated from https://github.com/dotnet/coreclr/commit/
37e6f0405eda04cdc1bc39682a5d40208a6a0e55
Bruce Forstall [Mon, 24 Apr 2017 15:43:37 +0000 (08:43 -0700)]
Merge pull request dotnet/coreclr#11169 from hseok-oh/ryujit/fix_11128
[ARM32/RyuJIT] Fix failure related with struct argument passing
Commit migrated from https://github.com/dotnet/coreclr/commit/
ca57f75b406857113afff023f83da8ddc1bf7c9c
Bruce Forstall [Mon, 24 Apr 2017 15:29:15 +0000 (08:29 -0700)]
Merge pull request dotnet/coreclr#11091 from BruceForstall/BlockRefactor
Refactoring: move some BasicBlock functions to block.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ce3b6f5b218c2598cef862f2b710b9b6582a198
Mikhail Skvortcov [Mon, 24 Apr 2017 11:10:20 +0000 (14:10 +0300)]
RyuJIT/ARM32: Enable arithmetic overflow checks.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1cea8098e27cc040afd158020d4412b6abb1fc1d
Jonghyun Park [Mon, 24 Apr 2017 10:20:38 +0000 (19:20 +0900)]
Support FEATURE_DBGIPC override (dotnet/coreclr#11164)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6899c2ae00414267f3d6c2029b7897d7374d46e1
Jonghyun Park [Mon, 24 Apr 2017 08:39:52 +0000 (17:39 +0900)]
[x86/Linux] Remove unnecessary ResumeEsp field (dotnet/coreclr#11167)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1efbf4a587c44a73bdabcbf99d6fa2074065754
Hyeongseok Oh [Mon, 24 Apr 2017 08:34:47 +0000 (17:34 +0900)]
[ARM32/RyuJIT] Fix failure related with struct argument passing
Block using NYI_ARM when struct value split between registers and stack
Fix type assign error for struct slot
Commit migrated from https://github.com/dotnet/coreclr/commit/
24567776247031e7540179eb584c0837cb61f19a
Jonghyun Park [Mon, 24 Apr 2017 08:24:46 +0000 (17:24 +0900)]
[x86/Linux] Fix unmatched NESTED_END in CallEHFilterFunclet (dotnet/coreclr#11163)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b0f7a92039e6c2d49a0ddd72e068540b11beadd
OmariO [Sun, 23 Apr 2017 20:35:24 +0000 (23:35 +0300)]
11106: Use RuntimeHelpers.IsReferenceOrContainsReferences in Dictionary.Remove methods (dotnet/coreclr#11158)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dde35c121bc56bffd8462c0a4fc9a961a9b53b68
Mike Danes [Sat, 22 Apr 2017 13:41:56 +0000 (16:41 +0300)]
Simplify emitter's RegEncoding
VC++ does't recognize that `(c ? x - 16 : x) & 7` is just `x & 7` and we end up with 5 instructions instead of 1.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6f991bac4ca614701627a4bd126d79b28d05514
Sean Gillespie [Sat, 22 Apr 2017 11:41:32 +0000 (04:41 -0700)]
Mark GetGenerationWR2 as GCStressIncompatible across all platforms (dotnet/coreclr#11151)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2e04c1f7f798ccf3e573a95cc5ec66e1ba86490
Sean Gillespie [Sat, 22 Apr 2017 11:39:09 +0000 (04:39 -0700)]
Remove destructor from GCEvent and instead rely on the OS to clean up (dotnet/coreclr#11132)
* Remove destructor from GCEvent and instead rely on the OS to clean up
* Add a comment justifying the lack of destructor
* wording: many -> all
Commit migrated from https://github.com/dotnet/coreclr/commit/
02fa8ca0932d02ce369f6a7405128ab5b729fb8d
Brian Sullivan [Sat, 22 Apr 2017 11:16:25 +0000 (04:16 -0700)]
Two improvments for LCG jump stubs (dynamic methods): (dotnet/coreclr#9160)
When requesting a jump stub block for LCG, ask for a block of 4 jump stubs instead of 32
Enable caching and cache lookup for LCG jump stubs
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea25e8d23626f1f5734016e7c9acb83546688a8e
Andy Ayers [Sat, 22 Apr 2017 00:09:07 +0000 (17:09 -0700)]
JIT: simple fix for the tail call stress assert
If class handles match, the return types are compatible, no matter
what the jit types indicate.
Addresses dotnet/coreclr#10047.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f0acfab2c5ecf7896b4f83bd8988fde0779dd849
Mike McLaughlin [Sat, 22 Apr 2017 00:01:01 +0000 (17:01 -0700)]
Move xplat minidump doc to botr. (dotnet/coreclr#11149)
Change default minidump type to MiniDumpWithPrivateReadWriteMemory.
Remove language about uploading triage dumps.
Turn off diagnostic output.
Commit migrated from https://github.com/dotnet/coreclr/commit/
35dc2a5f4323049f3035f8d14e2620ae44866239
Gaurav Khanna [Fri, 21 Apr 2017 22:06:11 +0000 (15:06 -0700)]
Move CoreCLR to Preview2 (dotnet/coreclr#11146)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ba865396ef0ec788d36fa9d5fff58ea11bf0a395
Andy Ayers [Fri, 21 Apr 2017 21:53:57 +0000 (14:53 -0700)]
Merge pull request dotnet/coreclr#11140 from AndyAyersMS/FixRunBenchmarks
Update jit RunBenchmarks test to no longer use XPath
Commit migrated from https://github.com/dotnet/coreclr/commit/
8ca8d847422d69fa08457ce3a9d2d03f4306705a
William Godbe [Fri, 21 Apr 2017 20:43:07 +0000 (13:43 -0700)]
Merge pull request dotnet/coreclr#11148 from wtgodbe/DisableCoreMangLib
Disable DynMethodJumpStubTests test
Commit migrated from https://github.com/dotnet/coreclr/commit/
6c32fb0dda4675e1bc9bc767a0664f10eec87fe1
wtgodbe [Fri, 21 Apr 2017 20:41:57 +0000 (13:41 -0700)]
Disable DynMethodJumpStubTests test
Commit migrated from https://github.com/dotnet/coreclr/commit/
463b64ed235448aab8cb4b493132b624427182d5
Brian Sullivan [Fri, 21 Apr 2017 20:35:25 +0000 (13:35 -0700)]
Merge pull request dotnet/coreclr#11117 from briansull/zapsig-fix
ReadyToRun/Crossgen: Disable cross module generic instantiations from profile data
Commit migrated from https://github.com/dotnet/coreclr/commit/
2659efd36fc87c4a9de6acbb94d6ac067d1547d2
William Godbe [Fri, 21 Apr 2017 20:04:02 +0000 (13:04 -0700)]
Merge pull request dotnet/coreclr#11147 from dotnet/ReEnableHashCodeTest
Re-enable Hashcode Test
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f9ef3968b691a533839be9bc22ad0c77546e27c
William Godbe [Fri, 21 Apr 2017 20:03:52 +0000 (13:03 -0700)]
Re-enable Hashcode Test
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8c08a5353983da75bc7b89c1b749cd8bed48a63
William Godbe [Fri, 21 Apr 2017 19:22:40 +0000 (12:22 -0700)]
Merge pull request dotnet/coreclr#11144 from wtgodbe/DisableSomeTests
Temporarily disable failing tests in Helix
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1ce6b5c2b6c5d30133b2903fa08f450977ec011
wtgodbe [Fri, 21 Apr 2017 19:22:18 +0000 (12:22 -0700)]
Temporarily disable failing tests in Helix
Commit migrated from https://github.com/dotnet/coreclr/commit/
a3cefed8ce486c98fdac6f785e80bf7069325dbc
Andy Ayers [Fri, 21 Apr 2017 18:53:00 +0000 (11:53 -0700)]
Update jit RunBenchmarks test to no longer use XPath
Rewrite to use linq-to-xml instead. Verified at least that this
can still parse the adjoining xml file. Also now able to crossgen
this test case.
Closes dotnet/coreclr#11082.
Commit migrated from https://github.com/dotnet/coreclr/commit/
45aa1a1a6cc892acc9b546c25a8b2f4563b4254c
William Godbe [Fri, 21 Apr 2017 18:49:11 +0000 (11:49 -0700)]
Merge pull request dotnet/coreclr#11138 from wtgodbe/WrongCrossgen
Copy Runtime-specific Crossgen to Core_Root
Commit migrated from https://github.com/dotnet/coreclr/commit/
21fb73d493c5f641f8537d0e97ce12a318c639a9
wtgodbe [Fri, 21 Apr 2017 18:31:21 +0000 (11:31 -0700)]
Copy Runtime-specific Crossgen to Core_Root
Commit migrated from https://github.com/dotnet/coreclr/commit/
1139642218fb1c6d91fa3f1e064477ceadd05c5d
Drew Scoggins [Fri, 21 Apr 2017 17:16:01 +0000 (02:16 +0900)]
Merge pull request dotnet/coreclr#11055 from jorive/dev/xUnit-Performance-API
Improving robustness of the run-xunit-perf.cmd script.
Commit migrated from https://github.com/dotnet/coreclr/commit/
599e00cfba40be39db49f3055dcb4138c10b74bf
Jonghyun Park [Fri, 21 Apr 2017 15:51:12 +0000 (00:51 +0900)]
[x86/Linux] Correctly initialize nonVolRegPtrs in LazyMachState::unwindLazyState (dotnet/coreclr#10888)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b5e4d03243de5fea54ac478e66e051ed19f55f6b
Jan Kotas [Fri, 21 Apr 2017 15:44:43 +0000 (08:44 -0700)]
Mark CharEnumerator as [Serializable] (dotnet/coreclr#11124)
Fixes https://github.com/dotnet/corefx/issues/18704
Commit migrated from https://github.com/dotnet/coreclr/commit/
0eb86139fe8f0daf9dc6893150b701980d90e52d
SaeHie Park [Fri, 21 Apr 2017 14:28:07 +0000 (23:28 +0900)]
[x86/Linux] Fix pow of tryrun (dotnet/coreclr#11099)
x86/Linux has compatible math pow()
This will fix CoreFX System.Tests.MathFTests.Pow() failures
Commit migrated from https://github.com/dotnet/coreclr/commit/
b156c8459156ffeae7172d88903d2fd0867f874e
Yi Zhang (CLR) [Fri, 21 Apr 2017 09:01:40 +0000 (02:01 -0700)]
Add Marshal.GetExceptionPointers (dotnet/coreclr#11125)
* Add Marshal.GetExceptionPointers
* Remove SecurityCritical
Commit migrated from https://github.com/dotnet/coreclr/commit/
de27abba871bc74aa226426bc53696ddf09c9aee
Hyeongseok Oh [Fri, 21 Apr 2017 06:13:02 +0000 (15:13 +0900)]
[ARM32/RyuJIT] Argument passing for multireg struct (dotnet/coreclr#10846)
* [Linux/ARM32] Enable fgMorphMultiregStructArgs
Enable fgMorphMultiregStructArgs: morph struct argument to GT_FILED_LIST when size <= 4
Cannot handle split struct that using register and stack
* Fix formatting
Fix formatting error
* Fix typo and commit with not added file
- Fix typo
- Commit with not added file: src/jit/compiler.h
* Fix formatting and build error
* Fix comment and block using NYI macro
- Fix comment
- Block using NYI when struct passed by value can be split between registers and stack
Commit migrated from https://github.com/dotnet/coreclr/commit/
9304d24987ad9daba269756173ec4d9b45b40aab
Jonghyun Park [Fri, 21 Apr 2017 05:42:25 +0000 (14:42 +0900)]
[x86/Linux] Relax inst_JMP assert condition (dotnet/coreclr#11062)
* [x86/Linux] Do NOT use exception-throwing block on ESP framed method
* Fix format error
* Relax assert condition
* Fix format error
* Revert changes in codegencommon.cpp
* Add parentheses
Commit migrated from https://github.com/dotnet/coreclr/commit/
97d07aec271e4e0f0f0127fbbf2240eb5b951c9b
William Godbe [Fri, 21 Apr 2017 05:04:29 +0000 (22:04 -0700)]
Merge pull request dotnet/coreclr#11024 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
330c02b1e6349fa3c3f8735d7ba2165dd7f16357
dotnet-bot [Fri, 21 Apr 2017 02:27:34 +0000 (02:27 +0000)]
Update CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c98335f683ff806b7d282757fb96d8dc8de74e6
Joseph Musser [Fri, 21 Apr 2017 01:54:30 +0000 (21:54 -0400)]
Update StringBuilder.AppendJoin to approved API (dotnet/coreclr#11059)
* Updated StringBuilder.AppendJoin to approved API
* Organized StringBuilder.AppendJoin overloads
* Added ThrowHelper, removed Contract.Ensures
* Inline array accesses
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ba1690fd56ab06d5998a9c64e1da8cb2a735ed8
SaeHie Park [Fri, 21 Apr 2017 01:46:30 +0000 (10:46 +0900)]
Enable corerun to select Globalization Invariant mode (dotnet/coreclr#11097)
* Enable corerun to select Globalization Invariant mode
* Support 'true' also
Commit migrated from https://github.com/dotnet/coreclr/commit/
d40200d77e47294b4228545d85b89d2558cfe5f7
Gaurav Khanna [Thu, 20 Apr 2017 23:26:17 +0000 (16:26 -0700)]
Fix R2R workaround for Diasymreader (dotnet/coreclr#11116)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec9976a46c9d8683a75e7f4ce6664426ecb043d7
Ben Adams [Thu, 20 Apr 2017 22:58:31 +0000 (23:58 +0100)]
Inline List.Clear (dotnet/coreclr#11104)
Commit migrated from https://github.com/dotnet/coreclr/commit/
91b84a6695d1a77478fc77de9d393c7b26312dd3
Brian Sullivan [Thu, 20 Apr 2017 22:53:19 +0000 (15:53 -0700)]
When we have profile data we can have cross module references in our ZapSig's when building ReadyToRun images.
We should return a null TypeHandle to indicate failure so that we don't attempt to add generic types/methods
that have cross module references. (i.e. MyList<System.Guid> )
Commit migrated from https://github.com/dotnet/coreclr/commit/
e13760cf8f64a4070ecbe4390a9d3b3170fe5de8
Peter Smulovics [Thu, 20 Apr 2017 22:46:39 +0000 (18:46 -0400)]
Fixing Delegate's hash code's distribution (dotnet/coreclr#11019)
Delegate's GetHashCode just returns the hash code of the delegate type. For a scenario where delegates are used as keys in a dictionary, this leads to obvious performance problems. We should look at coming up with a better GetHashCode that properly factors in the target object and method, in all of the various forms a delegate can take.
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb2d44e166f05e1d3da06925c39289bd2c4446a8
William Godbe [Thu, 20 Apr 2017 22:35:26 +0000 (15:35 -0700)]
Merge pull request dotnet/coreclr#11115 from wtgodbe/readytoruntests
Move readytorun tests into directory one level deeper
Commit migrated from https://github.com/dotnet/coreclr/commit/
171a52d0f3471e8d829192ac828df31b5904ed06
Aditya Mandaleeka [Thu, 20 Apr 2017 21:20:22 +0000 (14:20 -0700)]
Merge pull request dotnet/coreclr#11033 from adityamandaleeka/handle_table_local_gc_store
Move handle object manipulation functions to interface
Commit migrated from https://github.com/dotnet/coreclr/commit/
bece89ead08d0e4c6cf1ce2db91407504d489152
wtgodbe [Thu, 20 Apr 2017 20:49:57 +0000 (13:49 -0700)]
Move readytorun tests into directory one level deeper
Commit migrated from https://github.com/dotnet/coreclr/commit/
6666096c08cf9045771fcf36751f8a98ffabc29c