platform/upstream/dotnet/runtime.git
7 years agoAddress PR feedback.
Pat Gavlin [Thu, 8 Jun 2017 02:22:51 +0000 (19:22 -0700)]
Address PR feedback.

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

7 years agoAdd lclVar semantic checks to CheckLIR.
Pat Gavlin [Wed, 7 Jun 2017 22:09:29 +0000 (15:09 -0700)]
Add lclVar semantic checks to CheckLIR.

Specifically, ensure that an unaliasable lclVar is not redefined between the
point at which a use appears in linear order and the point at which that
use is consumed by its user. This ensures that it is always safe to treat
a lclVar use as happening at the user (rather than at the lclVar node).

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

7 years agoMerge pull request dotnet/coreclr#12138 from pgavlin/CheckLIRCodegen
Pat Gavlin [Wed, 7 Jun 2017 20:30:01 +0000 (13:30 -0700)]
Merge pull request dotnet/coreclr#12138 from pgavlin/CheckLIRCodegen

Run the LIR checker before codegen.

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

7 years agoMerge pull request dotnet/coreclr#12139 from pgavlin/coredistoolsfix
Pat Gavlin [Wed, 7 Jun 2017 20:09:01 +0000 (13:09 -0700)]
Merge pull request dotnet/coreclr#12139 from pgavlin/coredistoolsfix

Define `__cdecl` if necessary in coredistools.h.

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

7 years agoMerge pull request dotnet/coreclr#12109 from briansull/ibc-tuning
Brian Sullivan [Wed, 7 Jun 2017 18:20:50 +0000 (11:20 -0700)]
Merge pull request dotnet/coreclr#12109 from briansull/ibc-tuning

Fixed the loading of ReadyToRun tuning native image

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

7 years agoDefine `__cdecl` if necessary in coredistools.h.
Pat Gavlin [Wed, 7 Jun 2017 17:28:44 +0000 (10:28 -0700)]
Define `__cdecl` if necessary in coredistools.h.

This fixes a build break for CoreDisTools on Linux.

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

7 years agoRun the LIR checker before codegen.
Pat Gavlin [Wed, 7 Jun 2017 17:26:43 +0000 (10:26 -0700)]
Run the LIR checker before codegen.

Just what it says on the tin.

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

7 years agoMerge pull request dotnet/coreclr#12122 from BruceForstall/CleanupEffectiveVal
Bruce Forstall [Wed, 7 Jun 2017 17:06:31 +0000 (10:06 -0700)]
Merge pull request dotnet/coreclr#12122 from BruceForstall/CleanupEffectiveVal

Remove use of gtEffectiveVal in RyuJIT codegen

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

7 years agoMerge pull request dotnet/coreclr#11994 from CarolEidt/Throughput
Carol Eidt [Wed, 7 Jun 2017 16:43:44 +0000 (09:43 -0700)]
Merge pull request dotnet/coreclr#11994 from CarolEidt/Throughput

Streamline LSRA for non-enregistered lclVars

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

