Steve MacLean [Thu, 27 Apr 2017 21:32:29 +0000 (17:32 -0400)]
[Arm64] Clean up genPutArgStk (dotnet/coreclr#11239)
* [Arm64] Clean up genPutArgStk
Use ldp/stp in more case
Simplify code by eliminating most addrReg conflict cases
* Fix formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9dcd7a02db0881c63686f52700902e5ca5ced14
Vance Morrison [Thu, 27 Apr 2017 19:43:38 +0000 (12:43 -0700)]
Turn on unwind information at informational level rather than Info level. (dotnet/coreclr#11257)
This is bascically a bug fix. Quite a while ago we wanted to be able to collect stacks (which needed JIT names, and unwind information)
without collecting all verbose CLR events (in particular the GC allocation Tick events). We did this in most places but missed this one.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d31b488487a7a3f633ad39d19a684cb1d72a87e
Bruce Forstall [Thu, 27 Apr 2017 19:41:43 +0000 (12:41 -0700)]
Remove unused TreeNodeInfo::isHelperCallWithKills field (dotnet/coreclr#11259)
Remove unused TreeNodeInfo::isHelperCallWithKills field
Commit migrated from https://github.com/dotnet/coreclr/commit/
a07569230a248b5c927ef713863db17ffae44f16
Bruce Forstall [Thu, 27 Apr 2017 18:21:27 +0000 (11:21 -0700)]
Merge pull request dotnet/coreclr#11224 from parjong/fix/arm_unaligned_ldobj
[ARM/Linux] Honor unaligned prefix for ldobj instruction
Commit migrated from https://github.com/dotnet/coreclr/commit/
58b0918464bc68345371e81df0cbac07bafb8058
Gaurav Khanna [Thu, 27 Apr 2017 17:46:47 +0000 (10:46 -0700)]
[WIP] Enable binding to CoreLib as NI image (dotnet/coreclr#11040)
Enable binding to CoreLib as NI image
Commit migrated from https://github.com/dotnet/coreclr/commit/
c983bb86ddf46916206efc7cd5bc942ec8b834cb
Bruce Forstall [Thu, 27 Apr 2017 17:45:36 +0000 (10:45 -0700)]
Merge pull request dotnet/coreclr#11255 from mskvortsov/FixPutArgReg
[RyuJIT/ARM32] Update putarg_reg codegen
Commit migrated from https://github.com/dotnet/coreclr/commit/
368ee30f34fda812d8d936dff4d59b91270453c1
Bruce Forstall [Thu, 27 Apr 2017 17:19:10 +0000 (10:19 -0700)]
Merge pull request dotnet/coreclr#11258 from mskvortsov/FixConsumeReporting
Do not report out-of-order consuming if a node wasn't consumed at all
Commit migrated from https://github.com/dotnet/coreclr/commit/
beda361f505e8607ca05fea0bee61e21177ef23b
Sean Gillespie [Thu, 27 Apr 2017 17:09:32 +0000 (10:09 -0700)]
Fix a double-free encountered when failing to initialize a handle table bucket (dotnet/coreclr#11244)
* Fix a double-free encountered when failing to initialize a handle table bucket
* Don't free m_bucket in the destructor of HandleTableBucketHolder
Commit migrated from https://github.com/dotnet/coreclr/commit/
b06509c4f35212f097345bba7404b47da86b96c5
Hanjoung Lee [Thu, 27 Apr 2017 16:39:47 +0000 (01:39 +0900)]
Fix unittest `LPSTRTest` (dotnet/coreclr#11096)
* Fix unittest `LPSTRTest`
The test case Interop.StringMarshalling.LPSTR.LPSTRTest
always returned exit code 100(pass) even if it actually failed.
This implements `ExitTest()` in the same manner with `LPTSTRTest`.
* Fix unittest `LPSTRTest` native
Commit migrated from https://github.com/dotnet/coreclr/commit/
8291db8bdb49768a7620a98865ad642d639c9c87
Brian Sullivan [Thu, 27 Apr 2017 15:53:42 +0000 (08:53 -0700)]
Merge pull request dotnet/coreclr#11219 from sdmaclea/PR-ARM64-CpObj-Use-LDP-STP
[Arm64] Use ldp/stp in genCodeForCpObj()
Commit migrated from https://github.com/dotnet/coreclr/commit/
40e18d32b9f1119aecef9afe8978692c1d08ab43
Brian Sullivan [Thu, 27 Apr 2017 15:51:39 +0000 (08:51 -0700)]
Merge pull request dotnet/coreclr#11243 from sdmaclea/PR-ARM64-LDP-ALLOW-GCREFS
[Arm64] Update emitOutputInstr to support GC refs in ldp forms
Commit migrated from https://github.com/dotnet/coreclr/commit/
e9c37a664941b5d8b97ba5dab85bf132578ed916
Mikhail Skvortcov [Thu, 27 Apr 2017 14:53:53 +0000 (17:53 +0300)]
Do not report out-of-order consuming if node wasn't consumed at all
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3bb00cd7baebf787c1722c5fc99ca1aea28c4ea
Jonghyun Park [Thu, 27 Apr 2017 14:50:39 +0000 (23:50 +0900)]
[x86/Linux] Disable USE_CALLER_SP_IN_FUNCLET in EH (dotnet/coreclr#11247)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c8a5a3d53f75b05fee15925e7a99843008765c9
Mikhail Skvortcov [Thu, 27 Apr 2017 10:54:35 +0000 (13:54 +0300)]
RyuJIT/ARM32: Update GT_PUTARG_REG codegen.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5b7163c660a81ee39a286c2b28f054678c7109c9
Steve MacLean [Thu, 27 Apr 2017 04:50:37 +0000 (00:50 -0400)]
[Arm64/Unix] Revise JIT_MemCpy (dotnet/coreclr#11143)
* [Arm64/Unix] Revise JIT_MemCpy
Use ldp/stp
Correctly handle short copy lengths
Simplify code & pseudo code
Use uint*_t to make pseudo code more readable
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a9f941d154b62eb66fd092e72c4ae0200facc42
Felipe Pessoto [Thu, 27 Apr 2017 04:50:04 +0000 (01:50 -0300)]
Fix building with only VS2017 installed. (dotnet/coreclr#11182)
The fix was originally made in https://github.com/dotnet/corefx/pull/18700
Commit migrated from https://github.com/dotnet/coreclr/commit/
a0340286301356cde220684fc5c1b0402652e954
William Godbe [Thu, 27 Apr 2017 01:55:16 +0000 (18:55 -0700)]
Merge pull request dotnet/coreclr#11240 from wtgodbe/SourceBranch
Use SourceBranch from pipebuild to define Helix Branch
Commit migrated from https://github.com/dotnet/coreclr/commit/
4d1df6367de8df74a4d1fb3fe079e181c511d76b
Koundinya Veluri [Thu, 27 Apr 2017 01:42:48 +0000 (18:42 -0700)]
Fix to respect readonly prefix for multidimensional array Address method (dotnet/coreclr#11245)
Fixes dotnet/coreclr#9414
- Added missing 'else' back from regression in https://github.com/dotnet/coreclr/commit/dotnet/coreclr@
97b4ff0b438261ba11b357008630076054a6f25d#diff-edc46b80f57431489a82311948a8234dL6424, which has the effect of passing null to the Address method's instParam to indicate the readonly prefix in order to bypass the type check
Commit migrated from https://github.com/dotnet/coreclr/commit/
0b3b3534c9a37732951d0540758d8fe722c8e974
Gaurav Khanna [Wed, 26 Apr 2017 23:53:58 +0000 (16:53 -0700)]
Fix filename display in exception messages (dotnet/coreclr#11238)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0afaf64d63d27ea5eaa3878b2e638d0c62028195
dotnet bot [Wed, 26 Apr 2017 23:21:04 +0000 (16:21 -0700)]
Update CoreClr, CoreFx to preview2-25226-02, preview2-25226-02, respectively (dotnet/coreclr#11127)
Commit migrated from https://github.com/dotnet/coreclr/commit/
20aa8b25c8c2d920da3a050728e5ca3156253615
Jan Kotas [Wed, 26 Apr 2017 21:01:22 +0000 (14:01 -0700)]
Delete moved file
Commit migrated from https://github.com/dotnet/coreclr/commit/
48b0229e9b70dbe4e477b3983f16599f9d861e55
Faizur Rahman [Wed, 26 Apr 2017 03:39:46 +0000 (20:39 -0700)]
Move DllNotFoundException, EntryPointNotFoundException to CoreLib (dotnet/coreclr#3415)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
2de686fab67e7c0dfae1f913763b6caa0f891313
Koundinya Veluri [Wed, 26 Apr 2017 23:08:53 +0000 (16:08 -0700)]
Fix timer callback time drift (dotnet/coreclr#11220)
Fixes dotnet/coreclr#6408:
- The change to S.T.Timer is the actual fix, but fixed the timer firing on the thread pool timer thread similarly as well
Commit migrated from https://github.com/dotnet/coreclr/commit/
c55f023f542e63e93a300752432de7bcc4104b3b
Steve MacLean [Wed, 26 Apr 2017 22:53:08 +0000 (18:53 -0400)]
Fix comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea18613ccd17fff7a6955afe9679def9d5bf4ec1
[Arm64] Update emitOutputInstr to support GC refs in ldp forms
Commit migrated from https://github.com/dotnet/coreclr/commit/
47261a0e9b82b735d1efcbd8c0ca0a2a3a75b8c9
Pat Gavlin [Wed, 26 Apr 2017 22:37:39 +0000 (15:37 -0700)]
Merge pull request dotnet/coreclr#11235 from pgavlin/VSO424019
Require a frame pointer in methods with throw blocks for sources that…
Commit migrated from https://github.com/dotnet/coreclr/commit/
70d1535d208ef1af1f4b375586bb7ef7237860da
wtgodbe [Wed, 26 Apr 2017 21:54:04 +0000 (14:54 -0700)]
Use SourceBranch from pipebuild to define Helix Branch
Commit migrated from https://github.com/dotnet/coreclr/commit/
38d735099e7f3ae111249e5e2055a0e6a660469c
Sean Gillespie [Wed, 26 Apr 2017 21:50:19 +0000 (14:50 -0700)]
Fix and re-enable some GC finalizer tests (dotnet/coreclr#11216)
* Fix and re-enable some GC finalizer tests
* Make the Usage test a little more robust
Commit migrated from https://github.com/dotnet/coreclr/commit/
ae975d418cb909b44ea9ba7fe4728442935e27c5
[Arm64] CpObj ldp/stp review feedback
Rework asserts
Add comments
Format
Commit migrated from https://github.com/dotnet/coreclr/commit/
5e673b070a994479b7f1278fd4dada8e19b7ada2
Sven Boemer [Wed, 26 Apr 2017 21:02:36 +0000 (14:02 -0700)]
Merge pull request dotnet/coreclr#11178 from sbomer/ilrt_factoring
Refactor ildasm round trip logic
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc16711b74221e4905fdd766936954ef0c1a82af
Pat Gavlin [Wed, 26 Apr 2017 20:23:59 +0000 (13:23 -0700)]
Require a frame pointer in methods with throw blocks for sources that have mismatched stack depths.
This requirement effectively disables double-aligned frames (which are
effectively a special case of ESP frames). Without this change it is
possible for the JIT to generate a throw block with sources that have
mismatched offsets, which can lead to GC holes.
Fixes VSO 424019.
Commit migrated from https://github.com/dotnet/coreclr/commit/
93db790df78e34a496c8a4ecc985289e680b9958
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
Sven Boemer [Mon, 24 Apr 2017 17:12:38 +0000 (10:12 -0700)]
Refactor ildasm round trip logic
This change factors the Ildasm round trip logic so that it should not
require a separate test build. The ildasmroundtrip flag is no longer
passed to build-test.cmd; instead the wrapper scripts are always
generated with a check for an environment variable that can be set from
runtests.
Also remove separate test build for ilrt in the ci scripts
Commit migrated from https://github.com/dotnet/coreclr/commit/
f60551763ccabdeca6171b55957e5a059f038818
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
Jonghyun Park [Wed, 26 Apr 2017 06:24:44 +0000 (15:24 +0900)]
[ARM/Linux] Honor unaligned prefix for ldobj instruction
Commit migrated from https://github.com/dotnet/coreclr/commit/
325aaac1c21fdb66f83237fd10fde66390ad4e95
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
[Arm64] Use ldp/stp in genCodeForCpObj()
Commit migrated from https://github.com/dotnet/coreclr/commit/
13118c0b7b0dcd527d687edfddd72606c891a433
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