platform/upstream/coreclr.git
8 years agoMove b12011 into testsUnsupportedOutsideWindows.
Pat Gavlin [Fri, 6 May 2016 20:08:19 +0000 (13:08 -0700)]
Move b12011 into testsUnsupportedOutsideWindows.

This test requires COM interop.

8 years agoRemove O_RDWR from sem_open and better error codes on failure (#4772)
Mike McLaughlin [Thu, 5 May 2016 00:42:09 +0000 (17:42 -0700)]
Remove O_RDWR from sem_open and better error codes on failure (#4772)

Remove O_RDWR from sem_open and better error codes on failure

8 years agoMerge pull request #4763 from AndyAyersMS/InlineIntoControlExamples
Andy Ayers [Thu, 5 May 2016 00:09:12 +0000 (17:09 -0700)]
Merge pull request #4763 from AndyAyersMS/InlineIntoControlExamples

Add some tests for optimization of booleans

8 years agoMerge pull request #4504 from krytarowski/netbsd-support-72
Aditya Mandaleeka [Wed, 4 May 2016 23:16:35 +0000 (16:16 -0700)]
Merge pull request #4504 from krytarowski/netbsd-support-72

Add initial NetBSD documentation

8 years agoMerge pull request #4755 from sivarv/mcall
Sivarv [Wed, 4 May 2016 23:15:32 +0000 (16:15 -0700)]
Merge pull request #4755 from sivarv/mcall

Multi-reg call node support for x64 Unix

8 years agoMerge pull request #4723 from kyulee1/tailcall
Kyungwoo Lee [Wed, 4 May 2016 20:19:52 +0000 (13:19 -0700)]
Merge pull request #4723 from kyulee1/tailcall

ARM64: Enable Tail Call with Vararg

8 years agoMerge pull request #4727 from adiaaida/overflowLongArithmetic
Michelle McDaniel [Wed, 4 May 2016 20:06:50 +0000 (13:06 -0700)]
Merge pull request #4727 from adiaaida/overflowLongArithmetic

Set overflow flag for add/sub hi on x86 TYP_LONG

8 years agoMulti-reg call node support.
sivarv [Wed, 4 May 2016 15:29:18 +0000 (08:29 -0700)]
Multi-reg call node support.

8 years agoMerge pull request #4757 from swgillespie/gcstress-disable-tests
Sean Gillespie [Wed, 4 May 2016 17:25:03 +0000 (10:25 -0700)]
Merge pull request #4757 from swgillespie/gcstress-disable-tests

Disable two tests under GCStress for #4748 and #4708

8 years agoMerge pull request #4760 from dotnet-bot/from-tfs
Bruce Forstall [Wed, 4 May 2016 17:13:32 +0000 (10:13 -0700)]
Merge pull request #4760 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoARM64: Enable Tail Call with Vararg
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.

8 years agoMerge pull request #4759 from rahku/crossgen
Rahul Kumar [Wed, 4 May 2016 05:21:57 +0000 (22:21 -0700)]
Merge pull request #4759 from rahku/crossgen

Fix checking of correct errorlevel for crossgen

8 years agoMerge pull request #4771 from myungjoo/fix/4746
Kyungwoo Lee [Wed, 4 May 2016 04:45:14 +0000 (21:45 -0700)]
Merge pull request #4771 from myungjoo/fix/4746

ildasm: incorrect signess usage with char

8 years agoUnix/Build: use -fsigned-char
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 #4746

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agoMerge pull request #4478 from pgavlin/JitPackaging
Pat Gavlin [Wed, 4 May 2016 04:11:55 +0000 (21:11 -0700)]
Merge pull request #4478 from pgavlin/JitPackaging

Create JIT packages during the build.

8 years agoMerge pull request #4768 from adityamandaleeka/fix_ci_corefxbins
Aditya Mandaleeka [Wed, 4 May 2016 03:58:05 +0000 (20:58 -0700)]
Merge pull request #4768 from adityamandaleeka/fix_ci_corefxbins

Add quotes around coreFxBinDir example in runtest.sh

8 years agoUpdate per review feedback.
Andy Ayers [Wed, 4 May 2016 02:29:31 +0000 (19:29 -0700)]
Update per review feedback.

8 years agoMerge pull request #4740 from yizhang82/interop_x86_test
Yi Zhang (CLR) [Wed, 4 May 2016 01:54:22 +0000 (18:54 -0700)]
Merge pull request #4740 from yizhang82/interop_x86_test

Fix interop x86 tests by fixing mismatching calling convention, and enable [NativeCallable] for every architecture

8 years agoAdd quotes around coreFxBinDir example.
Aditya Mandaleeka [Wed, 4 May 2016 01:32:40 +0000 (18:32 -0700)]
Add quotes around coreFxBinDir example.

8 years agoMerge pull request #4753 from AndyAyersMS/InlineForSize
Andy Ayers [Wed, 4 May 2016 00:59:13 +0000 (17:59 -0700)]
Merge pull request #4753 from AndyAyersMS/InlineForSize

Inliner: initial version of SizePolicy

8 years agoAdd some tests for optimization of booleans
Andy Ayers [Wed, 4 May 2016 00:16:28 +0000 (17:16 -0700)]
Add some tests for optimization of booleans

Test case to stress inlining, expression opts, and control flow
simplification for booleans.

Test case has 100 methods named Idxx. All 100 should generate identical
code. On x64 windows we expect to get the 4 byte sequence
```
       0FB6C1               movzx    rax, cl
       C3                   ret
```

Only 22 of the variants get this codegen; there are at least 12 other
sequences ranging in size from 9 to 32 bytes of code.

Likely touches on the same issues raised in #914.

8 years agoAdd initial NetBSD documentation
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.

8 years agoMerge pull request #4705 from RussKeldorph/vector3interop
Russ Keldorph [Wed, 4 May 2016 00:07:57 +0000 (17:07 -0700)]
Merge pull request #4705 from RussKeldorph/vector3interop

Disable Vector3Interop until failures are addressed

8 years agoARM: fix stack frame management (#4641)
MyungJoo Ham [Tue, 3 May 2016 23:09:10 +0000 (08:09 +0900)]
ARM: fix stack frame management (#4641)

ARM: fix stack frame management

Fix #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.

8 years agoMerge pull request #4693 from adityamandaleeka/delegateinvoke_platnotsup
Aditya Mandaleeka [Tue, 3 May 2016 22:49:38 +0000 (15:49 -0700)]
Merge pull request #4693 from adityamandaleeka/delegateinvoke_platnotsup

Make Delegate BeginInvoke/EndInvoke throw PlatformNotSupportedException

8 years agoAdd test for Begin/EndInvoke throwing PlatformNotSupportedException.
Aditya Mandaleeka [Tue, 3 May 2016 19:33:28 +0000 (12:33 -0700)]
Add test for Begin/EndInvoke throwing PlatformNotSupportedException.

8 years agoFix checking of correct errorlevel for crossgen
Rahul Kumar [Tue, 3 May 2016 22:20:29 +0000 (15:20 -0700)]
Fix checking of correct errorlevel for crossgen

8 years agoMerge pull request #4738 from dotnet-bot/from-tfs
Bruce Forstall [Tue, 3 May 2016 22:09:53 +0000 (15:09 -0700)]
Merge pull request #4738 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #4721 from swgillespie/gcsimulator
Sean Gillespie [Tue, 3 May 2016 22:09:06 +0000 (15:09 -0700)]
Merge pull request #4721 from swgillespie/gcsimulator

Add a "GCSimulator" CI run

8 years agoDisable two tests under GCStress for #4748 and #4708
Sean Gillespie [Tue, 3 May 2016 21:27:34 +0000 (14:27 -0700)]
Disable two tests under GCStress for #4748 and #4708

8 years agoCreate JIT packages during the build.
Pat Gavlin [Wed, 20 Apr 2016 21:03:56 +0000 (14:03 -0700)]
Create JIT packages during the build.

8 years agoSet overflow flag for add/sub hi on x86 TYP_LONG
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 #4596.

8 years agoRemove SEH interactions between the JIT and the EE.
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 #3058 and #4130.

[tfs-changeset: 1601288]

8 years agoGCSimulator test run
Sean Gillespie [Fri, 29 Apr 2016 00:03:51 +0000 (17:03 -0700)]
GCSimulator test run

8 years agoInliner: initial version of SizePolicy
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.

8 years agoMerge pull request #4728 from pgavlin/FixTRTContracts
Pat Gavlin [Tue, 3 May 2016 16:18:51 +0000 (09:18 -0700)]
Merge pull request #4728 from pgavlin/FixTRTContracts

Fix contracts in `tryResolveToken`.

8 years agoFixing issue with perf targets restoring test runtime (#4686)
Deepak Shankargouda [Tue, 3 May 2016 16:17:27 +0000 (09:17 -0700)]
Fixing issue with perf targets restoring test runtime (#4686)

8 years agoFix calling convention mismatch in 7 interop tests and enable [NativeCallable] in...
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.

8 years agoMerge pull request #4732 from BruceForstall/SignedIntToLongCastNYI
Bruce Forstall [Tue, 3 May 2016 14:59:25 +0000 (07:59 -0700)]
Merge pull request #4732 from BruceForstall/SignedIntToLongCastNYI

Convert signed int=>long cast SBCG to NYI

8 years agoConvert signed int=>long cast SBCG to NYI
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.

8 years agoFix contracts in `tryResolveToken` et. al.
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`.

8 years agoMerge pull request #4726 from adityamandaleeka/array_alloc_bounds_check
Jan Vorlicek [Tue, 3 May 2016 08:42:40 +0000 (10:42 +0200)]
Merge pull request #4726 from adityamandaleeka/array_alloc_bounds_check

Fix array allocation bounds checking on Unix

8 years agoGeneralize Buffer.BlockCopy optimization for either src or dst (#4736)
James Ko [Tue, 3 May 2016 07:56:17 +0000 (03:56 -0400)]
Generalize Buffer.BlockCopy optimization for either src or dst (#4736)

* Generalize Buffer.BlockCopy optimization for either src or dst

8 years agoFix for http://buildstatus/Issues/Issues.aspx?iid=797159
Gaurav Khanna [Tue, 3 May 2016 04:46:40 +0000 (21:46 -0700)]
Fix for buildstatus/Issues/Issues.aspx?iid=797159

[tfs-changeset: 1601059]

8 years agoFix handling of FP args on stack in the ArgIterator (#4729)
Jan Vorlicek [Tue, 3 May 2016 04:22:11 +0000 (06:22 +0200)]
Fix handling of FP args on stack in the ArgIterator (#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.

8 years agoMerge pull request #4694 from ramarag/thisptrret
Rama krishnan Raghupathy [Tue, 3 May 2016 03:04:57 +0000 (20:04 -0700)]
Merge pull request #4694 from ramarag/thisptrret

Arm64:Implemeting ThisPtrRetBufPrecode:

8 years agoMerge pull request #4616 from LLITCHEV/MultiCoreJit-1
Lubomir Litchev [Tue, 3 May 2016 01:23:43 +0000 (18:23 -0700)]
Merge pull request #4616 from LLITCHEV/MultiCoreJit-1

Add ability to AutoStartProfiling for CoreCLR.

8 years agoMerge pull request #4731 from kyulee1/onlypush
Kyungwoo Lee [Tue, 3 May 2016 01:00:47 +0000 (18:00 -0700)]
Merge pull request #4731 from kyulee1/onlypush

ARM64: Trigger Failure Email for Push Only

8 years agoARM64: Trigger Failure Email for Push Only
Kyungwoo Lee [Tue, 3 May 2016 00:56:13 +0000 (17:56 -0700)]
ARM64: Trigger Failure Email for Push Only

8 years agoArm64:Implemeting ThisPtrRetBufPrecode:
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

8 years agoFix array allocation bounds checking.
Aditya Mandaleeka [Mon, 2 May 2016 22:29:11 +0000 (15:29 -0700)]
Fix array allocation bounds checking.

8 years agoMerge pull request #4719 from dotnet-bot/from-tfs
Bruce Forstall [Mon, 2 May 2016 22:00:55 +0000 (15:00 -0700)]
Merge pull request #4719 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #4684 from gkhanna79/CrossgenJIT
Gaurav Khanna [Mon, 2 May 2016 21:12:15 +0000 (14:12 -0700)]
Merge pull request #4684 from gkhanna79/CrossgenJIT

Load JIT from custom location for Crossgen

8 years agoMerge pull request #4718 from kyulee1/nativevararg
Kyungwoo Lee [Mon, 2 May 2016 21:04:28 +0000 (14:04 -0700)]
Merge pull request #4718 from kyulee1/nativevararg

ARM64: NativeVarArg

8 years agoMerge pull request #4637 from adityamandaleeka/synch_cleanup
Aditya Mandaleeka [Mon, 2 May 2016 18:53:13 +0000 (11:53 -0700)]
Merge pull request #4637 from adityamandaleeka/synch_cleanup

Remove SYNCHMGR_PIPE_BASED_THREAD_BLOCKING and clean up synchmanager

8 years agoAdd ability to AutoStartProfiling for CoreCLR.
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.

8 years agoMerge pull request #4709 from myungjoo/fix/4682
Jan Kotas [Mon, 2 May 2016 18:05:17 +0000 (11:05 -0700)]
Merge pull request #4709 from myungjoo/fix/4682

Match Inconsistent CMake/MSBuild Compiler Definitions

8 years agoMerge pull request #4688 from dotnet-bot/from-tfs
Jan Kotas [Mon, 2 May 2016 17:49:32 +0000 (10:49 -0700)]
Merge pull request #4688 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #4692 from BruceForstall/FuncInfo
Bruce Forstall [Mon, 2 May 2016 17:26:23 +0000 (10:26 -0700)]
Merge pull request #4692 from BruceForstall/FuncInfo

Add support for easily collecting JitFuncInfoLogFile for the tests

8 years agoMerge pull request #4543 from krytarowski/netbsd-support-73
Mike McLaughlin [Mon, 2 May 2016 17:06:21 +0000 (10:06 -0700)]
Merge pull request #4543 from krytarowski/netbsd-support-73

NetBSD limits name of a semaphore to 15 characters (inc. null)

8 years agoARM64: NativeVarArg
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.

8 years agoMerge pull request #4621 from kyulee1/floatarg
Kyungwoo Lee [Mon, 2 May 2016 16:53:33 +0000 (09:53 -0700)]
Merge pull request #4621 from kyulee1/floatarg

ARM64: Enable Varargs with float argument.

8 years agoARM64: Enable Varargs with float argument.
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.

8 years agoMerge pull request #4699 from kyulee1/testlst
Kyungwoo Lee [Mon, 2 May 2016 16:32:09 +0000 (09:32 -0700)]
Merge pull request #4699 from kyulee1/testlst

ARM64: Tests.lst Update

8 years agoMerge pull request #4689 from AndyAyersMS/NoInlineRange
Andy Ayers [Mon, 2 May 2016 16:06:16 +0000 (09:06 -0700)]
Merge pull request #4689 from AndyAyersMS/NoInlineRange

Implement JitNoInlineRange

8 years agoEnable crossgen to load JIT from a custom location
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.

8 years agoAdd support for easily collecting JitFuncInfoLogFile for the tests
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.

8 years agoMerge pull request #4710 from yizhang82/array_warn_fix
Yi Zhang (CLR) [Mon, 2 May 2016 07:42:57 +0000 (00:42 -0700)]
Merge pull request #4710 from yizhang82/array_warn_fix

Fix warnings in ByValArray

8 years agoMerge pull request #4707 from RussKeldorph/gcincomp
Russ Keldorph [Mon, 2 May 2016 04:49:44 +0000 (21:49 -0700)]
Merge pull request #4707 from RussKeldorph/gcincomp

Mark some GC tests incompatible with GCStress

8 years agoMerge pull request #4704 from RussKeldorph/lotsofinlines
Russ Keldorph [Mon, 2 May 2016 04:44:09 +0000 (21:44 -0700)]
Merge pull request #4704 from RussKeldorph/lotsofinlines

Mark LotsOfInlines tests as optimization-sensitive

8 years agoFix warnings
Yi Zhang (CLR) [Mon, 2 May 2016 04:03:03 +0000 (21:03 -0700)]
Fix warnings

8 years agoFix #4496 (#4503)
Jonghyun Park [Mon, 2 May 2016 02:09:50 +0000 (11:09 +0900)]
Fix #4496 (#4503)

* Fix #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.

8 years agoDisable WIN32_REGISTRY for UNIX platforms
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 #4682 part 3.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agoMerge pull request #4556 from JohnChen0/r2r
John Chen [Sun, 1 May 2016 08:15:42 +0000 (01:15 -0700)]
Merge pull request #4556 from JohnChen0/r2r

Ready-to-Run support for generic methods without generic dictionary

8 years agoMark some GC tests incompatible with GCStress
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.

8 years agoSupport generic methods without generic dictionary
John Chen (CLR) [Mon, 25 Apr 2016 08:55:00 +0000 (01:55 -0700)]
Support generic methods without generic dictionary

8 years agoDisable Vector3Interop until failures are addressed
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.

8 years agoMark LotsOfInlines tests as optimization-sensitive
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.

8 years agoMerge pull request #4653 from mikem8361/shimrace
Mike McLaughlin [Sat, 30 Apr 2016 18:55:55 +0000 (11:55 -0700)]
Merge pull request #4653 from mikem8361/shimrace

Fix issue #4298 "SIGSEGV_libcoreclr.so!Debugger::GetArgCount"

8 years agoARM64: Test.lst Update
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.

8 years agoMerge pull request #4687 from kyulee1/zap
Kyungwoo Lee [Sat, 30 Apr 2016 14:02:54 +0000 (07:02 -0700)]
Merge pull request #4687 from kyulee1/zap

ARM64: Enabling Crossgen End-to-End Mscorlib

8 years agoMerge pull request #4698 from adityamandaleeka/fix_ci_corefxbins
Aditya Mandaleeka [Sat, 30 Apr 2016 02:46:17 +0000 (19:46 -0700)]
Merge pull request #4698 from adityamandaleeka/fix_ci_corefxbins

Fix CI: Update directory check for case with multiple CoreFX directories

8 years agoUse Unix version of WORKSPACE.
Aditya Mandaleeka [Sat, 30 Apr 2016 02:20:54 +0000 (19:20 -0700)]
Use Unix version of WORKSPACE.

8 years agoUpdate directory check for case with multiple CoreFX directories.
Aditya Mandaleeka [Sat, 30 Apr 2016 02:15:30 +0000 (19:15 -0700)]
Update directory check for case with multiple CoreFX directories.

8 years agoMerge pull request #4691 from adiaaida/longOperators
Michelle McDaniel [Sat, 30 Apr 2016 01:24:09 +0000 (18:24 -0700)]
Merge pull request #4691 from adiaaida/longOperators

Separate NYIs for arithmetic operators on longs

8 years agoImplement JitNoInlineRange
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.

8 years agoMerge pull request #4695 from adityamandaleeka/fix_ci_corefxbins
Aditya Mandaleeka [Sat, 30 Apr 2016 01:18:50 +0000 (18:18 -0700)]
Merge pull request #4695 from adityamandaleeka/fix_ci_corefxbins

Modify CI to pass in multiple CoreFX bin directories

8 years agoAdd cascading CoreFX directories to Unix CI run
Aditya Mandaleeka [Sat, 30 Apr 2016 00:26:38 +0000 (17:26 -0700)]
Add cascading CoreFX directories to Unix CI run

8 years agoAllow multiple CoreFX bin directories to be specified in runtest.sh.
Aditya Mandaleeka [Sat, 30 Apr 2016 00:15:40 +0000 (17:15 -0700)]
Allow multiple CoreFX bin directories to be specified in runtest.sh.

8 years agoFix desktop build break introduced by CS#1600134
Bruce Forstall [Sat, 30 Apr 2016 01:02:50 +0000 (18:02 -0700)]
Fix desktop build break introduced by CS#1600134

[tfs-changeset: 1600494]

8 years agoMake Delegate BeginInvoke/EndInvoke throw PlatformNotSupportedException.
Aditya Mandaleeka [Fri, 29 Apr 2016 23:05:26 +0000 (16:05 -0700)]
Make Delegate BeginInvoke/EndInvoke throw PlatformNotSupportedException.

8 years agoSeparate NYIs for arithmetic operators on longs
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.

8 years agoMerge pull request #4676 from BruceForstall/x86Testing
Bruce Forstall [Fri, 29 Apr 2016 22:26:33 +0000 (15:26 -0700)]
Merge pull request #4676 from BruceForstall/x86Testing

Change RyuJIT/x86 testing

8 years agoChange RyuJIT/x86 testing
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.

8 years agoARM64: Enabling Crossgen End-to-End Mscorlib
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.

8 years agoTreat NetBSD like FreeBSD and OSX in PAL_VirtualUnwind() (#4551)
Kamil Rytarowski [Fri, 29 Apr 2016 21:35:19 +0000 (23:35 +0200)]
Treat NetBSD like FreeBSD and OSX in PAL_VirtualUnwind() (#4551)

This fixes hangs in the runtime observed while running CoreFX managed tests.

Thanks @janvorli and @myungjoo

Fix #4380

8 years agoAdd query handling of IUnknown for MergeTokenManager and CMapToken (#4563)
shion [Fri, 29 Apr 2016 21:33:40 +0000 (16:33 -0500)]
Add query handling of IUnknown for MergeTokenManager and CMapToken (#4563)

8 years agoAdd query handling of ICLRPrivResource for Assembly::CLRPrivResourceAssembly (#4562)
shion [Fri, 29 Apr 2016 21:33:03 +0000 (16:33 -0500)]
Add query handling of ICLRPrivResource for Assembly::CLRPrivResourceAssembly (#4562)

8 years agoSpecify the signedness of 'char' in HFA testcases (#4680)
Jonghyun Park [Fri, 29 Apr 2016 21:27:47 +0000 (06:27 +0900)]
Specify the signedness of 'char' in HFA testcases (#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 #4639.

8 years agoEliminate SEH interactions between the JIT and the EE during verification.
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 #3058 and #4130.

[tfs-changeset: 1600443]