Aditya Mandaleeka [Wed, 4 May 2016 23:16:35 +0000 (16:16 -0700)]
Merge pull request dotnet/coreclr#4504 from krytarowski/netbsd-support-72
Add initial NetBSD documentation
Commit migrated from https://github.com/dotnet/coreclr/commit/
a12aed9422083394022752f282e7656d40206acd
Sivarv [Wed, 4 May 2016 23:15:32 +0000 (16:15 -0700)]
Merge pull request dotnet/coreclr#4755 from sivarv/mcall
Multi-reg call node support for x64 Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
7730864b3a7f0c0233c23c676e1a83e50cbd7116
Kyungwoo Lee [Wed, 4 May 2016 20:19:52 +0000 (13:19 -0700)]
Merge pull request dotnet/coreclr#4723 from kyulee1/tailcall
ARM64: Enable Tail Call with Vararg
Commit migrated from https://github.com/dotnet/coreclr/commit/
af1961073ba02f76c58a86f5528066e5813c2bb1
Michelle McDaniel [Wed, 4 May 2016 20:06:50 +0000 (13:06 -0700)]
Merge pull request dotnet/coreclr#4727 from adiaaida/overflowLongArithmetic
Set overflow flag for add/sub hi on x86 TYP_LONG
Commit migrated from https://github.com/dotnet/coreclr/commit/
777936dd947986ae54119ad6fccc1711f52f1daf
sivarv [Wed, 4 May 2016 15:29:18 +0000 (08:29 -0700)]
Multi-reg call node support.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a88ba565faa592e5aeb59df22640961e81d8d037
Sean Gillespie [Wed, 4 May 2016 17:25:03 +0000 (10:25 -0700)]
Merge pull request dotnet/coreclr#4757 from swgillespie/gcstress-disable-tests
Disable two tests under GCStress for dotnet/coreclr#4748 and dotnet/coreclr#4708
Commit migrated from https://github.com/dotnet/coreclr/commit/
35c4b5bd36ac9e3e36dab3f8674a3e83b388aaf3
Bruce Forstall [Wed, 4 May 2016 17:13:32 +0000 (10:13 -0700)]
Merge pull request dotnet/coreclr#4760 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
4047cc5464c287cacf981fdc4c2a2996ed4e6e86
Kyungwoo Lee [Tue, 26 Apr 2016 21:41:05 +0000 (14:41 -0700)]
ARM64: Enable Tail Call with Vararg
Fixes https://github.com/dotnet/coreclr/issues/4475
I've run into `IMPL_LIMITATION("varags + CEE_JMP doesn't work yet")` in
importer.cpp. This change enables ARM64 tail call path same as other
targets.
1. Similar to amd64 `genFnEpilog`, I made the similar code under
`!FEATURE_FASTTAILCALL`. Since `EC_FUNC_TOKEN_INDIR` is not defined for
arm64, I've made NYI for such case.
2. Added two pseudo branch instructions 'b_tail' and 'br_tail' which form
jmp instruction encodings but follow call instruction semantics since
they are used for tail-call.
3. `GenJmpMethod` is enabled. Code is slightly changed to reflect correct
float argument handlings and multi-reg support.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f63d726b01f42fbbceb497e5de6f36a8622f4000
Rahul Kumar [Wed, 4 May 2016 05:21:57 +0000 (22:21 -0700)]
Merge pull request dotnet/coreclr#4759 from rahku/crossgen
Fix checking of correct errorlevel for crossgen
Commit migrated from https://github.com/dotnet/coreclr/commit/
09d6a5d6536adc498917728d3224b1ee7f779d65
Kyungwoo Lee [Wed, 4 May 2016 04:45:14 +0000 (21:45 -0700)]
Merge pull request dotnet/coreclr#4771 from myungjoo/fix/4746
ildasm: incorrect signess usage with char
Commit migrated from https://github.com/dotnet/coreclr/commit/
7eb8accc6846757925ab6f7896d76a204f9fa509
MyungJoo Ham [Wed, 4 May 2016 04:28:31 +0000 (13:28 +0900)]
Unix/Build: use -fsigned-char
Some architectures including ARM assumes that plain char is
unsigned unlike x64.
Because CoreCLR has been assuming char is signed, we need to
explictly tell the toolchain the signedness of char type.
Fix dotnet/coreclr#4746
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f203ae2ca9f7c14239b4e7228b8f9638b3388f3
Pat Gavlin [Wed, 4 May 2016 04:11:55 +0000 (21:11 -0700)]
Merge pull request dotnet/coreclr#4478 from pgavlin/JitPackaging
Create JIT packages during the build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
59bc1154459251a5724f4263c582180894dcd2ab
Aditya Mandaleeka [Wed, 4 May 2016 03:58:05 +0000 (20:58 -0700)]
Merge pull request dotnet/coreclr#4768 from adityamandaleeka/fix_ci_corefxbins
Add quotes around coreFxBinDir example in runtest.sh
Commit migrated from https://github.com/dotnet/coreclr/commit/
e88dca4eeaf7c2eedb7027118ad44ba3cf2e23e5
Yi Zhang (CLR) [Wed, 4 May 2016 01:54:22 +0000 (18:54 -0700)]
Merge pull request dotnet/coreclr#4740 from yizhang82/interop_x86_test
Fix interop x86 tests by fixing mismatching calling convention, and enable [NativeCallable] for every architecture
Commit migrated from https://github.com/dotnet/coreclr/commit/
62845a015ec8e06e75229d9f5fbc786da0705f71
Aditya Mandaleeka [Wed, 4 May 2016 01:32:40 +0000 (18:32 -0700)]
Add quotes around coreFxBinDir example.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fef43d61b50d6a7d2e365a3234eff1971f6224d2
Andy Ayers [Wed, 4 May 2016 00:59:13 +0000 (17:59 -0700)]
Merge pull request dotnet/coreclr#4753 from AndyAyersMS/InlineForSize
Inliner: initial version of SizePolicy
Commit migrated from https://github.com/dotnet/coreclr/commit/
d474c289096d7a2af96ab5690be37c9fa8aec10e
Kamil Rytarowski [Fri, 22 Apr 2016 09:29:08 +0000 (11:29 +0200)]
Add initial NetBSD documentation
Thanks for @coypoop for improving the English wording.
Commit migrated from https://github.com/dotnet/coreclr/commit/
229be2965ca36601980b5fcb398a76e5f6ca89ab
Russ Keldorph [Wed, 4 May 2016 00:07:57 +0000 (17:07 -0700)]
Merge pull request dotnet/coreclr#4705 from RussKeldorph/vector3interop
Disable Vector3Interop until failures are addressed
Commit migrated from https://github.com/dotnet/coreclr/commit/
db6f6d7a04b15a376a40d434fea91e07b9b6f13f
MyungJoo Ham [Tue, 3 May 2016 23:09:10 +0000 (08:09 +0900)]
ARM: fix stack frame management (dotnet/coreclr#4641)
ARM: fix stack frame management
Fix dotnet/coreclr#4638
This commit revises the implementation of CallEHFunclet to establish
stack frame appropriately.
This commit allows libunwind to work correctly for the frame created by
CallEHFunclet.
Commit migrated from https://github.com/dotnet/coreclr/commit/
57185b4668e5b64855840655806c0d12524dbfb4
Aditya Mandaleeka [Tue, 3 May 2016 22:49:38 +0000 (15:49 -0700)]
Merge pull request dotnet/coreclr#4693 from adityamandaleeka/delegateinvoke_platnotsup
Make Delegate BeginInvoke/EndInvoke throw PlatformNotSupportedException
Commit migrated from https://github.com/dotnet/coreclr/commit/
2828f00b908866a08f0ce32a895bf93623b0e0e8
Aditya Mandaleeka [Tue, 3 May 2016 19:33:28 +0000 (12:33 -0700)]
Add test for Begin/EndInvoke throwing PlatformNotSupportedException.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8590bdf2146b86c179fd4cbe78f721d4f0b581c7
Rahul Kumar [Tue, 3 May 2016 22:20:29 +0000 (15:20 -0700)]
Fix checking of correct errorlevel for crossgen
Commit migrated from https://github.com/dotnet/coreclr/commit/
463322e4e0700d8d839acc4ceed36425bafa65c3
Bruce Forstall [Tue, 3 May 2016 22:09:53 +0000 (15:09 -0700)]
Merge pull request dotnet/coreclr#4738 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
f005f1e72012913fb779ab16e68cef6a75b9b3c3
Sean Gillespie [Tue, 3 May 2016 22:09:06 +0000 (15:09 -0700)]
Merge pull request dotnet/coreclr#4721 from swgillespie/gcsimulator
Add a "GCSimulator" CI run
Commit migrated from https://github.com/dotnet/coreclr/commit/
09043c6a8b4c32607ce0625bcca4567b7c4e7349
Sean Gillespie [Tue, 3 May 2016 21:27:34 +0000 (14:27 -0700)]
Disable two tests under GCStress for dotnet/coreclr#4748 and dotnet/coreclr#4708
Commit migrated from https://github.com/dotnet/coreclr/commit/
b757560a89c1adac9f1f7d713008b9d8caef4396
Pat Gavlin [Wed, 20 Apr 2016 21:03:56 +0000 (14:03 -0700)]
Create JIT packages during the build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb25183c7a7c3cd4ad1e77b74938af2b13537c27
Michelle McDaniel [Mon, 2 May 2016 20:52:39 +0000 (13:52 -0700)]
Set overflow flag for add/sub hi on x86 TYP_LONG
When we create the hi operation for add and sub on TYP_LONG, we don't
carry the overflow flag to the hi operation. This change sets the overflow
flag on hiResult in lower if it was set on loResult, and adds GT_ADD_HI
and GT_SUB_HI to the operations that can have overflow. We also need to
pass the unsigned flag to the high part in the instance that we are
dealing with an add or subtract with overflow. Fixes dotnet/coreclr#4596.
Commit migrated from https://github.com/dotnet/coreclr/commit/
230d693afc8b253df012fb4569e42ba731e6f5d2
Pat Gavlin [Tue, 3 May 2016 19:58:16 +0000 (12:58 -0700)]
Remove SEH interactions between the JIT and the EE.
This change replaces the final uses of SEH between the JIT and the EE with a new method
on ICorJitInfo, `ICorJitInfo::runWithErrorTrap`. This method runs a given function under an
error trap that prevents recoverable errors from propagating out of the call. This allows
the JIT to make calls to JIT/EE interface functions that may throw exceptions without
needing to be aware of the EH ABI, exception types, etc. The method returns true if the
given function completed successfully and false otherwise. This change deprecates
all other SEH-related functionality on the JIT/EE interface (e.g. `ICJI::FilterException` and
`ICJI::HandleException`).
This change does not completely eliminate SEH over the JIT/EE interface: there are still a
handful of places where the JIT expects to be able to catch exceptions thrown by
SuperPMI. These uses of SEH will be removed later on.
Fixes dotnet/coreclr#3058 and dotnet/coreclr#4130.
[tfs-changeset: 1601288]
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f71b159a1edb4fbb187bcc95c6e20bc9e2ea4d8
Sean Gillespie [Fri, 29 Apr 2016 00:03:51 +0000 (17:03 -0700)]
GCSimulator test run
Commit migrated from https://github.com/dotnet/coreclr/commit/
87b1d117ed005e0719e857b10d2be92436ba999b
Andy Ayers [Sat, 30 Apr 2016 00:27:40 +0000 (17:27 -0700)]
Inliner: initial version of SizePolicy
Add a new inline policy that tries to inline as much as possible
without increasing method size.
Fix one test that had an expected inline that doesn't happen under
the SizePolicy, by marking a method with AggressiveInline.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f57f3737a356f12fb494945c5750980fe14af020
Pat Gavlin [Tue, 3 May 2016 16:18:51 +0000 (09:18 -0700)]
Merge pull request dotnet/coreclr#4728 from pgavlin/FixTRTContracts
Fix contracts in `tryResolveToken`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
92f671fe9f0fc583805d4f9c3116126444dabcf4
Deepak Shankargouda [Tue, 3 May 2016 16:17:27 +0000 (09:17 -0700)]
Fixing issue with perf targets restoring test runtime (dotnet/coreclr#4686)
Commit migrated from https://github.com/dotnet/coreclr/commit/
eabea995f603cbd38cc1a5fdebe305737e13b5ad
Yi Zhang (CLR) [Tue, 3 May 2016 04:00:21 +0000 (21:00 -0700)]
Fix calling convention mismatch in 7 interop tests and enable [NativeCallable] in all architectures.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dfef0a390443379c3991b97d8871f301321c36f6
Bruce Forstall [Tue, 3 May 2016 14:59:25 +0000 (07:59 -0700)]
Merge pull request dotnet/coreclr#4732 from BruceForstall/SignedIntToLongCastNYI
Convert signed int=>long cast SBCG to NYI
Commit migrated from https://github.com/dotnet/coreclr/commit/
cb42cbf1dca78a548deca358764500fb8a48e06b
Bruce Forstall [Tue, 3 May 2016 00:58:01 +0000 (17:58 -0700)]
Convert signed int=>long cast SBCG to NYI
This causes many tests that fail with silent bad codegen to pass
with NYI fallback. Many tests are removed from the issues.targets
failing tests exclusion list, but added to the
ryujit_x86_no_fallback_issues.targets exclusion list.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2175553aca9e492c39a00be26f8aad20549dda7a
Pat Gavlin [Mon, 2 May 2016 23:40:26 +0000 (16:40 -0700)]
Fix contracts in `tryResolveToken` et. al.
`isValidToken`'s contract was too conservative: it was needlessly marked
`THROWS`, `GC_TRIGGERS`, and `MODE_PREEMPTIVE`. Its contract and those
of its callers have been tightened to `NOTHROW`, `GC_NOTRIGGER`, and
`MODE_ANY`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8686653b0266b82a5ffb6d7aca4116d72c88df86
Jan Vorlicek [Tue, 3 May 2016 08:42:40 +0000 (10:42 +0200)]
Merge pull request dotnet/coreclr#4726 from adityamandaleeka/array_alloc_bounds_check
Fix array allocation bounds checking on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
92d709193a8ee3d8da3519811912ec0f7a552993
James Ko [Tue, 3 May 2016 07:56:17 +0000 (03:56 -0400)]
Generalize Buffer.BlockCopy optimization for either src or dst (dotnet/coreclr#4736)
* Generalize Buffer.BlockCopy optimization for either src or dst
Commit migrated from https://github.com/dotnet/coreclr/commit/
32e44ef2d277513c87781f5000048f98a244b64a
Gaurav Khanna [Tue, 3 May 2016 04:46:40 +0000 (21:46 -0700)]
Fix for buildstatus/Issues/Issues.aspx?iid=797159
[tfs-changeset: 1601059]
Commit migrated from https://github.com/dotnet/coreclr/commit/
adce1932c1138b9e6b48592aa21b6729d4dedcc8
Jan Vorlicek [Tue, 3 May 2016 04:22:11 +0000 (06:22 +0200)]
Fix handling of FP args on stack in the ArgIterator (dotnet/coreclr#4729)
This change fixes a bug in the ArgIterator that resulted in assigning
floating point arguments that didn't fit to the xmm registers to general
purpose registers in the ArgIterator if there were some general purpose
registers available.
Commit migrated from https://github.com/dotnet/coreclr/commit/
92e2d4e6fe1d1af3ee761637f1c99e4e8616282c
Rama krishnan Raghupathy [Tue, 3 May 2016 03:04:57 +0000 (20:04 -0700)]
Merge pull request dotnet/coreclr#4694 from ramarag/thisptrret
Arm64:Implemeting ThisPtrRetBufPrecode:
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2dc8a1d6f6ed13549a240e1ebbfc7d3306830e6
Lubomir Litchev [Tue, 3 May 2016 01:23:43 +0000 (18:23 -0700)]
Merge pull request dotnet/coreclr#4616 from LLITCHEV/MultiCoreJit-1
Add ability to AutoStartProfiling for CoreCLR.
Commit migrated from https://github.com/dotnet/coreclr/commit/
974f4f7bc5f40384f469c3e3c38c058702d76506
Kyungwoo Lee [Tue, 3 May 2016 01:00:47 +0000 (18:00 -0700)]
Merge pull request dotnet/coreclr#4731 from kyulee1/onlypush
ARM64: Trigger Failure Email for Push Only
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd8ff404f713e720609e167c72f4cd2ccbe89685
Kyungwoo Lee [Tue, 3 May 2016 00:56:13 +0000 (17:56 -0700)]
ARM64: Trigger Failure Email for Push Only
Commit migrated from https://github.com/dotnet/coreclr/commit/
97a3bd135fa67acf11d96fa911730325e17f37a6
Rama Krishnan Raghupathy [Fri, 22 Apr 2016 02:51:49 +0000 (19:51 -0700)]
Arm64:Implemeting ThisPtrRetBufPrecode:
Precode to shuffle this and retbuf for closed delegates over static methods with return buffer
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea83434a4f3a92f3d476291031300b9de9c3528b
Aditya Mandaleeka [Mon, 2 May 2016 22:29:11 +0000 (15:29 -0700)]
Fix array allocation bounds checking.
Commit migrated from https://github.com/dotnet/coreclr/commit/
16c9dfbae5e5ce18ad0519b31df515820fed2579
Bruce Forstall [Mon, 2 May 2016 22:00:55 +0000 (15:00 -0700)]
Merge pull request dotnet/coreclr#4719 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea040083e57c706c6fe4c34f5a51b5851c249b43
Gaurav Khanna [Mon, 2 May 2016 21:12:15 +0000 (14:12 -0700)]
Merge pull request dotnet/coreclr#4684 from gkhanna79/CrossgenJIT
Load JIT from custom location for Crossgen
Commit migrated from https://github.com/dotnet/coreclr/commit/
dad288b8dfc47975d00c3b44344bd02843cbd1f9
Kyungwoo Lee [Mon, 2 May 2016 21:04:28 +0000 (14:04 -0700)]
Merge pull request dotnet/coreclr#4718 from kyulee1/nativevararg
ARM64: NativeVarArg
Commit migrated from https://github.com/dotnet/coreclr/commit/
d1fcb541fe154eb21e28f30c562cfd0f0dd619cc
Aditya Mandaleeka [Mon, 2 May 2016 18:53:13 +0000 (11:53 -0700)]
Merge pull request dotnet/coreclr#4637 from adityamandaleeka/synch_cleanup
Remove SYNCHMGR_PIPE_BASED_THREAD_BLOCKING and clean up synchmanager
Commit migrated from https://github.com/dotnet/coreclr/commit/
ede2e6e2677ea633311d9041516e16a0ee6fc33c
Lubomir Litchev [Tue, 26 Apr 2016 20:11:02 +0000 (13:11 -0700)]
Add ability to AutoStartProfiling for CoreCLR.
Add ability to do MultiCoreJit profiling in the CoreCLR. This is used for
testing of the MultiCoreJit functionality.
Commit migrated from https://github.com/dotnet/coreclr/commit/
031f312f208c8798805c8d43234b3a4a37ea030c
Jan Kotas [Mon, 2 May 2016 18:05:17 +0000 (11:05 -0700)]
Merge pull request dotnet/coreclr#4709 from myungjoo/fix/4682
Match Inconsistent CMake/MSBuild Compiler Definitions
Commit migrated from https://github.com/dotnet/coreclr/commit/
a91aee5ca088e5d80835fc593d72d9cacd5d7480
Jan Kotas [Mon, 2 May 2016 17:49:32 +0000 (10:49 -0700)]
Merge pull request dotnet/coreclr#4688 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
7dd56b48bd99a776e8e7dd3638f59191c5013e9b
Bruce Forstall [Mon, 2 May 2016 17:26:23 +0000 (10:26 -0700)]
Merge pull request dotnet/coreclr#4692 from BruceForstall/FuncInfo
Add support for easily collecting JitFuncInfoLogFile for the tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
331031d2ca845025dffcaafcd8f8649ffc4db877
Mike McLaughlin [Mon, 2 May 2016 17:06:21 +0000 (10:06 -0700)]
Merge pull request dotnet/coreclr#4543 from krytarowski/netbsd-support-73
NetBSD limits name of a semaphore to 15 characters (inc. null)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b8a7a8258b8c4a3a39c416a64d221b4ac81fef48
Kyungwoo Lee [Wed, 27 Apr 2016 14:40:19 +0000 (07:40 -0700)]
ARM64: NativeVarArg
In PInovke stub call with vararg that has float value,
we did not properly set up argumnent by passing float registers whith do
not conform ARM64 ABI.
The fix is to set the right calling convention in VM to use
integer registers to pass such float values.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8d6cbb74adaac6c8012f015a7db716e4575a76b
Kyungwoo Lee [Mon, 2 May 2016 16:53:33 +0000 (09:53 -0700)]
Merge pull request dotnet/coreclr#4621 from kyulee1/floatarg
ARM64: Enable Varargs with float argument.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6434710d0259795f12d1e693cfb1766aff060d61
Kyungwoo Lee [Wed, 27 Apr 2016 14:40:19 +0000 (07:40 -0700)]
ARM64: Enable Varargs with float argument.
Fixes https://github.com/dotnet/coreclr/issues/2989
ARM64 ABI does not allow float register arguments for vararg calls.
All such float arguments should be copied to integer registers.
In Lower, I explicitly add a GT_COPY for such case and support the code-gen
to expand it properly using `fmov`.
I also skip genFnPrologCalleeRegArgs() for vararg since we've already
saved all integer registers in the prolog.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b6637462b86bb921857b71973400cedcd97614b
Kyungwoo Lee [Mon, 2 May 2016 16:32:09 +0000 (09:32 -0700)]
Merge pull request dotnet/coreclr#4699 from kyulee1/testlst
ARM64: Tests.lst Update
Commit migrated from https://github.com/dotnet/coreclr/commit/
18c69dba7a9cb5766884f65327c1e24b67d90c6f
Andy Ayers [Mon, 2 May 2016 16:06:16 +0000 (09:06 -0700)]
Merge pull request dotnet/coreclr#4689 from AndyAyersMS/NoInlineRange
Implement JitNoInlineRange
Commit migrated from https://github.com/dotnet/coreclr/commit/
07982f3ad47d305dec74a7ae40a8ab41d88953b9
Gaurav Khanna [Fri, 29 Apr 2016 15:00:17 +0000 (08:00 -0700)]
Enable crossgen to load JIT from a custom location
Continue to link the JIT in for Windows Arm64 builds until 4717 is fixed.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9dc862d0b7fbb31c150501f6d11dfe81bbfa673c
Bruce Forstall [Fri, 29 Apr 2016 22:52:43 +0000 (15:52 -0700)]
Add support for easily collecting JitFuncInfoLogFile for the tests
Simply uncomment one of the three methods for doing the collection in
the ryujit_x86_testenv.cmd file.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d1d1424fe501fbfe9e45e01f753205abe4ed3be6
Yi Zhang (CLR) [Mon, 2 May 2016 07:42:57 +0000 (00:42 -0700)]
Merge pull request dotnet/coreclr#4710 from yizhang82/array_warn_fix
Fix warnings in ByValArray
Commit migrated from https://github.com/dotnet/coreclr/commit/
e18a26aabee632497cbf4be6258c3c930d004824
Russ Keldorph [Mon, 2 May 2016 04:49:44 +0000 (21:49 -0700)]
Merge pull request dotnet/coreclr#4707 from RussKeldorph/gcincomp
Mark some GC tests incompatible with GCStress
Commit migrated from https://github.com/dotnet/coreclr/commit/
4d1c4398863afdf5d6511d69402eb2123eec2327
Russ Keldorph [Mon, 2 May 2016 04:44:09 +0000 (21:44 -0700)]
Merge pull request dotnet/coreclr#4704 from RussKeldorph/lotsofinlines
Mark LotsOfInlines tests as optimization-sensitive
Commit migrated from https://github.com/dotnet/coreclr/commit/
edd4739dfc865a14dafcd0c97c70e7ec4dab70b3
Yi Zhang (CLR) [Mon, 2 May 2016 04:03:03 +0000 (21:03 -0700)]
Fix warnings
Commit migrated from https://github.com/dotnet/coreclr/commit/
de7fb68db2c83cb31927270d97bf993437cf61c4
Jonghyun Park [Mon, 2 May 2016 02:09:50 +0000 (11:09 +0900)]
Fix dotnet/coreclr#4496 (dotnet/coreclr#4503)
* Fix dotnet/coreclr#4496
This commit revises legecy codegen to inserts a bkpt instruction if the current BB
and next BB is not in the same exception handling region.
This code is backported from ARM64 codegen.
* Update ControlPcIsUnwound in UnwindManagedExceptionPassX
* Enable only for ARM32
Enable the patch only for ARM32 in order to fix build break in other
architecture.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a889368329270f766686f45f69a47082d18e252
MyungJoo Ham [Mon, 2 May 2016 01:58:49 +0000 (10:58 +0900)]
Disable WIN32_REGISTRY for UNIX platforms
Unlike managed build scripts, FEATURE_WIN32_REGISTRY has been
enabled for UNIX-like systems in CMake native build scripts.
Fix dotnet/coreclr#4682 part 3.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d55cd34e8192ac9679e7f1b34b0b1709154c943
John Chen [Sun, 1 May 2016 08:15:42 +0000 (01:15 -0700)]
Merge pull request dotnet/coreclr#4556 from JohnChen0/r2r
Ready-to-Run support for generic methods without generic dictionary
Commit migrated from https://github.com/dotnet/coreclr/commit/
84e2177f7844f7cf1ee2c7ae689396170d6a522a
Russ Keldorph [Sun, 1 May 2016 06:16:41 +0000 (23:16 -0700)]
Mark some GC tests incompatible with GCStress
These tests rely on counting numbers of collections, which is unreliable
(or at best different than what the test expects) under GCStress.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2fcfdc4c87229a4d884eb1b25cac79d6f3f3648
John Chen (CLR) [Mon, 25 Apr 2016 08:55:00 +0000 (01:55 -0700)]
Support generic methods without generic dictionary
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d2590dc37aea56bee9f03d2597eaa1ce1bb62c5
Russ Keldorph [Sun, 1 May 2016 04:35:04 +0000 (21:35 -0700)]
Disable Vector3Interop until failures are addressed
This test is turning several lab runs red. Disabling for now.
Commit migrated from https://github.com/dotnet/coreclr/commit/
30df6257e9d02681e1896d2c5e5a9cab0275ef2a
Russ Keldorph [Sun, 1 May 2016 04:24:18 +0000 (21:24 -0700)]
Mark LotsOfInlines tests as optimization-sensitive
The LotsOfInlines test times out under COMPlus_JitStress=1.
(http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/x64_checked_windows_nt_jitstress1/48/testReport/).
This change disables it from running under JitStress modes that might
affect optimizations required for it to run in reasonable time.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f905eebbdee855daeeee39d79feefd5ca8362702
Mike McLaughlin [Sat, 30 Apr 2016 18:55:55 +0000 (11:55 -0700)]
Merge pull request dotnet/coreclr#4653 from mikem8361/shimrace
Fix issue dotnet/coreclr#4298 "SIGSEGV_libcoreclr.so!Debugger::GetArgCount"
Commit migrated from https://github.com/dotnet/coreclr/commit/
ae0b815a0483ebdc861da14d41f3f4c10d3a477a
Kyungwoo Lee [Sat, 30 Apr 2016 14:07:54 +0000 (07:07 -0700)]
ARM64: Test.lst Update
Fixes https://github.com/dotnet/coreclr/issues/3970
Fixes https://github.com/dotnet/coreclr/issues/4411
Since https://github.com/dotnet/coreclr/pull/4655 is merged, these tests
seem to be passed in the lab.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d67164b600977e2b02de158a17d9eee20f831c7
Kyungwoo Lee [Sat, 30 Apr 2016 14:02:54 +0000 (07:02 -0700)]
Merge pull request dotnet/coreclr#4687 from kyulee1/zap
ARM64: Enabling Crossgen End-to-End Mscorlib
Commit migrated from https://github.com/dotnet/coreclr/commit/
960ab5c916e371bf6d05fe4407c874cce3066063
Aditya Mandaleeka [Sat, 30 Apr 2016 02:46:17 +0000 (19:46 -0700)]
Merge pull request dotnet/coreclr#4698 from adityamandaleeka/fix_ci_corefxbins
Fix CI: Update directory check for case with multiple CoreFX directories
Commit migrated from https://github.com/dotnet/coreclr/commit/
5224df88a12d00f51fa04ee0e6a25e14eaeaebda
Aditya Mandaleeka [Sat, 30 Apr 2016 02:20:54 +0000 (19:20 -0700)]
Use Unix version of WORKSPACE.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2857e839ac16de85d3f14a822200984e3029198c
Aditya Mandaleeka [Sat, 30 Apr 2016 02:15:30 +0000 (19:15 -0700)]
Update directory check for case with multiple CoreFX directories.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7c4d9625412f4788785c5d2925ab7a54326409d
Michelle McDaniel [Sat, 30 Apr 2016 01:24:09 +0000 (18:24 -0700)]
Merge pull request dotnet/coreclr#4691 from adiaaida/longOperators
Separate NYIs for arithmetic operators on longs
Commit migrated from https://github.com/dotnet/coreclr/commit/
6c933f666a4c87fa3fff3ace45b1d27ecb2ad75a
Andy Ayers [Wed, 27 Apr 2016 21:22:35 +0000 (14:22 -0700)]
Implement JitNoInlineRange
Rework and cleanup ConfigMethodRange. Give it a configurable size. Do
some error detection when parsing the range string. Update comments
and add notes at existing usage sites about the behavior when the
range string is not specified.
Use ConfigMethodRange to implement a JitNoInlineRange option that
suppresses inlining in a specified set of methods. Set this up so
inlning still happens if the range string is empty. Choose capacity so
it can hold the entire range string's set of ranges. Add a new
observation for the cases where enabling this JIT option disables
inlines.
Make compMethodHash available for INLINE_DATA builds. Report this hash
in the Xml inline dumps, so it can provide hash values to feed into
JitNoInlineRange strings.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf5f1b19e6b331997477a04ed1c75cd3903fb1e7
Aditya Mandaleeka [Sat, 30 Apr 2016 01:18:50 +0000 (18:18 -0700)]
Merge pull request dotnet/coreclr#4695 from adityamandaleeka/fix_ci_corefxbins
Modify CI to pass in multiple CoreFX bin directories
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce442ea8588c586915d2f598b852d8125edfd77f
Aditya Mandaleeka [Sat, 30 Apr 2016 00:26:38 +0000 (17:26 -0700)]
Add cascading CoreFX directories to Unix CI run
Commit migrated from https://github.com/dotnet/coreclr/commit/
a169b30d9f8b041249c13994d1314c9a43a3f1bd
Aditya Mandaleeka [Sat, 30 Apr 2016 00:15:40 +0000 (17:15 -0700)]
Allow multiple CoreFX bin directories to be specified in runtest.sh.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f102c524429678f3c5922c9940d2e98254cfffb
Bruce Forstall [Sat, 30 Apr 2016 01:02:50 +0000 (18:02 -0700)]
Fix desktop build break introduced by CSdotnet/coreclr#1600134
[tfs-changeset: 1600494]
Commit migrated from https://github.com/dotnet/coreclr/commit/
71532d54def78190f0c7e5fe1aa3642b85c70110
Aditya Mandaleeka [Fri, 29 Apr 2016 23:05:26 +0000 (16:05 -0700)]
Make Delegate BeginInvoke/EndInvoke throw PlatformNotSupportedException.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad40da4c667c88c5466ca320034074853e7c4332
Michelle McDaniel [Fri, 8 Apr 2016 17:10:42 +0000 (10:10 -0700)]
Separate NYIs for arithmetic operators on longs
To make it more obvious which long operators are causing the NYI to hit,
split out the different operators with their own NYI.
Commit migrated from https://github.com/dotnet/coreclr/commit/
048e057642a36483893f1fe7d705c839847b2873
Bruce Forstall [Fri, 29 Apr 2016 22:26:33 +0000 (15:26 -0700)]
Merge pull request dotnet/coreclr#4676 from BruceForstall/x86Testing
Change RyuJIT/x86 testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
93074f1f28f147727affc5672b28545b7968e05d
Bruce Forstall [Fri, 29 Apr 2016 03:03:03 +0000 (20:03 -0700)]
Change RyuJIT/x86 testing
Change the RyuJIT/x86 test runs so we don't set COMPLUS_AltJitAssertOnNYI=1
by default. This means when the JIT hits an NYI, it falls back to
the legacy x86 back-end instead of raising an assert. The issues.targets
test exclusion file is changed to only exclude those tests that fail,
due to assert or silent bad codegen, in this mode, rather than the
(currently) much, much larger number of exclusions if COMPLUS_AltJitAssertOnNYI=1
is set.
The version of issues.targets is renamed as ryujit_x86_no_fallback_issues.targets.
This is a issues.targets file that contains exclusions for running
with RyuJIT/x86 and COMPLUS_AltJitAssertOnNYI=1, so NYI turn into
asserts.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9de31570146c2d957296f11c28f3a44c0401d5e6
Kyungwoo Lee [Fri, 29 Apr 2016 17:29:28 +0000 (10:29 -0700)]
ARM64: Enabling Crossgen End-to-End Mscorlib
Fixes https://github.com/dotnet/coreclr/issues/4350
Fixes https://github.com/dotnet/coreclr/issues/4615
This is a bit large change across VM/Zap/JIT to properly support crossgen
scenario.
1. Fix incorrect `ldr` encoding with size.
2. Enforce JIT data following JIT code per method by allocating them together.
This guarantees correct PC-relative encoding for such constant data access
without fix-up.
3. For the general fix-up data acceess, use `adrp/add` instruction pairs with fix-ups.
Two more relocations types are implemented in all sides.
4. Interface dispatch stub is now implemented which is needed for
interface call for crossgen.
I've verified hello world runs with mscorlib.ni.dll.
Commit migrated from https://github.com/dotnet/coreclr/commit/
45798f661f8c8c042f3582cde8b611d1c9c7343f
Kamil Rytarowski [Fri, 29 Apr 2016 21:35:19 +0000 (23:35 +0200)]
Treat NetBSD like FreeBSD and OSX in PAL_VirtualUnwind() (dotnet/coreclr#4551)
This fixes hangs in the runtime observed while running CoreFX managed tests.
Thanks @janvorli and @myungjoo
Fix dotnet/coreclr#4380
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f81ad3359b817ba0735db78cef1bd2fcab555a9
shion [Fri, 29 Apr 2016 21:33:40 +0000 (16:33 -0500)]
Add query handling of IUnknown for MergeTokenManager and CMapToken (dotnet/coreclr#4563)
Commit migrated from https://github.com/dotnet/coreclr/commit/
66c8e59fcc4cbf384f2170aea07e9c968a7f97d7
shion [Fri, 29 Apr 2016 21:33:03 +0000 (16:33 -0500)]
Add query handling of ICLRPrivResource for Assembly::CLRPrivResourceAssembly (dotnet/coreclr#4562)
Commit migrated from https://github.com/dotnet/coreclr/commit/
14ecf5a950b248d2499fc18be322f4f8c606e4c6
Jonghyun Park [Fri, 29 Apr 2016 21:27:47 +0000 (06:27 +0900)]
Specify the signedness of 'char' in HFA testcases (dotnet/coreclr#4680)
In C#, sbyte always represents 8-bit signed interger.
However, the signedness of char in C is undefined, and the default
signedness of char in ARM is unsigned.
The native code for HFA test does not specify the signedness of char,
and thus the native code assumes that it is unsigned, but the managed
code assumes that it is signed, which leads to unittest failure in ARM.
This commit specifies the signedness of 'char' in order to fix dotnet/coreclr#4639.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d7a09f7dd6578abeca118c07bb23fd17c470ccbf
Pat Gavlin [Fri, 29 Apr 2016 20:23:52 +0000 (13:23 -0700)]
Eliminate SEH interactions between the JIT and the EE during verification.
For compatibility reasons, `BadImageFormatException`s that are thrown when resolving tokens
during verification are transformed instead into verification exceptions. This transformation
currently takes place in the JIT: the JIT wraps relevant calls to `ICorJitInfo::resolveToken` with
a `__try`/`__except` that handles any exceptions that arise due to invalid metadata. This method
cannot be relied on when consuming the JIT as a dynamic library on non-Windows platforms
due to type identity problems in the runtime's SEH emulation. Furthermore, these filters cannot
use the proposed solution to the JIT's other uses of SEH across the JIT/EE interface, since they
are more complex than a call to `ICorJitInfo::FilterException`. Instead, this change introduces a
new method, `ICorJitInfo::tryResolveToken`, which is only used during verification. This method
implements filtering that is equivalent to the current implementation, but does so in the EE rather
than in the JIT.
This is part of GitHub bugs dotnet/coreclr#3058 and dotnet/coreclr#4130.
[tfs-changeset: 1600443]
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3a2277c8c37a29417562cfa478935ddbb801fe7
Swaroop Sridhar [Fri, 29 Apr 2016 20:11:48 +0000 (13:11 -0700)]
Merge pull request dotnet/coreclr#4655 from swaroop-sridhar/aagc3
ARM64: Update FP-context-pointer in ExceptionFrame
Commit migrated from https://github.com/dotnet/coreclr/commit/
23d0b7a74a67094c070af3477d06677bf19173d0
Lakshmi Priya [Fri, 29 Apr 2016 19:47:00 +0000 (12:47 -0700)]
Merge pull request dotnet/coreclr#4662 from Priya91/ubuntu1604
Remove Ubuntu15.10 support.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f03813fa76903cac9cd9db50b15d5903efdcd3e8
Mike McLaughlin [Tue, 26 Apr 2016 23:57:31 +0000 (16:57 -0700)]
Fix issue dotnet/coreclr#4298 "SIGSEGV_libcoreclr.so!Debugger::GetArgCount"
The fix is to remove the call to TerminateDebugger in the EE shutdown
path. The reason was to clean up the transport pipe files but that
still happens in coreclr_uninitialize called by the host.
Also added code to clean up the transport named pipes and semaphores
on the debugger side when it detects that the target process has
terminated before it sends the ExitProcess notification.
Plumbed the cleanup call from dbi's ExitProcess code through the
native pipe line to the transport and then to pipe code.
Add PAL_CleanupTargetProcess for the "continue" named semaphore cleanup.
Found and fixed a minor race in dbgshim register runtime startup.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9607acec3f53c4d7ac41b60d8a82affaee07832b
Bruce Forstall [Fri, 29 Apr 2016 18:01:57 +0000 (11:01 -0700)]
Merge pull request dotnet/coreclr#4670 from BruceForstall/Fix3596
Fix 3596: attempt to spill a returned fp local w/o a frame location
Commit migrated from https://github.com/dotnet/coreclr/commit/
bdedbc29af654cb896157cc99f262f9fedba48f0
Bruce Forstall [Fri, 29 Apr 2016 18:01:21 +0000 (11:01 -0700)]
Merge pull request dotnet/coreclr#4656 from BruceForstall/x86fp
Update RyuJIT/x86 XMM register definitions and usage
Commit migrated from https://github.com/dotnet/coreclr/commit/
a4f308ab5ee73323bb09c291746c30b21ba40ab4