7 years agoUpdate CoreClr, CoreFx to preview1-25407-02, preview1-25407-02, respectively (dotnet...
dotnet bot [Wed, 7 Jun 2017 15:47:22 +0000 (08:47 -0700)]
Update CoreClr, CoreFx to preview1-25407-02, preview1-25407-02, respectively (dotnet/coreclr#12133)

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

7 years agoFix portable build sos plugin problems (dotnet/coreclr#12125)
Mike McLaughlin [Wed, 7 Jun 2017 06:53:15 +0000 (23:53 -0700)]
Fix portable build sos plugin problems (dotnet/coreclr#12125)

* Fix portable build sos plugin problems.

Removing the explicit reference to liblldb. Since the lldb program has
already loaded this lib, our will now load regardless of the distro
and version of lldb.

Issue dotnet/coreclr#12098.

* Fix OSX build.

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

7 years agoUpdate CoreClr, CoreFx to preview1-25406-05, preview1-25406-02, respectively (dotnet...
dotnet bot [Wed, 7 Jun 2017 04:21:29 +0000 (21:21 -0700)]
Update CoreClr, CoreFx to preview1-25406-05, preview1-25406-02, respectively (dotnet/coreclr#11951)

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

7 years agoFix build breakage on high-processsor machines (dotnet/coreclr#12114)
Omair Majid [Wed, 7 Jun 2017 04:19:48 +0000 (00:19 -0400)]
Fix build breakage on high-processsor machines (dotnet/coreclr#12114)

The build calls `make -j $NumProc`. This breaks on machines with a high
number of procesors (such as 25).

To reproduce this on any machine, edit build.sh and change

    buildTool install -j $NumProc

to

    buildTool install -j 100

The error trace looks like this:

    In file included from coreclr/bin/obj/Linux.x64.Debug/Generated/eventpipe/dotnetruntime.cpp:12:
    In file included from coreclr/src/vm/common.h:306:
    In file included from coreclr/src/vm/eepolicy.h:15:
    In file included from coreclr/src/vm/vars.hpp:70:
    In file included from coreclr/src/vm/eeprofinterfaces.h:19:
    In file included from coreclr/src/inc/profilepriv.h:128:
    In file included from coreclr/src/inc/profilepriv.inl:18:
    In file included from coreclr/src/vm/eetoprofinterfaceimpl.h:23:
    coreclr/src/inc/eventtracebase.h:306:10: fatal error: 'clretwallmain.h' file not found

It turns out that the eventpipe code has a dependency on
clretwallmain.h. src/CMakeLists.txt points out that clretwallmain.h is a
generated file. But there's no actual dependency between the eventpipe
target and the header file(s).

Fix that by fixing the generator script to insert an explicit dependency
between 'eventpipe' module and 'GeneratedEventingFiles' module.

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

7 years agoRestore logic for when to use satellite resource lookup under AppX (dotnet/coreclr...
Jan Kotas [Wed, 7 Jun 2017 03:25:45 +0000 (20:25 -0700)]
Restore logic for when to use satellite resource lookup under AppX (dotnet/coreclr#12117)

Remove unused cache of Assembly flags while I was on it

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

7 years agoMore formatting
Carol Eidt [Wed, 7 Jun 2017 01:39:13 +0000 (18:39 -0700)]
More formatting

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

7 years agoFormatting
Carol Eidt [Wed, 7 Jun 2017 00:57:39 +0000 (17:57 -0700)]
Formatting

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

7 years agoStreamline LSRA for non-enregistered lclVars
Carol Eidt [Tue, 16 May 2017 23:56:05 +0000 (16:56 -0700)]
Streamline LSRA for non-enregistered lclVars

- Don't create any lclVar intervals if no lclVars are ever enregistered.
- Don't create intervals for tracked lclVars that are not register candidates.
- Don't create any `RegToVarMap`s when no lclVars are ever enregistered.
- Don't do edge resolution if no lclVars are enregistered.
- Eliminate non-candidate lclVars from the sets used by LSRA.

Also:
- Change VarToRegMap to use regNumberSmall.
- Enhance `COMPLus_JitLsraStats` and `COMPlus_JitTimeLogCsv` dumping.

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

7 years agoRemove use of gtEffectiveVal in RyuJIT codegen
Bruce Forstall [Tue, 6 Jun 2017 23:37:40 +0000 (16:37 -0700)]
Remove use of gtEffectiveVal in RyuJIT codegen

This is not required in RyuJIT at the codegen phase: COMMA and
value-producing NOPs are no longer in place.

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

7 years agoMerge pull request dotnet/coreclr#12113 from JosephTremoulet/NoTailStress
Joseph Tremoulet [Tue, 6 Jun 2017 22:46:55 +0000 (18:46 -0400)]
Merge pull request dotnet/coreclr#12113 from JosephTremoulet/NoTailStress

Stop extraneously setting tail call stress

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

7 years agoMerge pull request dotnet/coreclr#12119 from wtgodbe/StableVersion
William Godbe [Tue, 6 Jun 2017 22:03:23 +0000 (15:03 -0700)]
Merge pull request dotnet/coreclr#12119 from wtgodbe/StableVersion

Fix error with Stable Version

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

7 years agoFix error with Stable Version
wtgodbe [Tue, 6 Jun 2017 21:59:31 +0000 (14:59 -0700)]
Fix error with Stable Version

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

7 years agoMerge pull request dotnet/coreclr#12079 from hseok-oh/ryujit/fix_11850
Bruce Forstall [Tue, 6 Jun 2017 21:14:03 +0000 (14:14 -0700)]
Merge pull request dotnet/coreclr#12079 from hseok-oh/ryujit/fix_11850

[RyuJIT/ARM32] Fix assertion when struct argument passing less than 4 byte

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

7 years agoMerge pull request dotnet/coreclr#11897 from wtgodbe/TestCorrectVersion
William Godbe [Tue, 6 Jun 2017 21:07:04 +0000 (14:07 -0700)]
Merge pull request dotnet/coreclr#11897 from wtgodbe/TestCorrectVersion

Test packages from current build in pipeline

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

7 years agoFix for CoreRT issue https://github.com/dotnet/corert/issues/3672 (armel tizen) ...
sergey ignatov [Tue, 6 Jun 2017 20:11:38 +0000 (23:11 +0300)]
Fix for CoreRT issue https://github.com/dotnet/corert/issues/3672 (armel tizen) (dotnet/coreclr#12104)

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

7 years agoStop extraneously setting tail call stress
Joseph Tremoulet [Tue, 6 Jun 2017 20:11:17 +0000 (16:11 -0400)]
Stop extraneously setting tail call stress

Tests GitHub_10780 and GitHub_11689 are repro cases for issues that don't
have anything to do with tail calls; the bit of code in their csproj's
that sets COMPlus_TailCallStress was an accidental copy-paste inclusion
from GitHub_11408.  Remove that extra code.

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

7 years agoTest packages from current build in pipeline
wtgodbe [Wed, 24 May 2017 21:34:46 +0000 (14:34 -0700)]
Test packages from current build in pipeline

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

7 years agoMerge pull request dotnet/coreclr#12069 from CarolEidt/CrossGenMinOpts
Carol Eidt [Tue, 6 Jun 2017 18:47:33 +0000 (11:47 -0700)]
Merge pull request dotnet/coreclr#12069 from CarolEidt/CrossGenMinOpts

Support COMPlus_JITMinOpts for crossgen

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

7 years agoFixed the loading of ReadyToRun tuning native image
Brian Sullivan [Tue, 6 Jun 2017 18:06:20 +0000 (11:06 -0700)]
Fixed the loading of ReadyToRun tuning native image

Corrected the new ifdef that prevented the loading of tuning/profiling ReadyToRun native images
Commented out a costly precondition check, it is always true at all callsites.

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

7 years agoRename CMAKE_ENABLE_CODE_COVERAGE to CLR_CMAKE_ENABLE_CODE_COVERAGE (dotnet/coreclr...
Omair Majid [Tue, 6 Jun 2017 17:28:09 +0000 (13:28 -0400)]
Rename CMAKE_ENABLE_CODE_COVERAGE to CLR_CMAKE_ENABLE_CODE_COVERAGE (dotnet/coreclr#12106)

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

7 years agonew JitEE interface method: expandRawHandleIntrinsic (dotnet/coreclr#12071)
Sergey Andreenko [Tue, 6 Jun 2017 17:19:11 +0000 (10:19 -0700)]
new JitEE interface method: expandRawHandleIntrinsic (dotnet/coreclr#12071)

Create a new JitEE method expandRawHandleIntrinsic. Delete old isDelegateCreationAllowed and getAddrModuleDomainID.

Support CORINFO_INTRINSIC_GetRawHandle.
Change JITEEVersionIdentifier.
fix MEASURE_CLRAPI_CALLS: add resolveVirtualMethod and expandRawHandleIntrinsic there.

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

7 years agoFix a bad merge for Windows standalone GC build (dotnet/coreclr#12097)
Sean Gillespie [Tue, 6 Jun 2017 17:05:50 +0000 (10:05 -0700)]
Fix a bad merge for Windows standalone GC build (dotnet/coreclr#12097)

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

7 years agoFix crash due to lack of PSPSym in the CoreRT ABI (dotnet/coreclr#12082)
Petr Bred [Tue, 6 Jun 2017 15:59:40 +0000 (18:59 +0300)]
Fix crash due to lack of PSPSym in the CoreRT ABI (dotnet/coreclr#12082)

Signed-off-by: Petr Bred <bredpetr@gmail.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/c87487709235e22217a57aee3703138825db3a39

7 years ago[Local GC] Add TrapReturningThreads to the GC/EE interface (dotnet/coreclr#12067)
Sean Gillespie [Tue, 6 Jun 2017 05:23:46 +0000 (22:23 -0700)]
[Local GC] Add TrapReturningThreads to the GC/EE interface (dotnet/coreclr#12067)

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

7 years agoTypeForwardedFrom attributes on coretypes for NetFX serialization (dotnet/coreclr...
Viktor Hofer [Mon, 5 Jun 2017 23:17:54 +0000 (01:17 +0200)]
TypeForwardedFrom attributes on coretypes for NetFX serialization (dotnet/coreclr#12059)

* TypeForwardedFrom attributes on coretypes for NetFX serialization

* ValueTuple added

* Removed StubEnvironment typeforwards

* Modified FQAN for some special type forwards

* Support desktop to core serialization with InternalsVisibleTo for mscorlib

* Remove typeforwards from nested types

* Removed unused file

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3793 from dotnet/nmirror
Jan Kotas [Mon, 5 Jun 2017 19:38:24 +0000 (12:38 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3793 from dotnet/nmirror

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/be6dc5d8895658cc03204231dc39aff516033683

7 years agoDisable AppDomainLeaks configuration option for now until it is removed (dotnet/corec...
Sean Gillespie [Mon, 5 Jun 2017 22:42:03 +0000 (15:42 -0700)]
Disable AppDomainLeaks configuration option for now until it is removed (dotnet/coreclr#12095)

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

7 years agoMerge pull request dotnet/coreclr#11205 from mskvortsov/FixFloatingLdSt
Brian Sullivan [Mon, 5 Jun 2017 22:28:48 +0000 (15:28 -0700)]
Merge pull request dotnet/coreclr#11205 from mskvortsov/FixFloatingLdSt

[RyuJIT/ARM32] Workaround vstr/vldr addressing modes limitations

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

7 years agoMerge pull request dotnet/coreclr#12091 from pgavlin/TailCallStress11689
Pat Gavlin [Mon, 5 Jun 2017 21:33:58 +0000 (14:33 -0700)]
Merge pull request dotnet/coreclr#12091 from pgavlin/TailCallStress11689

Disable tail call stress in GH_11689 if ZapDisable is enabled.

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

7 years agoMerge pull request dotnet/coreclr#11884 from mikedn/arm-cmp-setcc
Pat Gavlin [Mon, 5 Jun 2017 21:06:45 +0000 (14:06 -0700)]
Merge pull request dotnet/coreclr#11884 from mikedn/arm-cmp-setcc

[WIP] Lower long compares that are materialized into a register for ARM32

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

7 years agoMerge pull request dotnet/coreclr#12072 from ellismg/update-buildtools
Matt Ellis [Mon, 5 Jun 2017 20:44:29 +0000 (13:44 -0700)]
Merge pull request dotnet/coreclr#12072 from ellismg/update-buildtools

Update BuildTools

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

7 years agoMerge pull request dotnet/coreclr#12085 from dotnet/Clean_up_properties_sent_for_Publ...
Matt Galbraith [Mon, 5 Jun 2017 20:05:43 +0000 (13:05 -0700)]
Merge pull request dotnet/coreclr#12085 from dotnet/Clean_up_properties_sent_for_Publish_builds

Make all publish legs of CoreCLR uniform and match existing ones.

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

7 years agoDisable tail call stress in GH_11689 if ZapDisable is enabled.
Pat Gavlin [Mon, 5 Jun 2017 19:49:24 +0000 (12:49 -0700)]
Disable tail call stress in GH_11689 if ZapDisable is enabled.

Tail call stress does not mix well with ZapDisable due to the issues
described in dotnet/coreclr#11408.

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

7 years agoMake all publish legs of CoreCLR uniform and match existing ones. Previously Release...
Matt Galbraith [Mon, 5 Jun 2017 17:34:46 +0000 (10:34 -0700)]
Make all publish legs of CoreCLR uniform and match existing ones.  Previously Release - Publish symbols was in the CoreFX-style format and the other three were not.  This unifies them.

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

7 years agoInline YieldProcessor on Linux (dotnet/coreclr#12058)
Xiangyang (Mark) Guo [Mon, 5 Jun 2017 17:16:27 +0000 (10:16 -0700)]
Inline YieldProcessor on Linux (dotnet/coreclr#12058)

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

7 years agoMore ldar/stlr support
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Mon, 15 May 2017 19:17:05 +0000 (19:17 +0000)]
More ldar/stlr support

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

7 years ago[Arm64] Add emitInsTargetRegSize support for ldar/stlr
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Fri, 12 May 2017 15:05:15 +0000 (15:05 +0000)]
[Arm64] Add emitInsTargetRegSize support for ldar/stlr

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

7 years agoMerge pull request dotnet/coreclr#12025 from hseok-oh/ryujit/remorph_filedlist
Carol Eidt [Mon, 5 Jun 2017 15:34:55 +0000 (08:34 -0700)]
Merge pull request dotnet/coreclr#12025 from hseok-oh/ryujit/remorph_filedlist

Skip argTable assignment for split struct when remorphing

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

7 years agoUpdate morph.cpp
Hyeongseok Oh [Mon, 5 Jun 2017 13:55:49 +0000 (22:55 +0900)]
Update morph.cpp

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

7 years agoFix an excess allocation of internal registers
Mikhail Skvortcov [Wed, 24 May 2017 12:42:41 +0000 (15:42 +0300)]
Fix an excess allocation of internal registers

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

7 years agoForbid making lea contained for vstr/vldr
Mikhail Skvortcov [Tue, 23 May 2017 15:45:02 +0000 (18:45 +0300)]
Forbid making lea contained for vstr/vldr

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

7 years agoModify genCreateAddrMode to make it behave the same way as on arm64
Mikhail Skvortcov [Tue, 23 May 2017 13:44:58 +0000 (16:44 +0300)]
Modify genCreateAddrMode to make it behave the same way as on arm64

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

7 years agoAdapt shared genLeaInstruction for arm32
Mikhail Skvortcov [Tue, 23 May 2017 13:25:07 +0000 (16:25 +0300)]
Adapt shared genLeaInstruction for arm32

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

7 years agoRemove arm32's genLeaInstruction
Mikhail Skvortcov [Tue, 23 May 2017 12:25:44 +0000 (15:25 +0300)]
Remove arm32's genLeaInstruction

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

7 years agoMove arm64's genLeaInstruction into codegenarmarch.cpp
Mikhail Skvortcov [Tue, 23 May 2017 12:19:45 +0000 (15:19 +0300)]
Move arm64's genLeaInstruction into codegenarmarch.cpp

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

7 years agoRevert commit dfca51c6
Mikhail Skvortcov [Tue, 23 May 2017 12:12:22 +0000 (15:12 +0300)]
Revert commit dfca51c6

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

7 years ago[RyuJIT/ARM32] Struct argument passing less than 4 byte
Hyeongseok Oh [Mon, 5 Jun 2017 07:04:26 +0000 (16:04 +0900)]
[RyuJIT/ARM32] Struct argument passing less than 4 byte

Fix assertion when struct argument is less than 4 byte and promoted

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

7 years agoRevert and remove isReMorph argument
Hyeongseok Oh [Mon, 5 Jun 2017 03:28:14 +0000 (12:28 +0900)]
Revert and remove isReMorph argument

- Revert commit that is removing nextSlotNum update in remorphing phase
- Remove isReMorph argument in SplitArg by using argsComplete

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

7 years agoAdditional fix for ETW failure in 32 process on 64 bit machines. (dotnet/coreclr...
Vance Morrison [Sat, 3 Jun 2017 15:30:36 +0000 (08:30 -0700)]
Additional fix for ETW failure in 32 process on 64 bit machines. (dotnet/coreclr#12022)

* Addtional fix for ETW failure in 32 process on 64 bit machines.

The commit associated with Pull Request
    Fix failures in ETW logging on 4GB aware 32 bit processes dotnet/coreclr#11941

Was incorrect.   Some long were changed to ulong, but the critical casting an IntPtr to ulong still does
sign extention and not zero extension.   Need to cast to a void* first.  This fixes this.

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

7 years agoMerge pull request dotnet/coreclr#12068 from omajid/master
Matt Ellis [Sat, 3 Jun 2017 05:47:15 +0000 (22:47 -0700)]
Merge pull request dotnet/coreclr#12068 from omajid/master

Fix typo in CRL_CMAKE_WARNINGS_ARE_ERRORS

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

7 years agoRemove relocations from SECTION_MethodDesc for ngened images for fields accessed...
gbalykov [Sat, 3 Jun 2017 03:31:28 +0000 (06:31 +0300)]
Remove relocations from SECTION_MethodDesc for ngened images for fields accessed from jit code for Linux ARM (dotnet/coreclr#11963)

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

7 years agoCall sched_yield directly for Sleep(0) (dotnet/coreclr#12063)
Koundinya Veluri [Sat, 3 Jun 2017 00:04:17 +0000 (17:04 -0700)]
Call sched_yield directly for Sleep(0) (dotnet/coreclr#12063)

Related to PR dotnet/coreclr#12057

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

7 years agoSupport COMPlus_JITMinOpts for crossgen
Carol Eidt [Fri, 2 Jun 2017 23:40:07 +0000 (16:40 -0700)]
Support COMPlus_JITMinOpts for crossgen

In order to better enable throughput measurement and analysis,
we would like to be able to specify COMPlus_JITMinOpts with crossgen.

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

7 years agoFix typo in CRL_CMAKE_WARNINGS_ARE_ERRORS
Omair Majid [Fri, 2 Jun 2017 23:00:26 +0000 (19:00 -0400)]
Fix typo in CRL_CMAKE_WARNINGS_ARE_ERRORS

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

7 years agoUpdate BuildTools
Matt Ellis [Fri, 2 Jun 2017 22:59:40 +0000 (15:59 -0700)]
Update BuildTools

This picks up some changes to how the tool runtime is published (we
now publish it as a portable app so we have less random .so's lying
around).

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

7 years agoMerge pull request dotnet/coreclr#12064 from rartemev/fix_bash_script_issues
Roman Artemev [Fri, 2 Jun 2017 22:42:54 +0000 (15:42 -0700)]
Merge pull request dotnet/coreclr#12064 from rartemev/fix_bash_script_issues

Fix path in bash script that runs test

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

7 years agofix procCount assertion (dotnet/coreclr#12065)
Xiangyang (Mark) Guo [Fri, 2 Jun 2017 21:24:47 +0000 (14:24 -0700)]
fix procCount assertion (dotnet/coreclr#12065)

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

7 years agoTiny typo in TaskCompletionSource xml comment (dotnet/coreclr#12066)
Bar Arnon [Fri, 2 Jun 2017 21:24:29 +0000 (00:24 +0300)]
Tiny typo in TaskCompletionSource xml comment (dotnet/coreclr#12066)

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

7 years agoAdd support for not breaking *nix build on warnings (dotnet/coreclr#12039)
Omair Majid [Fri, 2 Jun 2017 20:55:14 +0000 (16:55 -0400)]
Add support for not breaking *nix build on warnings (dotnet/coreclr#12039)

Add a build flag to make -Werror optional and let the build continue
even in the presence of warnings.

This option is very useful for anyone compiling with a different
(version of the) compiler. A different (version of the) compiler may
produce a different set of warnings and a piece of code that compiles
without warnings may emit warnings with a different (version of the)
compiler.

Resolves https://github.com/dotnet/coreclr/issues/8586

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3745 from dotnet/nmirror
Jan Kotas [Wed, 31 May 2017 06:22:43 +0000 (23:22 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3745 from dotnet/nmirror

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/23126aa5b7d6dc7b58301df7d0af1ccdf805224d

7 years agoMerge pull request dotnet/coreclr#11699 from swgillespie/local-gc-branch-merge
Sean Gillespie [Fri, 2 Jun 2017 19:08:18 +0000 (12:08 -0700)]
Merge pull request dotnet/coreclr#11699 from swgillespie/local-gc-branch-merge

Integration from dev/local-gc into master

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

7 years agoattempt to fix r2r test failures
Roman Artemev [Fri, 2 Jun 2017 18:47:04 +0000 (11:47 -0700)]
attempt to fix r2r test failures

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

7 years agoMerge pull request dotnet/coreclr#11803 from BruceForstall/FixRuntest
Bruce Forstall [Fri, 2 Jun 2017 18:41:22 +0000 (11:41 -0700)]
Merge pull request dotnet/coreclr#11803 from BruceForstall/FixRuntest

Update runtest.cmd help to reflect reality

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

7 years agofix SleepEx(0,false) on Linux (dotnet/coreclr#12057)
Xiangyang (Mark) Guo [Fri, 2 Jun 2017 18:28:36 +0000 (11:28 -0700)]
fix SleepEx(0,false) on Linux (dotnet/coreclr#12057)

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

7 years agoReturn 0 on success from GC Reliability Framework scripts (dotnet/coreclr#11990)
Sean Gillespie [Fri, 2 Jun 2017 17:17:53 +0000 (10:17 -0700)]
Return 0 on success from GC Reliability Framework scripts (dotnet/coreclr#11990)

* Return 0 on success from GC Reliability Framework scripts

* Don't save standard out, Jenkins already does this

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

7 years agoMerge pull request dotnet/coreclr#11957 from sjsinju/spill_temp_size
Carol Eidt [Fri, 2 Jun 2017 16:51:37 +0000 (09:51 -0700)]
Merge pull request dotnet/coreclr#11957 from sjsinju/spill_temp_size

[RyuJit/ARM32] Adjust alignment for TYP_DOUBLE in tmpPreAllocateTemps

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

7 years agoMerge pull request dotnet/coreclr#12003 from sjsinju/reg1_reg2_planB
Carol Eidt [Fri, 2 Jun 2017 16:50:31 +0000 (09:50 -0700)]
Merge pull request dotnet/coreclr#12003 from sjsinju/reg1_reg2_planB

[RyuJit/ARM32] Fix wrong behavior of UINT->CHAR casting

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

7 years agoAdd support for flat vtables in RyuJIT (dotnet/coreclr#12041)
Michal Strehovský [Fri, 2 Jun 2017 16:25:48 +0000 (09:25 -0700)]
Add support for flat vtables in RyuJIT (dotnet/coreclr#12041)

CoreRT needs one less indirection to get to the virtual method.

On CoreCLR a virtual method call resolution goes like:

```
this -> MethodTable -> chunk(?) -> slot
```

On CoreRT, it's more flat:

```
this -> EEType -> slot
```

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

7 years agoFix a bug in LoadNativeStringResource to honor the contract properly when the buffer...
Yi Zhang (CLR) [Fri, 2 Jun 2017 16:10:34 +0000 (09:10 -0700)]
Fix a bug in LoadNativeStringResource to honor the contract properly when the buffer is not big enough (dotnet/coreclr#12051)

* Return last error properly

* adjust pcwchUsed if ERROR_INSUFFICIENT_BUFFER

* return hr

* ERROR_INSUFFICIENT_BUFFER is a win32 error....

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

7 years agoInvoke jitShutdown during ProcessShutdownWork (dotnet/coreclr#12054)
Jonghyun Park [Fri, 2 Jun 2017 13:12:19 +0000 (22:12 +0900)]
Invoke jitShutdown during ProcessShutdownWork (dotnet/coreclr#12054)

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

7 years agoDelete long compare support from ARM32 codegen
Mike Danes [Wed, 24 May 2017 16:58:28 +0000 (19:58 +0300)]
Delete long compare support from ARM32 codegen

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

7 years agoEnable long relop lowering for ARM32
Mike Danes [Wed, 24 May 2017 16:53:22 +0000 (19:53 +0300)]
Enable long relop lowering for ARM32

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

7 years agoAdd ARM32 support for GT_SETCC/GT_CMP/GTF_SET_FLAGS
Mike Danes [Wed, 24 May 2017 11:17:28 +0000 (14:17 +0300)]
Add ARM32 support for GT_SETCC/GT_CMP/GTF_SET_FLAGS

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

7 years ago[x64/Linux] Fix FEATURE_INTERPRETER Release build (dotnet/coreclr#12046)
Jonghyun Park [Fri, 2 Jun 2017 05:28:27 +0000 (14:28 +0900)]
[x64/Linux] Fix FEATURE_INTERPRETER Release build (dotnet/coreclr#12046)

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

7 years agoFix formatting and bug
Hyeongseok Oh [Fri, 2 Jun 2017 04:51:33 +0000 (13:51 +0900)]
Fix formatting and bug

Fix formatting
Fix bug: DEBUG flag usage

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

7 years agoRemove updating nextSlotNum in remorphing phase
Hyeongseok Oh [Fri, 2 Jun 2017 03:18:10 +0000 (12:18 +0900)]
Remove updating nextSlotNum in remorphing phase

Remove updating nextSlotNum in remorphing phase
Remain updating it in remorphing phase for debugging only.

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

7 years agoModify comments
sjsujinkim [Fri, 2 Jun 2017 01:25:34 +0000 (10:25 +0900)]
Modify comments

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

7 years agoFix formatting
Hyeongseok Oh [Fri, 2 Jun 2017 01:12:47 +0000 (10:12 +0900)]
Fix formatting

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

7 years agoFix optdata restore functionality (dotnet/coreclr#11935)
Daniel Podder [Thu, 1 Jun 2017 23:41:50 +0000 (18:41 -0500)]
Fix optdata restore functionality (dotnet/coreclr#11935)

Fix optdata restore functionality (dotnet/coreclr#11935)

Bring back optdata restore functionality following the move to 2.0
BuildTools and csproj-based CLI. Disable a harmless warning that broke
the Linux build when consuming PGO counts due to -Werr.

Fix dotnet/coreclr#11796 for master

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

7 years agoEnsure that platform is considered for LongPlatformName instead of PackagePlatform...
Karthik Rajasekaran [Thu, 1 Jun 2017 22:59:00 +0000 (15:59 -0700)]
Ensure that platform is considered for LongPlatformName instead of PackagePlatform (dotnet/coreclr#11900)

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

7 years agoSupport msbuildonunsupportedplatform on non-x64 architecture (dotnet/coreclr#11966)
Jonghyun Park [Thu, 1 Jun 2017 22:18:40 +0000 (07:18 +0900)]
Support msbuildonunsupportedplatform on non-x64 architecture (dotnet/coreclr#11966)

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

7 years agoFix 11991 (dotnet/coreclr#12013)
Sergey Andreenko [Thu, 1 Jun 2017 21:24:39 +0000 (14:24 -0700)]
Fix 11991 (dotnet/coreclr#12013)

Fix the case when the path doesn't have any '\'.
Fix clean_up.

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

7 years agoFix warnings on 32-bit platforms
Sean Gillespie [Thu, 1 Jun 2017 21:07:19 +0000 (14:07 -0700)]
Fix warnings on 32-bit platforms

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

7 years agoMerge pull request dotnet/coreclr#11959 from hqueue/arm/ryujit/11779
Carol Eidt [Thu, 1 Jun 2017 20:16:18 +0000 (13:16 -0700)]
Merge pull request dotnet/coreclr#11959 from hqueue/arm/ryujit/11779

[RyuJIT/ARM32][LSRA] Fix restoring TYP_DOUBLE interval in ARM32

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

7 years agoMerge pull request dotnet/coreclr#11860 from rartemev/fix_tests_build_4
Roman Artemev [Thu, 1 Jun 2017 19:27:23 +0000 (12:27 -0700)]
Merge pull request dotnet/coreclr#11860 from rartemev/fix_tests_build_4

Fixed tests build on Linux

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

7 years agoMerge pull request dotnet/coreclr#11876 from hqueue/arm/ryujit/merge_lowerarmarch
Pat Gavlin [Thu, 1 Jun 2017 18:35:33 +0000 (11:35 -0700)]
Merge pull request dotnet/coreclr#11876 from hqueue/arm/ryujit/merge_lowerarmarch

Merge remaining common arm32/arm64 lowering functions

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

7 years ago[Local GC] Remove uses of g_SystemInfo from the GC (dotnet/coreclr#11628)
Sean Gillespie [Thu, 1 Jun 2017 17:17:35 +0000 (10:17 -0700)]
[Local GC] Remove uses of g_SystemInfo from the GC (dotnet/coreclr#11628)

* [Local GC] Don't use g_SystemInfo to infer the number of processors

* [Local GC] Avoid using g_SystemInfo.dwAllocationGranularity from within
the GC.

In a few places, the GC aligns the size of a request memory reservation
to the allocation granularity before calling
GCToOSInterface::VirtualReserve. Upon inspection, this isn't necessary.

* [Local GC] Remove uses of g_SystemInfo from the handle table

* Add new API on GCToOSInterface for querying the total number of procs on the machine

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

7 years ago[Local GC] Obtaining configuration information (dotnet/coreclr#11379)
Sean Gillespie [Tue, 30 May 2017 21:20:16 +0000 (17:20 -0400)]
[Local GC] Obtaining configuration information (dotnet/coreclr#11379)

* [Local GC] Skeleton for GC configuration

* Initial tweaks after design feedback:
    1) Use string keys instead of enums. Upon receiving a string key,
    the EE looks at it and, if it's something that comes from startup
    flags, responds using the startup flag information. Otherwise, it
    forwards the string onto CLRConfig.
    2) Add a mechanism for getting string configuration values from the
    EE. This includes adding a RAII wrapper around strings so that they
    are freed correctly.

* Remove uses of g_pConfig from the GC and replace with GCConfig

* Use the GCConfig system for the GC log

* Fix poorly-named parameter

* Add documentation and caching of bool and int configs obtained from the EE

* Remove AppDomainLeaks as dead code

* Remove GC trace configs as dead code

* Repair unix build

* Fix an issue where we started the GC in the wrong latency mode

* Fix the unix build

* Pipe GCRetainVM configuration to the GC

* Dead code removal in the GC sample

* EEConfig -> GCConfig for heap verification constants in the GC

* Populate config information for bools and ints eagerly at startup

* Initialize g_theGCToCLR before initializing GCConfig

* Propegate HoardVM config to the GC

* Fix an incorrect comment

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

7 years ago[Local GC] Add async pinned handle methods to the handle interface (dotnet/coreclr...
Sean Gillespie [Tue, 16 May 2017 17:19:36 +0000 (10:19 -0700)]
[Local GC] Add async pinned handle methods to the handle interface (dotnet/coreclr#11569)

* [Local GC] Add async pinned handle methods to the handle interface

* Add a callback to HandleAsyncPinnedHandles for handle enumeration

* Rename HandleAsyncPinnedHandles -> EnumerateAsyncPinnedHandles

* Introduce typedef for function pointer type

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

7 years ago[Local GC] Fix handle table interface violation (dotnet/coreclr#11558)
Sean Gillespie [Sat, 13 May 2017 06:37:21 +0000 (23:37 -0700)]
[Local GC] Fix handle table interface violation (dotnet/coreclr#11558)

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

7 years ago[Local GC] Fix some handle table interface violations in COMDependentHandle (dotnet...
Sean Gillespie [Wed, 17 May 2017 22:41:34 +0000 (15:41 -0700)]
[Local GC] Fix some handle table interface violations in COMDependentHandle (dotnet/coreclr#11358)

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