platform/upstream/dotnet/runtime.git
8 years agoAdd a issues target file with thests to be excluded on jit32 x86.
Lubomir Litchev [Tue, 10 May 2016 23:44:40 +0000 (16:44 -0700)]
Add a issues target file with thests to be excluded on jit32 x86.

Commit migrated from https://github.com/dotnet/coreclr/commit/864725509ecf3a17e9e12b6321c1ce17204003b6

8 years agoMerge pull request dotnet/coreclr#4797 from JohnChen0/master
John Chen [Fri, 6 May 2016 06:59:13 +0000 (23:59 -0700)]
Merge pull request dotnet/coreclr#4797 from JohnChen0/master

Remove an assert in AssemblySpec::EmitToken

Commit migrated from https://github.com/dotnet/coreclr/commit/9269fceccf0f134d312189f16d04037fede9d276

8 years agoMerge pull request dotnet/coreclr#4810 from BruceForstall/Fix4666
Bruce Forstall [Fri, 6 May 2016 03:21:57 +0000 (20:21 -0700)]
Merge pull request dotnet/coreclr#4810 from BruceForstall/Fix4666

Mark EDX as trashed by the no-gc helper calls

Commit migrated from https://github.com/dotnet/coreclr/commit/a6c18c6d3c499087ac43cdb3bced708164600425

8 years agoMerge pull request dotnet/coreclr#4819 from BruceForstall/FixRyujitX86CheckedTestRun
Bruce Forstall [Fri, 6 May 2016 03:07:13 +0000 (20:07 -0700)]
Merge pull request dotnet/coreclr#4819 from BruceForstall/FixRyujitX86CheckedTestRun

Disable tests which fail in a RyuJIT/x86 Checked build test run

Commit migrated from https://github.com/dotnet/coreclr/commit/f4256993552b302c72df0afbc425ff5c05a9b208

8 years agoMerge pull request dotnet/coreclr#4821 from ellismg/fix-unix-builds
Matt Ellis [Fri, 6 May 2016 01:27:21 +0000 (18:27 -0700)]
Merge pull request dotnet/coreclr#4821 from ellismg/fix-unix-builds

Fix conditional in Unix build definition

Commit migrated from https://github.com/dotnet/coreclr/commit/bf61fa87d857381dfeeca258d1d366d62faf39be

8 years agoFix conditional in Unix build definition
Matt Ellis [Fri, 6 May 2016 01:12:44 +0000 (18:12 -0700)]
Fix conditional in Unix build definition

Commit migrated from https://github.com/dotnet/coreclr/commit/cc284fb9c0ac4c2efbf1395efdbe8d8e0978dc92

8 years agoDisable tests which fail in a RyuJIT/x86 Checked build test run
Bruce Forstall [Fri, 6 May 2016 00:57:42 +0000 (17:57 -0700)]
Disable tests which fail in a RyuJIT/x86 Checked build test run

Commit migrated from https://github.com/dotnet/coreclr/commit/0c29217d7f0de620248c30d2db92ce29af6858ef

8 years agoMark EDX as trashed by the no-gc helper calls
Bruce Forstall [Thu, 5 May 2016 23:35:44 +0000 (16:35 -0700)]
Mark EDX as trashed by the no-gc helper calls

Fixes dotnet/coreclr#4666

Commit migrated from https://github.com/dotnet/coreclr/commit/f6796220664d3bfa4ea42d2ab86cf5a6e2edeae9

8 years agoMerge pull request dotnet/coreclr#4800 from jashook/x86_ci_fix
Jarret Shook [Thu, 5 May 2016 21:18:17 +0000 (14:18 -0700)]
Merge pull request dotnet/coreclr#4800 from jashook/x86_ci_fix

Fix x86 netci changes to build correctly.

Commit migrated from https://github.com/dotnet/coreclr/commit/3ddd9c43821bf617621f87d8d1519229e7d3b789

