platform/upstream/dotnet/runtime.git
7 years ago[x86/Linux] Add virtual dtor for ArrayStubCache class (dotnet/coreclr#8339)
Jonghyun Park [Wed, 30 Nov 2016 03:08:19 +0000 (12:08 +0900)]
[x86/Linux] Add virtual dtor for ArrayStubCache class (dotnet/coreclr#8339)

* Adds virtual dtor for ArrayStubCache class

* Remove unnecessary default destructor

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

7 years agoRemove one virtual call from StreamHelpers.ValidateCopyToArgs (dotnet/coreclr#8361)
Andy Ayers [Wed, 30 Nov 2016 03:00:26 +0000 (19:00 -0800)]
Remove one virtual call from StreamHelpers.ValidateCopyToArgs (dotnet/coreclr#8361)

Check CanWrite on the destination stream first.

In the common case CanWrite is true, and CanRead is only needed to
determine which kind of exception to throw when CanWrite is false.

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

7 years agoFix inconsistency between the signatures of GetAppDomain (dotnet/coreclr#8368)
Jonghyun Park [Wed, 30 Nov 2016 02:57:27 +0000 (11:57 +0900)]
Fix inconsistency between the signatures of GetAppDomain (dotnet/coreclr#8368)

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

7 years ago[x86/Linux] Disable WIN64EXECPTION and fix related changes (dotnet/coreclr#8375)
SaeHie Park [Wed, 30 Nov 2016 02:55:33 +0000 (11:55 +0900)]
[x86/Linux] Disable WIN64EXECPTION and fix related changes (dotnet/coreclr#8375)

Fix compile error for x86/Linux
- undo some changes to disable WIN64EXCEPTION so the x86/Linux builds

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

7 years agoMerge pull request dotnet/coreclr#8315 from mikedn/disasm
Pat Gavlin [Wed, 30 Nov 2016 00:24:22 +0000 (16:24 -0800)]
Merge pull request dotnet/coreclr#8315 from mikedn/disasm

Fix various disassembly issues

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

7 years agoMerge pull request dotnet/coreclr#8355 from adiaaida/formattingFix
Michelle McDaniel [Tue, 29 Nov 2016 21:49:49 +0000 (13:49 -0800)]
Merge pull request dotnet/coreclr#8355 from adiaaida/formattingFix

Fix formatting in files

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

7 years agoMerge pull request dotnet/coreclr#8291 from sivarv/sse34
Sivarv [Tue, 29 Nov 2016 20:12:50 +0000 (12:12 -0800)]
Merge pull request dotnet/coreclr#8291 from sivarv/sse34

Enable use of SSE3_4 instruction set for SIMD codegen.

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

7 years agoFix formatting in files
Michelle McDaniel [Tue, 29 Nov 2016 19:02:20 +0000 (11:02 -0800)]
Fix formatting in files

In morph and flowgraph, we had an instance where an opening/closing
brace was inside a #if when it should not have been, which broke our
formatting on these files. This change fixes that error and reformats
the files.

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

7 years agoMerge pull request dotnet/coreclr#8330 from BruceForstall/FixSSE2Assert
Bruce Forstall [Tue, 29 Nov 2016 18:39:11 +0000 (10:39 -0800)]
Merge pull request dotnet/coreclr#8330 from BruceForstall/FixSSE2Assert

Force enable SSE2 on RyuJIT/x86 on desktop

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

7 years agoMerge pull request dotnet/coreclr#8351 from dotnet-bot/from-tfs
Jan Kotas [Tue, 29 Nov 2016 18:09:54 +0000 (10:09 -0800)]
Merge pull request dotnet/coreclr#8351 from dotnet-bot/from-tfs

Merge changes from TFS

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

7 years agoFix shared library dependencies verification on some platforms (dotnet/coreclr#8349)
Jan Vorlicek [Tue, 29 Nov 2016 18:09:35 +0000 (19:09 +0100)]
Fix shared library dependencies verification on some platforms (dotnet/coreclr#8349)

The existing way of verifying shared library dependencies, used for
System.Globalization.Native.so, doesn't work on platforms that don't
have ldd or where ldd doesn't support the `-r` option.
This change makes the check happen on non-Alpine Linux only for now.
It also refactors the way the check is performed. Instead of doing it
post build in the build.sh, it is now performed as a postbuild phase
of the System.Globalization.Native target and it is also generalized
so that we can easily add such verification to other build targets.
The new verify-so.sh script is also used in corefx.

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

7 years agoDisable CER feature as it is not used (dotnet/coreclr#8218)
John Chen [Tue, 29 Nov 2016 17:10:40 +0000 (09:10 -0800)]
Disable CER feature as it is not used (dotnet/coreclr#8218)

Use FEATURE_CER to scope CER code,
and disable CER feature in CoreCLR.

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

7 years agoUse invariant culture in test (dotnet/coreclr#8327)
Petr Onderka [Tue, 29 Nov 2016 17:06:16 +0000 (18:06 +0100)]
Use invariant culture in test (dotnet/coreclr#8327)

This makes sure the test passes on machines
where the decimal separator of the default culture is comma.

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

7 years agoFix AMD64 CTP build break
Bruce Forstall [Tue, 29 Nov 2016 16:56:19 +0000 (08:56 -0800)]
Fix AMD64 CTP build break

[tfs-changeset: 1639770]

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

7 years agoFix phantom TEXTREL in libcoreclr.so (dotnet/coreclr#8347)
Jan Vorlicek [Tue, 29 Nov 2016 14:12:02 +0000 (15:12 +0100)]
Fix phantom TEXTREL in libcoreclr.so (dotnet/coreclr#8347)

This change fixes the problem where scanelf tool reported that libcoreclr.s
contains TEXTRELs, however it was unable to find any.
It turns out there actually were TEXTRELs, but not in the program code or
program data, but rather in the DWARF tables. The NESTED_ENTRY macro for
ARM64 and AMD64 uses .cfi_personality with encoding 0, which means
absolute address. This is the source of the TEXTREL.
Changing the encoding to 0x1b - DW_EH_PE_pcrel | DW_EH_PE_sdata4 fixes the
problem - the scanelf tool no longer reports any TEXTRELs in libcoreclr.so.

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

7 years agoUses 'W' to fix build error (dotnet/coreclr#8345)
Jonghyun Park [Tue, 29 Nov 2016 12:58:07 +0000 (21:58 +0900)]
Uses 'W' to fix build error (dotnet/coreclr#8345)

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

7 years agoFix the mistmatch between gc_thread_stub and GCThreadFunction (dotnet/coreclr#8336)
Jonghyun Park [Tue, 29 Nov 2016 11:24:51 +0000 (20:24 +0900)]
Fix the mistmatch between gc_thread_stub and GCThreadFunction (dotnet/coreclr#8336)

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

7 years agoFix ignored attribute warning for x86/Linux build (dotnet/coreclr#8334)
Jonghyun Park [Tue, 29 Nov 2016 11:14:22 +0000 (20:14 +0900)]
Fix ignored attribute warning for x86/Linux build (dotnet/coreclr#8334)

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

7 years agoFix various disassembly issues
Mike Danes [Fri, 25 Nov 2016 08:00:58 +0000 (10:00 +0200)]
Fix various disassembly issues

- (null) being displayed instead of ymmword ptr
- lack of a space between some instructions and their first operand
- incorrect display of pmovmskb's first operand (was something like yrax)
- displaying ymm registers in cases where xmm registers were actually used
- displaying mm instead of xmm/ymm (e.g. cmpps mm1, mm2)

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

7 years agoForce enable SSE2 on RyuJIT/x86 on desktop
Bruce Forstall [Tue, 29 Nov 2016 02:19:07 +0000 (18:19 -0800)]
Force enable SSE2 on RyuJIT/x86 on desktop

SSE2 is required for RyuJIT/x86; there is no x87 code path.
The .NET Core VM sets the JIT flag enabling this, and we assert
it does. On desktop, however, especially under NGEN, it does not.
We ignore that, and generate SSE2 code anyway.

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

7 years agoDisable PSPSym and LocAllocSPvar for CoreRT (dotnet/coreclr#8319)
Jan Kotas [Tue, 29 Nov 2016 02:00:57 +0000 (18:00 -0800)]
Disable PSPSym and LocAllocSPvar for CoreRT (dotnet/coreclr#8319)

The establisher frame definition differs between CoreRT ABI and CoreCLR ABI. In CoreRT ABI created by @russellhadley and @smosier while back, the establisher frame is always the SP value at the point that control left the frame in which execution would resume after a catch handler completes. This mismatch leads to crashes when PSPSym is recomputed in funclets of methods with localloc.

Fixed by disabling PSPSym for CoreRT since it does not need it. Also disabled LocAllocSPvar while I was on it since it is not needed for CoreRT either.

Fixes https://github.com/dotnet/corert/issues/2255

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

7 years agoMerge pull request dotnet/coreclr#8325 from pgavlin/gh8285
Pat Gavlin [Tue, 29 Nov 2016 00:58:04 +0000 (16:58 -0800)]
Merge pull request dotnet/coreclr#8325 from pgavlin/gh8285

Do not rewrite `(t + cns_a) << cns_s)` during CSE.

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

7 years agoEnable using SSE3_4 instruction set for SIMD codegen.
sivarv [Thu, 24 Nov 2016 03:30:36 +0000 (19:30 -0800)]
Enable using SSE3_4 instruction set for SIMD codegen.

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

7 years ago[x86/Linux] Fix constructor missing in UnmanagedToManagedFrame (dotnet/coreclr#8275)
SaeHie Park [Mon, 28 Nov 2016 23:10:14 +0000 (08:10 +0900)]
[x86/Linux] Fix constructor missing in UnmanagedToManagedFrame (dotnet/coreclr#8275)

Fix compile error for x86/Linux
- full error string: constructor for 'UMThkCallFrame' must explicitly
  initialize the base class 'UnmanagedToManagedFrame' which does not
  have a default constructor
- wrap UMThkCallFrame with also !FEATURE_PAL

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

7 years ago[x86/Linux] Fix error variable 'td' is uninitialized (dotnet/coreclr#8299)
SaeHie Park [Mon, 28 Nov 2016 22:36:39 +0000 (07:36 +0900)]
[x86/Linux] Fix error variable 'td' is uninitialized (dotnet/coreclr#8299)

Fix compile error for x86/Linux
- make compiler happy with initialize variable 'td' with 0.0

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

7 years agoDo not rewrite `(t + cns_a) << cns_s)` during CSE.
Pat Gavlin [Mon, 28 Nov 2016 21:33:26 +0000 (13:33 -0800)]
Do not rewrite `(t + cns_a) << cns_s)` during CSE.

Morph normally rewrites trees of the form `(t + cns_a) << cns_s` to
`(t << cns_s + cns_a << cns_s)`. This transformation is not safe to run
during CSE, as it may invalidate CSE candidates.

Fixes dotnet/coreclr#8285.

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

7 years agoMerge pull request dotnet/coreclr#8314 from BruceForstall/RefactorEmit
Bruce Forstall [Mon, 28 Nov 2016 19:48:18 +0000 (11:48 -0800)]
Merge pull request dotnet/coreclr#8314 from BruceForstall/RefactorEmit

Factor out common stack adjustment code

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

7 years agoFactor out common stack adjustment code
Bruce Forstall [Sun, 27 Nov 2016 04:40:13 +0000 (20:40 -0800)]
Factor out common stack adjustment code

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

7 years ago[x86/Linux] Fix compile error in zapcode (dotnet/coreclr#8294)
SaeHie Park [Mon, 28 Nov 2016 14:03:29 +0000 (23:03 +0900)]
[x86/Linux] Fix compile error in zapcode (dotnet/coreclr#8294)

Fix compile error for x86/Linux
- Remove ZapUnwindInfo WIN64EXCEPTIONS codes for x86/Linux
- fix "use of undeclared identifier 'NEED_TO_PORT_THIS_ONE'"
- fix "unknown type name 'UNWIND_INFO'"
- fix "use of undeclared identifier 'READYTORUN_HELPER_PersonalityRoutineFilterFunclet'"

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

7 years ago[x86/Linux] Fix 'stdcall' here was previously declared without (dotnet/coreclr#8320)
SaeHie Park [Mon, 28 Nov 2016 14:02:25 +0000 (23:02 +0900)]
[x86/Linux] Fix 'stdcall' here was previously declared without (dotnet/coreclr#8320)

Fix compile error for x86/Linux
- add __stdcall in header
- fix "function declared 'stdcall' here was previously declared without"

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

7 years ago[x86/Linux] Fix unknown type name 'PTR_RUNTIME_FUNCTION' (dotnet/coreclr#8272)
SaeHie Park [Mon, 28 Nov 2016 11:38:36 +0000 (20:38 +0900)]
[x86/Linux] Fix unknown type name 'PTR_RUNTIME_FUNCTION' (dotnet/coreclr#8272)

Fix compile error for x86/Linux
- wrap only RUNTIME_FUNCTION in corcompile.h with !FEATURE_PAL

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

7 years agoMerge pull request dotnet/coreclr#8199 from Maoni0/local_gc
Maoni Stephens [Mon, 28 Nov 2016 04:57:21 +0000 (20:57 -0800)]
Merge pull request dotnet/coreclr#8199 from Maoni0/local_gc

move profiling and profiling/ETW shared diagnostics code out of gc.cpp, gcee.cpp and objecthandle.cpp

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

7 years agoMerge pull request dotnet/coreclr#8312 from BruceForstall/FixLegacyBuild
Bruce Forstall [Sun, 27 Nov 2016 04:42:05 +0000 (20:42 -0800)]
Merge pull request dotnet/coreclr#8312 from BruceForstall/FixLegacyBuild

Set FEATURE_READYTORUN_COMPILER for legacyjit and compatjit

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

7 years agoFix building CoreCLR with Clang 3.9 (dotnet/coreclr#8311)
Jan Vorlicek [Sun, 27 Nov 2016 04:34:03 +0000 (05:34 +0100)]
Fix building CoreCLR with Clang 3.9 (dotnet/coreclr#8311)

There were few constructs that Clang 3.9 didn't like due to its strict
C++ standard conformance rules.

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

7 years agoExclude superpmi test from legacyjit and compatjit runs
Bruce Forstall [Sat, 26 Nov 2016 02:34:05 +0000 (18:34 -0800)]
Exclude superpmi test from legacyjit and compatjit runs

The superpmi test depends on setting COMPlus_AltJit to do the
collection, which is incompatible with setting the variables
required to do these test runs.

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

7 years agoSet FEATURE_READYTORUN_COMPILER for legacyjit and compatjit
Bruce Forstall [Fri, 25 Nov 2016 21:38:50 +0000 (13:38 -0800)]
Set FEATURE_READYTORUN_COMPILER for legacyjit and compatjit

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

7 years agoFix subtle bug in new string.Join implementation. (dotnet/coreclr#8310)
James Ko [Fri, 25 Nov 2016 19:28:15 +0000 (14:28 -0500)]
Fix subtle bug in new string.Join implementation. (dotnet/coreclr#8310)

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

7 years agoConfigures tests even when configureonly is provided (dotnet/coreclr#8308)
Jonghyun Park [Fri, 25 Nov 2016 15:07:39 +0000 (00:07 +0900)]
Configures tests even when configureonly is provided (dotnet/coreclr#8308)

The current script does not configure tests when configureonly is
provided.

This commit revises 'build.sh' to configure tests even when configureonly
is provided.

This commit makes it possible to build tests (including related components)
via configuring the whole projects and running make inside that directory.

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

7 years ago[x86/Linux] Renames i386 as amd64 in arch (PAL) (dotnet/coreclr#8307)
Jonghyun Park [Fri, 25 Nov 2016 15:07:16 +0000 (00:07 +0900)]
[x86/Linux] Renames i386 as amd64 in arch (PAL) (dotnet/coreclr#8307)

The files in src/pal/src/arch/i386 are actually for amd64 (not x86).
This commit renames the directory name as the first step towards
enabling PAL in x86/Linux.

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

7 years agoEnable field EndAddress only for AMD64 in PAL of RUNTIME_FUNCTION (dotnet/coreclr...
SaeHie Park [Fri, 25 Nov 2016 09:34:25 +0000 (18:34 +0900)]
Enable field EndAddress only for AMD64 in PAL of RUNTIME_FUNCTION (dotnet/coreclr#8305)

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

7 years agoSupports to build PAL tests under x86/Linux (dotnet/coreclr#8292)
Jonghyun Park [Thu, 24 Nov 2016 10:07:42 +0000 (19:07 +0900)]
Supports to build PAL tests under x86/Linux (dotnet/coreclr#8292)

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

7 years ago[x86/Linux] Fix unsupported architecture in seh-unwind.cpp (dotnet/coreclr#8262)
SaeHie Park [Thu, 24 Nov 2016 09:43:00 +0000 (18:43 +0900)]
[x86/Linux] Fix unsupported architecture in seh-unwind.cpp (dotnet/coreclr#8262)

Fix compile error for x86/Linux
- add ASSIGN_UNWIND_REGS in seh-unwind.cpp for x86
- add CONTEXT_EXCEPTION_ACTIVE in pal.h for x86
- add CONTEXT_XSTATE in pal.h for x86

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

7 years agoMerge pull request dotnet/coreclr#8295 from RussKeldorph/nopr
Russ Keldorph [Thu, 24 Nov 2016 05:18:49 +0000 (21:18 -0800)]
Merge pull request dotnet/coreclr#8295 from RussKeldorph/nopr

Remove non-RyuJIT default x86 PR triggers

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

7 years agoRemove non-RyuJIT default PR triggers
Russ Keldorph [Thu, 24 Nov 2016 04:54:36 +0000 (20:54 -0800)]
Remove non-RyuJIT default PR triggers

These jobs are failing and shouldn't be triggered on PRs

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

7 years agoMerge pull request dotnet/coreclr#8260 from BruceForstall/SwitchX86ToRyuJit
Bruce Forstall [Thu, 24 Nov 2016 00:24:32 +0000 (16:24 -0800)]
Merge pull request dotnet/coreclr#8260 from BruceForstall/SwitchX86ToRyuJit

Make RyuJIT/x86 the default x86 JIT

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

7 years agoRemoves non-existent target files from override.targets (dotnet/coreclr#8264)
Jonghyun Park [Wed, 23 Nov 2016 23:48:06 +0000 (08:48 +0900)]
Removes non-existent target files from override.targets (dotnet/coreclr#8264)

This commit revises override.targets not to import ``mono.targets`` and
``roslyn.xplat.targets`` which do not exist in Tools/

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

7 years agoAdd String.Join overloads accepting a char separator (dotnet/coreclr#7942)
James Ko [Wed, 23 Nov 2016 23:25:28 +0000 (18:25 -0500)]
Add String.Join overloads accepting a char separator (dotnet/coreclr#7942)

* Add String.Join overloads that accept char separators

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

7 years agoMake RyuJIT/x86 the default x86 JIT
Bruce Forstall [Wed, 23 Nov 2016 00:42:57 +0000 (16:42 -0800)]
Make RyuJIT/x86 the default x86 JIT

JIT32 becomes compatjit.dll and RyuJIT LEGACY_BACKEND becomes legacyjit.dll
(and is an altjit).

If JIT32 is not being built, then RyuJIT LEGACY_BACKEND becomes compatjit.dll
and is a normal jit (not an altjit).

Both clrjit.dll and compatjit.dll are added to the JIT NuGet package.

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

7 years agoMerge pull request dotnet/coreclr#8284 from pgavlin/gh8258
Pat Gavlin [Wed, 23 Nov 2016 22:16:06 +0000 (14:16 -0800)]
Merge pull request dotnet/coreclr#8284 from pgavlin/gh8258

Increment lclVar refCounts in fgMorphBlockStmt.

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

7 years agoMerge pull request dotnet/coreclr#8281 from sbomer/dasm_automation
Sven Boemer [Wed, 23 Nov 2016 22:04:05 +0000 (14:04 -0800)]
Merge pull request dotnet/coreclr#8281 from sbomer/dasm_automation

Fix archiving for jitdiff windows build only jobs

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

7 years agoMerge pull request dotnet/coreclr#7847 from CarolEidt/Fix278375
Carol Eidt [Wed, 23 Nov 2016 21:52:22 +0000 (13:52 -0800)]
Merge pull request dotnet/coreclr#7847 from CarolEidt/Fix278375

x86: not all fields of promoted struct need regs

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

7 years agoFormat code.
Pat Gavlin [Wed, 23 Nov 2016 21:51:50 +0000 (13:51 -0800)]
Format code.

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

7 years agoMerge pull request dotnet/coreclr#8259 from pgavlin/ByrefGcrefKillSet
Pat Gavlin [Wed, 23 Nov 2016 21:39:10 +0000 (13:39 -0800)]
Merge pull request dotnet/coreclr#8259 from pgavlin/ByrefGcrefKillSet

Fix the byref/gcref kill set for ASSIGN_BYREF.

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

7 years agoFix the no-GC kill set for ASSIGN_BYREF on x86.
Pat Gavlin [Wed, 23 Nov 2016 20:02:55 +0000 (12:02 -0800)]
Fix the no-GC kill set for ASSIGN_BYREF on x86.

This helper only kills ECX.

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

7 years agoIncrement lclVar refCounts in fgMorphBlockStmt.
Pat Gavlin [Wed, 23 Nov 2016 19:41:04 +0000 (11:41 -0800)]
Increment lclVar refCounts in fgMorphBlockStmt.

`fgMorphTree` may introduce additional lclVar references. Call
`lvaRecursiveIncRefCounts` in `fgMorphBlockStmt` to ensure that ref
counts are conservatively correct.

Fixes dotnet/coreclr#8258.

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

7 years agoMerge pull request dotnet/coreclr#8137 from jamesqo/array.fill
Dan Moseley [Wed, 23 Nov 2016 18:55:11 +0000 (10:55 -0800)]
Merge pull request dotnet/coreclr#8137 from jamesqo/array.fill

Add Array.Fill apis

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

7 years agoMerge pull request dotnet/coreclr#8229 from mikedn/sse-eq
Sivarv [Wed, 23 Nov 2016 18:36:46 +0000 (10:36 -0800)]
Merge pull request dotnet/coreclr#8229 from mikedn/sse-eq

Change vector equality to use pmovmskb

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

7 years agoMerge pull request dotnet/coreclr#8282 from ianhays/api_lockfix
Ian Hays [Wed, 23 Nov 2016 17:46:22 +0000 (09:46 -0800)]
Merge pull request dotnet/coreclr#8282 from ianhays/api_lockfix

Fix Typo in Unix Lock/Unlock PAL

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

7 years agoFix Typo in Unix Lock/Unlock PAL
Ian Hays [Wed, 23 Nov 2016 17:35:08 +0000 (09:35 -0800)]
Fix Typo in Unix Lock/Unlock PAL

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

7 years agoAccount for a reload of umod op2
Carol Eidt [Wed, 23 Nov 2016 17:24:41 +0000 (09:24 -0800)]
Account for a reload of umod op2

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

7 years agoFix archiving for jitdiff windows build only jobs
Sven Boemer [Wed, 23 Nov 2016 17:14:03 +0000 (09:14 -0800)]
Fix archiving for jitdiff windows build only jobs

The dasm archiving was enabled for all jitdiff scenarios, including the
build set up for the ubuntu/osx flow jobs. The dasm artifacts don't
exist in build-only scenarios, and this was preventing archiving of
the build.

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

7 years ago[x86/linux] Fix redefined DISPATCHER_CONTEXT compile error (dotnet/coreclr#8246)
SaeHie Park [Wed, 23 Nov 2016 10:18:43 +0000 (19:18 +0900)]
[x86/linux] Fix redefined DISPATCHER_CONTEXT compile error (dotnet/coreclr#8246)

WIP, fix compile error for x86/Linux
- add directive WIN32 to current DISPATCHER_CONTEXT in clrnt.h
- add DISPATCHER_CONTEXT for x86 in palrt.h

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

7 years ago[GDBJIT] Fix thunk symbol generation for ARM (dotnet/coreclr#8205)
Andrey Kvochko [Wed, 23 Nov 2016 10:17:05 +0000 (13:17 +0300)]
[GDBJIT] Fix thunk symbol generation for ARM (dotnet/coreclr#8205)

* Fix thunk symbol generation for ARM

* Add PINSTRToPCODE macro to raise the THUMB bit on ARM

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

7 years ago[x86/Linux] Fix compile error with exception handling (dotnet/coreclr#8269)
SaeHie Park [Wed, 23 Nov 2016 10:14:59 +0000 (19:14 +0900)]
[x86/Linux] Fix compile error with exception handling (dotnet/coreclr#8269)

Fix compile error for x86/Linux
- fix unknown type name 'EHWatsonBucketTracker'
- fix field has incomplete type 'EXCEPTION_REGISTRATION_RECORD'
- fix for FaultingExceptionFrame class

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

7 years ago[x86/Linux] Fix unknown type name 'ExInfo' (dotnet/coreclr#8274)
SaeHie Park [Wed, 23 Nov 2016 10:12:18 +0000 (19:12 +0900)]
[x86/Linux] Fix unknown type name 'ExInfo' (dotnet/coreclr#8274)

Fix compile error for x86/Linux
- need to undefine ELIMINATE_FEF by adding !defined(FEATURE_PAL)

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

7 years ago[x86/Linux] Fix comparison of two values with different enumeration types (dotnet...
SaeHie Park [Wed, 23 Nov 2016 10:10:24 +0000 (19:10 +0900)]
[x86/Linux] Fix comparison of two values with different enumeration types (dotnet/coreclr#8273)

Fix compile error for x86/Linux
- convert to int type for 'ReturnKind' and 'infoHdrAdjustConstants'

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

7 years ago[x86/Linux] Fix SEH '__try' is not supported on this target (dotnet/coreclr#8271)
SaeHie Park [Wed, 23 Nov 2016 09:39:33 +0000 (18:39 +0900)]
[x86/Linux] Fix SEH '__try' is not supported on this target (dotnet/coreclr#8271)

Fix compile error for x86/Linux
- add check !FEATURE_PAL

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

7 years ago[x86/Linux] Fix no matching function for call to 'InternalCreateThread' (dotnet/corec...
SaeHie Park [Wed, 23 Nov 2016 09:38:26 +0000 (18:38 +0900)]
[x86/Linux] Fix no matching function for call to 'InternalCreateThread' (dotnet/coreclr#8265)

Fix compile error for x86/Linux
- fix calling convention by adding PALAPI to TerminationRequestHandlingRoutine

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

7 years agoChange vector equality to use pmovmskb
Mike Danes [Mon, 21 Nov 2016 18:30:28 +0000 (20:30 +0200)]
Change vector equality to use pmovmskb

This change replaces the rather long shuffle based compare sequence with
pmovmskb which is available in SSE2 and AVX2. The following code is now
generated:

C4E16D76D1           vpcmpeqd ymm2, ymm1
C4E17DD7C2           vpmovmskbeax, ymm2
83F8FF               cmp      eax, -1
0F94C0               sete     al
0FB6C0               movzx    rax, al

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

7 years agoThis is to separate the diagnostics code out from gc.cpp (except
Maoni0 [Fri, 18 Nov 2016 08:45:29 +0000 (00:45 -0800)]
This is to separate the diagnostics code out from gc.cpp (except
GC's own logging), gcee.cpp and objecthandle.cpp.

The rule is GC will call the diagnostics functions at various points to communicate
info and these diagnostics functions might call back into the GC if they require
initimate knowledge of the GC in order to get certain info. This way gc.cpp does
not need to know about details of the diagnostics components, eg, the profiling context;
and the diagnostics components do not need to know details about the GC. So got rid of
ProfilingScanContext in gcinterface.h and passed scanning functions to GC and handle table.

Got rid of where it goes through things per heap as this is not something that diagnostics
should care about, including going through stack roots per heap (which is only done in
GC for scalability purposes but profiling is doing this on a single thread). This also makes it faster.

Got rid of the checks for gc_low/high in ProfScanRootsHelper as this is knowledge
profiling shouldn't have. And it was also incorrectly not including all interior
pointer stack roots.

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

7 years agoFix ThreadPool.SetMaxThreads to not allow having zero available threads (dotnet/corec...
Koundinya Veluri [Wed, 23 Nov 2016 03:14:13 +0000 (19:14 -0800)]
Fix ThreadPool.SetMaxThreads to not allow having zero available threads (dotnet/coreclr#8256)

There is an assertion checking for this, so allowing zero is probably not intentional.

Related to dotnet/coreclr#8236

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

7 years ago[x86/Linux] Fix compile error redifinition RUNTIME_FUNCTION (dotnet/coreclr#8249)
SaeHie Park [Wed, 23 Nov 2016 02:04:39 +0000 (11:04 +0900)]
[x86/Linux] Fix compile error redifinition RUNTIME_FUNCTION (dotnet/coreclr#8249)

Add !FEATURE_PAL directive for x86 as RUNTIME_FUNCTION is defined in pal

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

7 years agoChange argument order.
James Ko [Wed, 23 Nov 2016 01:57:09 +0000 (20:57 -0500)]
Change argument order.

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

7 years agox86: not all fields of promoted struct need regs
Carol Eidt [Thu, 27 Oct 2016 16:37:40 +0000 (09:37 -0700)]
x86: not all fields of promoted struct need regs

This fixes DevDiv bug 278375, and includes a test case. It also improves the code generation for the general case of promoted structs, though tuning is still needed.
The bug was a case where, after decomposing the long fields, we had 7 entries in the GT_FIELD_LIST, each of which was requesting a register.
Since Lowering won't know which fields may be in registers, it must be prepared to handle fields in memory. Also, if the fields are not register candidates, we should make them contained and push them directly, for which we may need a temporary register.
LSRA is changed to allow RegOptional spills that are used at the same location of the register being allocated. This exposed an issue with a spilled constant being treated as a contained constant (causing an assert because it is not encodable).
Change codegen to use push for promoted structs (they are generally small-ish, and pushes of lclVars and constants are cheaper than loading into a register).
This could be optimized for consecutive float or double fields.
In the process of running jitStressRegs, I found that a test was throwing an exception but reporting success. I fixed the issue causing the exception and also changed the test to report failure if an exception is thrown.
Also, on x86, GT_UMOD requires op2 to be in a register, so Lowering must not mark it as RegOptional.

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

7 years ago[x86/Linux] Fix stdcall calling convention ignored on variadic function (dotnet/corec...
SaeHie Park [Tue, 22 Nov 2016 23:24:20 +0000 (08:24 +0900)]
[x86/Linux] Fix stdcall calling convention ignored on variadic function (dotnet/coreclr#8252)

WIP, fix compile error for x86/Linux
- fix to use STDMETHODVCALLTYPE

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

7 years agoAdd missing Path methods to model.xml (dotnet/coreclr#8257)
Jeremy Kuhne [Tue, 22 Nov 2016 23:23:59 +0000 (15:23 -0800)]
Add missing Path methods to model.xml (dotnet/coreclr#8257)

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

7 years agoMerge pull request dotnet/coreclr#8244 from seanshpark/x86pal01
Gaurav Khanna [Tue, 22 Nov 2016 23:04:50 +0000 (15:04 -0800)]
Merge pull request dotnet/coreclr#8244 from seanshpark/x86pal01

[x86/Linux] Fix compilation in pal and context header

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

7 years agoRespond to feedback
James Ko [Tue, 22 Nov 2016 22:20:46 +0000 (17:20 -0500)]
Respond to feedback

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

7 years agoMerge pull request dotnet/coreclr#8254 from pgavlin/FixTestBuild
Pat Gavlin [Tue, 22 Nov 2016 19:42:53 +0000 (11:42 -0800)]
Merge pull request dotnet/coreclr#8254 from pgavlin/FixTestBuild

Fix the test build.

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

7 years agoFix the test build.
Pat Gavlin [Tue, 22 Nov 2016 18:05:58 +0000 (10:05 -0800)]
Fix the test build.

PR dotnet/coreclr#8032 disabled the test build for all but one test. This change fixes
this oversight.

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

7 years agoMerge pull request dotnet/coreclr#8253 from JosephTremoulet/SwitchCopy
Pat Gavlin [Tue, 22 Nov 2016 17:43:44 +0000 (09:43 -0800)]
Merge pull request dotnet/coreclr#8253 from JosephTremoulet/SwitchCopy

Remove bogus "fast path" in unroller branch update

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

7 years agoMerge pull request dotnet/coreclr#8210 from mikedn/warn-test
Pat Gavlin [Tue, 22 Nov 2016 17:36:08 +0000 (09:36 -0800)]
Merge pull request dotnet/coreclr#8210 from mikedn/warn-test

Fix warnings in native test code

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

7 years agoMerge pull request dotnet/coreclr#8242 from pgavlin/gh8232
Pat Gavlin [Tue, 22 Nov 2016 17:35:13 +0000 (09:35 -0800)]
Merge pull request dotnet/coreclr#8242 from pgavlin/gh8232

Always nullcheck VSD tail calls on x86.

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

7 years agoRemove bogus "fast path" in unroller branch update
Joseph Tremoulet [Tue, 22 Nov 2016 16:59:29 +0000 (08:59 -0800)]
Remove bogus "fast path" in unroller branch update

BasicBlocks whose `bbJumpKind` doesn't make use of `bbJumpDest` may have
arbitrary garbage in their `bbJumpDest` field, so remove the code from
loop unrolling that was expecting such blocks to have null `bbJumpDest`s,
and instead always defer to the `optCopyBlkDest`/`optRedirectBlock`
helpers that check the jump kind before checking the jump dest.

Fixes dotnet/coreclr#8231.

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

7 years agoMerge pull request dotnet/coreclr#8233 from ianhays/api_lockunlock
Ian Hays [Tue, 22 Nov 2016 16:38:12 +0000 (08:38 -0800)]
Merge pull request dotnet/coreclr#8233 from ianhays/api_lockunlock

Add Unix FileStream Lock/Unlock code.

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

7 years agoMerge pull request dotnet/coreclr#8247 from CarolEidt/Fix288222
Carol Eidt [Tue, 22 Nov 2016 16:17:24 +0000 (08:17 -0800)]
Merge pull request dotnet/coreclr#8247 from CarolEidt/Fix288222

Set the size of SIMD this pointer

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

7 years agoPR feedback.
Pat Gavlin [Tue, 22 Nov 2016 16:12:17 +0000 (08:12 -0800)]
PR feedback.

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

7 years agoMerge pull request dotnet/coreclr#8032 from sbomer/dasm_automation
Sven Boemer [Tue, 22 Nov 2016 15:32:33 +0000 (07:32 -0800)]
Merge pull request dotnet/coreclr#8032 from sbomer/dasm_automation

Jit-diff automation

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

7 years ago[x86/Linux] fix and add for x86 cmake configuration (dotnet/coreclr#8219)
SaeHie Park [Tue, 22 Nov 2016 12:55:26 +0000 (21:55 +0900)]
[x86/Linux] fix and add for x86 cmake configuration (dotnet/coreclr#8219)

This patch will add x86 part for cross build
- add x86 in build-rootfs and related cross files
- add x86 parts in CMakeLists.txt to pass configuration
- add required source files to pass configuration

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

7 years ago[x86/Linux] Fix compilation in pal
SaeHie Park [Tue, 22 Nov 2016 02:22:16 +0000 (11:22 +0900)]
[x86/Linux] Fix compilation in pal

WIP, fix compile error for x86/Linux
- add KNONVOLATILE_CONTEXT_POINTERS
- add _X86_ codes in pal/context.h

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

7 years agoSet the size of SIMD this pointer
Carol Eidt [Tue, 22 Nov 2016 02:58:40 +0000 (18:58 -0800)]
Set the size of SIMD this pointer

When setting the SIMD type of a "this" pointer,
we need to capture the size of the SIMD type.
This was previously being set in a method in simd.cpp,
but when the SIMD type recognition was moved
earlier in the JIT, it was omitted.
This caused an assert in the case where a fixed-size
SIMD type is handled by `fgMorphCombineSIMDFieldAssignments()`.

Fixes bug 288222

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

7 years agoMerge pull request dotnet/coreclr#8213 from mikedn/assert-dup-produce
Pat Gavlin [Tue, 22 Nov 2016 00:53:59 +0000 (16:53 -0800)]
Merge pull request dotnet/coreclr#8213 from mikedn/assert-dup-produce

Detect duplicate calls to genProduceReg

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

7 years agoMerge pull request dotnet/coreclr#8206 from pgavlin/DivModLowerAndNewTempAssignIssues
Pat Gavlin [Tue, 22 Nov 2016 00:48:04 +0000 (16:48 -0800)]
Merge pull request dotnet/coreclr#8206 from pgavlin/DivModLowerAndNewTempAssignIssues

Fix two bugs revealed during internal testing.

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

7 years agoAlways nullcheck VSD tail calls on x86.
Pat Gavlin [Tue, 22 Nov 2016 00:39:21 +0000 (16:39 -0800)]
Always nullcheck VSD tail calls on x86.

This is a requirement of the runtime ABI: failing to perform this check
causes the runtime to AV in the virtual dispatch stub and crash.

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

7 years agoMerge pull request dotnet/coreclr#8235 from pgavlin/VSO280127
Pat Gavlin [Tue, 22 Nov 2016 00:23:37 +0000 (16:23 -0800)]
Merge pull request dotnet/coreclr#8235 from pgavlin/VSO280127

Do not treat certain calls as intrinsics for RyuJIT/x86.

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

7 years agoMerge pull request dotnet/coreclr#8185 from JosephTremoulet/ReturnAsplode
Joseph Tremoulet [Tue, 22 Nov 2016 00:09:22 +0000 (19:09 -0500)]
Merge pull request dotnet/coreclr#8185 from JosephTremoulet/ReturnAsplode

Curtail loop unroller epliog generation

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

7 years agoMerge pull request dotnet/coreclr#8122 from alsemenn/add_debuggertests_build
Sasha Semennikov [Mon, 21 Nov 2016 23:46:08 +0000 (15:46 -0800)]
Merge pull request dotnet/coreclr#8122 from alsemenn/add_debuggertests_build

Add debuggertests build

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

7 years agoEnable jit disasm in test scripts
Sven Boemer [Fri, 28 Oct 2016 19:55:57 +0000 (12:55 -0700)]
Enable jit disasm in test scripts

This change adds a section to the generated bash/cmd scripts for each
test that will run jit-dasm on the test dll when runtests is invoked
with the jitdasm flag.

Also begin updating netci.groovy to support jit-diff scenario.

Other minor fixes:
- Add corefxlab feed for System.CommandLine test dependency

  Without this, restoring the test dependencies retrieved an obsolete
  package of the same name from nuget.org.

- Skip jit-diff job generation for arm

  This fixes an assert that was checking that we are in the default
  scenario on arm.

- Fix an assert in netci.groovy

- Add branch that skips non-checked configurations for jitdiff scenario.

- Fix some dasm failures and a typo in dasm job name

- Some jit-dasm runs were failing because the dependencies in the
  current directory wasn't included in the arguments.

- Escape argument to jit-dasm

- increase timeout for jit-diff job

- Put PR job under a trigger, and some temporary changes for testing

- Make PR trigger look for comment

- Update Newtonsoft.Json version for compatibility with cijobs

- Update cijobs version for retrieving job by commit

- Temporarily run only one test

- Archive raw dasm output instead of zip

- Remove pr-specific logic, enable framework dasm

- Remove windows System.Private.CoreLib.ni.dll from test overlay

  The new test runtime dependencies were placing
  System.Private.CoreLib.ni.dll in the core_root directory, which resulted
  in the native image for windows being placed in the coreoverlay
  directory. We already had similar logic handling this case for
  mscorlib.ni.dll.

  This change also fixes the framework dasm output directory to match the
  test dasm output directory, and fixes some typos in the generated .sh
  files for running dasm on linux.

- Add dasm archiving on non-windows jobs

- Use core_root in bash scripts

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

7 years agoDo not treat certain calls as intrinsics for RyuJIT/x86.
Pat Gavlin [Mon, 21 Nov 2016 21:25:49 +0000 (13:25 -0800)]
Do not treat certain calls as intrinsics for RyuJIT/x86.

On x86 RyuJIT, importing intrinsics that are implemented as user calls
can cause incorrect calculation of the depth of the stack if these
intrinsics are used as arguments to another call. This causes bad code
generation for certain EH constructs. Instead of implementing these
intrinsics as intrinsics, simply import them as calls.

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

7 years agoMerge pull request dotnet/coreclr#8106 from mikedn/magic-div
Russell C Hadley [Mon, 21 Nov 2016 20:54:46 +0000 (12:54 -0800)]
Merge pull request dotnet/coreclr#8106 from mikedn/magic-div

Move magic division optimization from morph to lowering

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