8 years agoFixup netci changes to build correctly.
jashook [Thu, 5 May 2016 15:54:21 +0000 (08:54 -0700)]
Fixup netci changes to build correctly.

Also more verbosely show which jit and arch the job is.

Commit migrated from https://github.com/dotnet/coreclr/commit/5aca558718d3d57686bc301315034e76324d242c

8 years agoMerge pull request dotnet/coreclr#4782 from BruceForstall/NyiLongExTree
Bruce Forstall [Thu, 5 May 2016 16:01:57 +0000 (09:01 -0700)]
Merge pull request dotnet/coreclr#4782 from BruceForstall/NyiLongExTree

RyuJIT/x86: convert SBCG to NYI for multi-level expression trees

Commit migrated from https://github.com/dotnet/coreclr/commit/3496df6d9dbfa5fded802ab90b99a9545a43bc74

8 years agoMerge pull request dotnet/coreclr#4792 from dagood/remove-core_root-workaround
Davis Goodin [Thu, 5 May 2016 14:28:41 +0000 (09:28 -0500)]
Merge pull request dotnet/coreclr#4792 from dagood/remove-core_root-workaround

Remove CORE_ROOT workaround

Commit migrated from https://github.com/dotnet/coreclr/commit/b0bbac3d22969796e0c424c22242f255c1cbe044

8 years agoRemove an assert in AssemblySpec::EmitToken
John Chen (CLR) [Thu, 5 May 2016 06:11:15 +0000 (23:11 -0700)]
Remove an assert in AssemblySpec::EmitToken

AssemblySpec::EmitToken has a PRECONDITION that prohibits emitting AssemblyRef
tokens to WinMD files, except inside CrossGen. However, there are scenarios,
such as XML serialization, that need to emit such tokens. Thus this PRECONDITION
is removed.

Commit migrated from https://github.com/dotnet/coreclr/commit/c377b53dca090869ea10d95fe7098e70ac3c0847

8 years agoMerge pull request dotnet/coreclr#4790 from jashook/x86_netci_two
Jarret Shook [Thu, 5 May 2016 05:08:39 +0000 (22:08 -0700)]
Merge pull request dotnet/coreclr#4790 from jashook/x86_netci_two

Add ryujit x86 pr trigger.

Commit migrated from https://github.com/dotnet/coreclr/commit/22738816cf92bd763c3e993c8acdef0640f9428c

8 years agoMerge pull request dotnet/coreclr#4767 from ramarag/VSD_ResolveWorker_indirection
Rama krishnan Raghupathy [Thu, 5 May 2016 02:30:08 +0000 (19:30 -0700)]
Merge pull request dotnet/coreclr#4767 from ramarag/VSD_ResolveWorker_indirection

[Arm64] Initialize indirection cell for delegates

Commit migrated from https://github.com/dotnet/coreclr/commit/f5c775dd83954f2e815e8c1b3adc8fc2cb7bfefb

8 years ago[Arm64] Initialize indirection cell for delegates
Rama Krishnan Raghupathy [Wed, 4 May 2016 01:16:47 +0000 (18:16 -0700)]
[Arm64] Initialize indirection cell for delegates

Commit migrated from https://github.com/dotnet/coreclr/commit/08b010a6cbd7803d178dd42da72d0aab072da9dc

8 years agoMerge pull request dotnet/coreclr#4765 from adityamandaleeka/array_alloc_bounds_check
Aditya Mandaleeka [Thu, 5 May 2016 01:50:00 +0000 (18:50 -0700)]
Merge pull request dotnet/coreclr#4765 from adityamandaleeka/array_alloc_bounds_check

Add fwrapv compile option

Commit migrated from https://github.com/dotnet/coreclr/commit/dc71a169507810c1dafad6fa20dc3881c6e4d4ec

8 years agoMerge pull request dotnet/coreclr#4780 from mkborg/fix_windows_linuxmscorlib_arm_build
Rahul Kumar [Thu, 5 May 2016 01:25:37 +0000 (18:25 -0700)]
Merge pull request dotnet/coreclr#4780 from mkborg/fix_windows_linuxmscorlib_arm_build

Fix Windows 'linuxmscorlib arm' build

Commit migrated from https://github.com/dotnet/coreclr/commit/b889f007480b6818a5cb144e726d3e2940fd5cd3

8 years agoRemove O_RDWR from sem_open and better error codes on failure (dotnet/coreclr#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 (dotnet/coreclr#4772)

Remove O_RDWR from sem_open and better error codes on failure

Commit migrated from https://github.com/dotnet/coreclr/commit/98577b986fbb79b74088a5ab3804a3ff00efbe7f

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

Add some tests for optimization of booleans

Commit migrated from https://github.com/dotnet/coreclr/commit/7995c7db6626d77a2deac664a1557157c89271fc

8 years agoRyuJIT/x86: convert SBCG to NYI for multi-level expression trees
Bruce Forstall [Wed, 4 May 2016 16:41:57 +0000 (09:41 -0700)]
RyuJIT/x86: convert SBCG to NYI for multi-level expression trees

In general, we decompose longs by walking the tree bottom-up. So, e.g.,
we'll decompose 'add' as follows:

  + (gt_long(lo1, hi1), gt_long(lo2, hi2))
=>
  gt_long (+ (lo1, lo2), +Hi (hi1, hi2))

But what if lo1 is '+' and hi1 is '+Hi'? So,

  + (gt_long( + (lo3, lo4), +Hi (hi3, hi4) ), gt_long(lo2, hi2))
=>
  gt_long (+ ( + (lo3, lo4), lo2), +Hi ( +Hi (hi3, hi4), hi2))

But we can't put any instructions between '+ (lo3, lo4)' and '+Hi (hi3, hi4)'
or we'll lose the carry bit.

We need to model this differently, or introduce temps. Until this is
done, convert the silent bad codegen into NYI fallback.

Commit migrated from https://github.com/dotnet/coreclr/commit/d1d7a46db4d75f9ef323fc4ae5b4a1efc661476b

8 years agoMerge pull request dotnet/coreclr#4504 from krytarowski/netbsd-support-72
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

8 years agoMerge pull request dotnet/coreclr#4755 from sivarv/mcall
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

8 years agoRemove CORE_ROOT workaround. .NET CLI no longer uses the value.
Davis Goodin [Wed, 4 May 2016 22:50:19 +0000 (17:50 -0500)]
Remove CORE_ROOT workaround. .NET CLI no longer uses the value.

Commit migrated from https://github.com/dotnet/coreclr/commit/eeece8acff8f0d724c82552ddc064d07400114c8

8 years agoAdd ryujit x86 pr trigger.
jashook [Wed, 4 May 2016 22:08:48 +0000 (15:08 -0700)]
Add ryujit x86 pr trigger.

Adds ryujit x86 testing on pr, and collapses x86 lb to just run checked jobs.

Commit migrated from https://github.com/dotnet/coreclr/commit/53331c48fbff444568a67e73094d171f75e24b84

8 years agoMerge pull request dotnet/coreclr#4723 from kyulee1/tailcall
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

8 years agoMerge pull request dotnet/coreclr#4727 from adiaaida/overflowLongArithmetic
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

8 years agoMulti-reg call node support.
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

8 years agoMerge pull request dotnet/coreclr#4757 from swgillespie/gcstress-disable-tests
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

8 years agoMerge pull request dotnet/coreclr#4760 from dotnet-bot/from-tfs
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/f63d726b01f42fbbceb497e5de6f36a8622f4000

8 years agoFix Windows 'linuxmscorlib arm' build
Mikhail I. Krivtsov [Wed, 4 May 2016 13:53:05 +0000 (16:53 +0300)]
Fix Windows 'linuxmscorlib arm' build

Commit migrated from https://github.com/dotnet/coreclr/commit/9b1f7b6e281c9164faa4280e7a8e5b3601b62efd

8 years agoMerge pull request dotnet/coreclr#4759 from rahku/crossgen
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

8 years agoMerge pull request dotnet/coreclr#4771 from myungjoo/fix/4746
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

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 dotnet/coreclr#4746

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/7f203ae2ca9f7c14239b4e7228b8f9638b3388f3

8 years agoMerge pull request dotnet/coreclr#4478 from pgavlin/JitPackaging
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

8 years agoMerge pull request dotnet/coreclr#4768 from adityamandaleeka/fix_ci_corefxbins
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

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

Commit migrated from https://github.com/dotnet/coreclr/commit/2121c05ffad2a686679a3d4c685bf5ce690f3c56

8 years agoMerge pull request dotnet/coreclr#4740 from yizhang82/interop_x86_test
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/fef43d61b50d6a7d2e365a3234eff1971f6224d2

8 years agoMerge pull request dotnet/coreclr#4753 from AndyAyersMS/InlineForSize
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

8 years agoAdd 'fwrapv' compile option.
Aditya Mandaleeka [Tue, 3 May 2016 23:49:58 +0000 (16:49 -0700)]
Add 'fwrapv' compile option.

Commit migrated from https://github.com/dotnet/coreclr/commit/e67df67213d1b4730d5d2c803c681bc55f009792

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 dotnet/coreclr#914.

Commit migrated from https://github.com/dotnet/coreclr/commit/8354d2b9b4c2b5dd6f3b111a93f05322007bb239

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/229be2965ca36601980b5fcb398a76e5f6ca89ab

8 years agoMerge pull request dotnet/coreclr#4705 from RussKeldorph/vector3interop
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

8 years agoRevert "Fix array allocation bounds checking."
Aditya Mandaleeka [Tue, 3 May 2016 23:49:13 +0000 (16:49 -0700)]
Revert "Fix array allocation bounds checking."

This reverts commit dotnet/coreclr@16c9dfbae5e5ce18ad0519b31df515820fed2579.

Commit migrated from https://github.com/dotnet/coreclr/commit/835702ea450734c4ce1ac819ccafd99f5a790da8

8 years agoARM: fix stack frame management (dotnet/coreclr#4641)
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

8 years agoMerge pull request dotnet/coreclr#4693 from adityamandaleeka/delegateinvoke_platnotsup
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/8590bdf2146b86c179fd4cbe78f721d4f0b581c7

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

Commit migrated from https://github.com/dotnet/coreclr/commit/463322e4e0700d8d839acc4ceed36425bafa65c3

8 years agoMerge pull request dotnet/coreclr#4738 from dotnet-bot/from-tfs
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

8 years agoMerge pull request dotnet/coreclr#4721 from swgillespie/gcsimulator
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

8 years agoDisable two tests under GCStress for dotnet/coreclr#4748 and dotnet/coreclr#4708
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/bb25183c7a7c3cd4ad1e77b74938af2b13537c27

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 dotnet/coreclr#4596.

Commit migrated from https://github.com/dotnet/coreclr/commit/230d693afc8b253df012fb4569e42ba731e6f5d2

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 dotnet/coreclr#3058 and dotnet/coreclr#4130.

[tfs-changeset: 1601288]

Commit migrated from https://github.com/dotnet/coreclr/commit/8f71b159a1edb4fbb187bcc95c6e20bc9e2ea4d8

8 years agoGCSimulator test run
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/f57f3737a356f12fb494945c5750980fe14af020

8 years agoMerge pull request dotnet/coreclr#4728 from pgavlin/FixTRTContracts
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

8 years agoFixing issue with perf targets restoring test runtime (dotnet/coreclr#4686)
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/dfef0a390443379c3991b97d8871f301321c36f6

8 years agoMerge pull request dotnet/coreclr#4732 from BruceForstall/SignedIntToLongCastNYI
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/2175553aca9e492c39a00be26f8aad20549dda7a

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`.

Commit migrated from https://github.com/dotnet/coreclr/commit/8686653b0266b82a5ffb6d7aca4116d72c88df86

8 years agoMerge pull request dotnet/coreclr#4726 from adityamandaleeka/array_alloc_bounds_check
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

8 years agoGeneralize Buffer.BlockCopy optimization for either src or dst (dotnet/coreclr#4736)
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

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]

Commit migrated from https://github.com/dotnet/coreclr/commit/adce1932c1138b9e6b48592aa21b6729d4dedcc8

8 years agoFix handling of FP args on stack in the ArgIterator (dotnet/coreclr#4729)
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

8 years agoMerge pull request dotnet/coreclr#4694 from ramarag/thisptrret
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

8 years agoMerge pull request dotnet/coreclr#4616 from LLITCHEV/MultiCoreJit-1
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

8 years agoMerge pull request dotnet/coreclr#4731 from kyulee1/onlypush
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

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

Commit migrated from https://github.com/dotnet/coreclr/commit/97a3bd135fa67acf11d96fa911730325e17f37a6

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

Commit migrated from https://github.com/dotnet/coreclr/commit/ea83434a4f3a92f3d476291031300b9de9c3528b

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/16c9dfbae5e5ce18ad0519b31df515820fed2579

8 years agoMerge pull request dotnet/coreclr#4719 from dotnet-bot/from-tfs
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

8 years agoMerge pull request dotnet/coreclr#4684 from gkhanna79/CrossgenJIT
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

8 years agoMerge pull request dotnet/coreclr#4718 from kyulee1/nativevararg
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

8 years agoMerge pull request dotnet/coreclr#4637 from adityamandaleeka/synch_cleanup
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/031f312f208c8798805c8d43234b3a4a37ea030c

8 years agoMerge pull request dotnet/coreclr#4709 from myungjoo/fix/4682
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

8 years agoMerge pull request dotnet/coreclr#4688 from dotnet-bot/from-tfs
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

8 years agoMerge pull request dotnet/coreclr#4692 from BruceForstall/FuncInfo
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

8 years agoMerge pull request dotnet/coreclr#4543 from krytarowski/netbsd-support-73
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/c8d6cbb74adaac6c8012f015a7db716e4575a76b

8 years agoMerge pull request dotnet/coreclr#4621 from kyulee1/floatarg
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/3b6637462b86bb921857b71973400cedcd97614b

8 years agoMerge pull request dotnet/coreclr#4699 from kyulee1/testlst
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

8 years agoMerge pull request dotnet/coreclr#4689 from AndyAyersMS/NoInlineRange
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/9dc862d0b7fbb31c150501f6d11dfe81bbfa673c

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/d1d1424fe501fbfe9e45e01f753205abe4ed3be6

8 years agoMerge pull request dotnet/coreclr#4710 from yizhang82/array_warn_fix
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

8 years agoMerge pull request dotnet/coreclr#4707 from RussKeldorph/gcincomp
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

8 years agoMerge pull request dotnet/coreclr#4704 from RussKeldorph/lotsofinlines
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

8 years agoFix warnings
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

8 years agoFix dotnet/coreclr#4496 (dotnet/coreclr#4503)
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

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 dotnet/coreclr#4682 part 3.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/8d55cd34e8192ac9679e7f1b34b0b1709154c943

8 years agoMerge pull request dotnet/coreclr#4556 from JohnChen0/r2r
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

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/b2fcfdc4c87229a4d884eb1b25cac79d6f3f3648

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

Commit migrated from https://github.com/dotnet/coreclr/commit/9d2590dc37aea56bee9f03d2597eaa1ce1bb62c5

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.

Commit migrated from https://github.com/dotnet/coreclr/commit/30df6257e9d02681e1896d2c5e5a9cab0275ef2a