platform/upstream/dotnet/runtime.git
7 years agoImprove long relop lowering
Mike Danes [Wed, 7 Jun 2017 11:42:30 +0000 (14:42 +0300)]
Improve long relop lowering

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

7 years agoSimplify long relop lowering
Mike Danes [Fri, 2 Jun 2017 09:15:07 +0000 (12:15 +0300)]
Simplify long relop lowering

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

7 years agodelete DECLARE_TYPED_ENUM (dotnet/coreclr#12177)
Sergey Andreenko [Fri, 9 Jun 2017 07:07:46 +0000 (00:07 -0700)]
delete DECLARE_TYPED_ENUM (dotnet/coreclr#12177)

* delete DECLARE_TYPED_ENUM

delete the workaroung for g++ c++11, that was fixes in gcc 4.4.1 many
years ago.

The workaround makes code dirty and sometimes we have typos like:
};
END_DECLARE_TYPED_ENUM(insFlags,unsigned)

or
END_DECLARE_TYPED_ENUM(ChunkExtraAttribs, BYTE);
with double ;;

* jit-format

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

7 years agoperf.groovy fails to sanitize <PR> name properly (dotnet/coreclr#12167)
José Rivero [Fri, 9 Jun 2017 00:44:44 +0000 (17:44 -0700)]
perf.groovy fails to sanitize <PR> name properly (dotnet/coreclr#12167)

Fix dotnet/coreclr#12166

* Using "double quotes" instead of [square brackets] in the if condition.

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

7 years agoMerge pull request dotnet/coreclr#11901 from CarolEidt/RegVal
Carol Eidt [Thu, 8 Jun 2017 23:34:20 +0000 (16:34 -0700)]
Merge pull request dotnet/coreclr#11901 from CarolEidt/RegVal

Make containedness explicit

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

7 years ago[Arm64/Unix] Fix SOFTWARE_WRITE_WATCH for 64K pages (dotnet/coreclr#11413)
Steve MacLean [Thu, 8 Jun 2017 23:02:33 +0000 (19:02 -0400)]
[Arm64/Unix] Fix SOFTWARE_WRITE_WATCH for 64K pages (dotnet/coreclr#11413)

* Decouple Software Write Watch from page size

* Use WRITE_WATCH_UNIT_SIZE in revisit_written_page(s)

* GC add align_write_watch_lower_page

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

7 years agoMerge pull request dotnet/coreclr#12011 from pgavlin/FixTestNugetRuntimeId
Pat Gavlin [Thu, 8 Jun 2017 22:59:07 +0000 (15:59 -0700)]
Merge pull request dotnet/coreclr#12011 from pgavlin/FixTestNugetRuntimeId

Fix TestNugetRuntimeId.

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

7 years agoFirst steps for generating nuget packages for ARM64/Android. (dotnet/coreclr#10286)
Cyd Haselton [Thu, 8 Jun 2017 22:34:04 +0000 (17:34 -0500)]
First steps for generating nuget packages for ARM64/Android. (dotnet/coreclr#10286)

* First steps for generating nuget packages for ARM64/Android. Adds Android RIDS and related conditionals to appropriate files

* Additional changes for Android package build

* Revert addition of Android to supported packages

* Allow Android .nuget package build

Adding runtime.Android files for package generation
Adding TODO for reliable generation of __DistroRid for Android

* Added/corrected logic for detecting __DistroRid at commandline
Removed hack and TODO

* Removed newline

* Revert unintentional change to osx rid

* Removed commenting of __DistroRid initialization

* Latest fixes for __DistroRid cmdline detection

Removed __DistroRid initialization (clobbers value set at cmdline)
Removed echo test of __DistroRid in generate nuget pkg function
(Hopefully) fixed cross-build os-release detection

* Removed android.21-arm from supported RIDs

Removed arm32 from supported RIDs until test build can be done or CI for arm32 added (?)

* Fixes for package generation for android

Modified build-android-rootfs.sh so it would generate file w/platform info
Reverted all prior changes to initTargetDistroRid, added new android platform detection

* Fixed conditional for Android

* Added platform generation for Android portable build, if ever needed

* Added information about android_platform

Added help info about android_platform file
Added TODO for dynamic generation of RID based on $__ApiLevel and $__BuildArch

* Syntax cleanup for build.sh

Removed extra space in initTargetDistroRid() logic

* Recommended review changes

removed Android-specific runtime files for packaging
added conditional to have Android use Linux runtime files

* Updated topic branch from master, resolving SPC.ni.dll file nuget pkg issue

* ericstj review changes

Fixed accidental fedora version change
Fixed indenting

* Removed TODO comment; logic already in place, added in earlier commit

* Removed Android OfficialBuildRID

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

7 years agoMerge pull request dotnet/coreclr#12172 from pgavlin/gh12154
Pat Gavlin [Thu, 8 Jun 2017 20:37:08 +0000 (13:37 -0700)]
Merge pull request dotnet/coreclr#12172 from pgavlin/gh12154

Don't dump an uninitialized bitset in LSRA.

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

7 years agoMerge pull request dotnet/coreclr#12148 from mikedn/oper-dump
Russell C Hadley [Thu, 8 Jun 2017 19:54:06 +0000 (12:54 -0700)]
Merge pull request dotnet/coreclr#12148 from mikedn/oper-dump

Make JIT dumps more readable

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

7 years agoDon't dump an uninitialized bitset in LSRA.
Pat Gavlin [Thu, 8 Jun 2017 19:00:45 +0000 (12:00 -0700)]
Don't dump an uninitialized bitset in LSRA.

LSRA was unconditionally dumping `fpCalleeSaveCandidateVars`, which is
not initialized if we are not enregistering any lclVars. This was
causing an assertion with dumping enabled.

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

7 years ago[Local GC] Add GetThread to the GC/EE interface (dotnet/coreclr#12036)
Sean Gillespie [Thu, 8 Jun 2017 18:07:12 +0000 (11:07 -0700)]
[Local GC] Add GetThread to the GC/EE interface (dotnet/coreclr#12036)

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

7 years agoMerge pull request dotnet/coreclr#12005 from wateret/wip-armel-lsra
Carol Eidt [Thu, 8 Jun 2017 16:47:45 +0000 (09:47 -0700)]
Merge pull request dotnet/coreclr#12005 from wateret/wip-armel-lsra

[RyuJIT/armel] Support putting floating-point args

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

7 years agoDescribe how to use daily by setting RuntimeFrameworkVersion and publishing self...
Tom Deseyn [Thu, 8 Jun 2017 16:08:00 +0000 (18:08 +0200)]
Describe how to use daily by setting RuntimeFrameworkVersion and publishing self-contained. (dotnet/coreclr#12056)

* Describe how to use daily by setting RuntimeFrameworkVersion and publishing self-contained.

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

7 years ago[Arm64] stlr for JIT_WriteBarrier
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Fri, 26 May 2017 00:08:39 +0000 (00:08 +0000)]
[Arm64] stlr for JIT_WriteBarrier

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

7 years ago[Arm64] Use ish domain JIT_WriteBarrier
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Fri, 26 May 2017 00:08:34 +0000 (00:08 +0000)]
[Arm64] Use ish domain JIT_WriteBarrier

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

7 years agoMerge pull request dotnet/coreclr#12145 from AndyAyersMS/UpdateBenchmarks
Andy Ayers [Thu, 8 Jun 2017 15:31:35 +0000 (08:31 -0700)]
Merge pull request dotnet/coreclr#12145 from AndyAyersMS/UpdateBenchmarks

Modify iteration behavior some benchmarks

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

7 years agoUpdate CoreClr to preview1-25408-03 (dotnet/coreclr#12161)
dotnet bot [Thu, 8 Jun 2017 14:40:41 +0000 (07:40 -0700)]
Update CoreClr to preview1-25408-03 (dotnet/coreclr#12161)

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3832 from dotnet/nmirror
Jan Kotas [Thu, 8 Jun 2017 03:16:48 +0000 (20:16 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3832 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/688b470713c81b03abfe0aa388122d553f424f7b

7 years agoFix linker GUARD option (dotnet/coreclr#11492)
Jan Vorlicek [Thu, 8 Jun 2017 10:54:18 +0000 (12:54 +0200)]
Fix linker GUARD option (dotnet/coreclr#11492)

I have found that the /GUARD:CF option set in the root CMakeFiles.txt
was not being propagated to the Visual C++ project files generated
by cmake because of a wrong casing. The CMakeFiles.txt used /guard:cf
but it works correctly only if it is all upper case.

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

7 years agoMerge pull request dotnet/coreclr#12102 from tmds/any-linux
Matt Ellis [Thu, 8 Jun 2017 06:53:49 +0000 (23:53 -0700)]
Merge pull request dotnet/coreclr#12102 from tmds/any-linux

build.sh: fall back to portable Linux when Linux host has unknown rid

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

7 years agoUpdate CoreClr, CoreFx to preview1-25408-01, preview1-25408-01, respectively (dotnet...
dotnet bot [Thu, 8 Jun 2017 05:09:52 +0000 (22:09 -0700)]
Update CoreClr, CoreFx to preview1-25408-01, preview1-25408-01, respectively (dotnet/coreclr#12157)

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

7 years agoMerge pull request dotnet/coreclr#12155 from pgavlin/LclVarChecks
Pat Gavlin [Thu, 8 Jun 2017 04:48:42 +0000 (21:48 -0700)]
Merge pull request dotnet/coreclr#12155 from pgavlin/LclVarChecks

Add lclVar semantic checks to CheckLIR.

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

7 years agoFormat code.
Pat Gavlin [Thu, 8 Jun 2017 04:27:41 +0000 (21:27 -0700)]
Format code.

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

7 years ago[RyuJIT/armel] Support putting floating-point args
Hanjoung Lee [Wed, 7 Jun 2017 10:12:19 +0000 (19:12 +0900)]
[RyuJIT/armel] Support putting floating-point args

- Make Lowering and LSRA be aware of armel argument push convention.
- Implement codegen for GT_COPY that was newly created from `LowerArg()`.
- Only `float` type is supported. (`double` is not supported yet.)

Fix dotnet/coreclr#11928

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

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 agoMerge pull request dotnet/coreclr#12142 from BruceForstall/ReduceNoway
Bruce Forstall [Thu, 8 Jun 2017 00:43:22 +0000 (17:43 -0700)]
Merge pull request dotnet/coreclr#12142 from BruceForstall/ReduceNoway

Convert some very common noway_assert to simple assert

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

7 years agoMerge pull request dotnet/coreclr#12087 from sdmaclea/PR-JIT-AcquireRelease-SimpleCases
Carol Eidt [Thu, 8 Jun 2017 00:20:38 +0000 (17:20 -0700)]
Merge pull request dotnet/coreclr#12087 from sdmaclea/PR-JIT-AcquireRelease-SimpleCases

[Arm64] Pr jit acquire release simple cases

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

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 agodelete BLOCKSET_INIT_NOCOPY and BLOCKSET_INIT. (dotnet/coreclr#12144)
Sergey Andreenko [Wed, 7 Jun 2017 22:28:26 +0000 (15:28 -0700)]
delete BLOCKSET_INIT_NOCOPY and BLOCKSET_INIT. (dotnet/coreclr#12144)

BLOCKSET_INIT was unused.
BLOCKSET_INIT_NOCOPY was replaced by the implicit constructor.

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

7 years agorename temp variables with meaningful names. (dotnet/coreclr#12023)
Sergey Andreenko [Wed, 7 Jun 2017 22:28:02 +0000 (15:28 -0700)]
rename temp variables with meaningful names. (dotnet/coreclr#12023)

It was hard to follow the logic.

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

7 years agoOnly restore optdata for release builds (dotnet/coreclr#12136)
Daniel Podder [Wed, 7 Jun 2017 21:41:31 +0000 (16:41 -0500)]
Only restore optdata for release builds (dotnet/coreclr#12136)

Avoid restoring optdata during a non-release build to minimize work done
by build.sh/cmd. Fix dotnet/coreclr#12126

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

7 years agoSimplify genRegArgNext() (dotnet/coreclr#12124)
Bruce Forstall [Wed, 7 Jun 2017 21:39:24 +0000 (14:39 -0700)]
Simplify genRegArgNext() (dotnet/coreclr#12124)

* Simplify genRegArgNext()

There is no need to check the register type before calling REG_NEXT.

* Rewrite using `switch`

* Fix genRegArgNext for Linux x64

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

7 years agoMake JIT dumps more readable
Mike Danes [Sun, 28 May 2017 06:44:02 +0000 (09:44 +0300)]
Make JIT dumps more readable

Replace all uses of NodeName with OpName so we get proper names instead of symbols (e.g. ADD instead of +).  Names stand out better, especially in JIT dumps where we use various symbols to draw tree lines.

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

7 years agoModify iteration behavior some benchmarks
Andy Ayers [Fri, 19 May 2017 19:40:15 +0000 (12:40 -0700)]
Modify iteration behavior some benchmarks

This change updates the iteration behavior for the following benchmarks, so that
they generally run for about 1 second per iteration:
* Inline/InlineGCStruct
* Inline/NoThrowInline
* Span/IndexerBench/Indexer4
* Functions/MathTests/*

It also removes the length 1, 10, and 1000 variants of the Span/SpanBench
tests, leaving just the length 100 variants. Analysis has shown that there
is no need to test varying lengths here. Iteration counts for these tests
have been left as is and will be fixed subsequently.

Partially addresses dotnet/coreclr#11654.

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

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 agoConvert some very common noway_assert to simple assert
Bruce Forstall [Wed, 7 Jun 2017 19:20:08 +0000 (12:20 -0700)]
Convert some very common noway_assert to simple assert

With these few changes, I measured a JIT instruction count reduction
of 0.37% of SuperPMI over the tests, and 0.17% for MinOpts.

Related to dotnet/coreclr#10421

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

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 agoMake containedness explicit
Carol Eidt [Thu, 19 Jan 2017 00:53:05 +0000 (16:53 -0800)]
Make containedness explicit

Eliminate the use of GTF_REG_VAL in RyuJIT and reuse the
bit to mark nodes as contained.
Abstract GTF_REG_VAL for legacy backend.

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

7 years agoFix FreeBSD build
Tom Deseyn [Wed, 7 Jun 2017 08:55:08 +0000 (10:55 +0200)]
Fix FreeBSD build

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

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 agobuild{,-test}.sh: revert and add list of unsupported rids
Tom Deseyn [Wed, 7 Jun 2017 06:39:25 +0000 (08:39 +0200)]
build{,-test}.sh: revert and add list of unsupported rids

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

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 agobuild.sh: fall back to portable linux when Linux host has unknown rid
Tom Deseyn [Tue, 6 Jun 2017 08:42:28 +0000 (10:42 +0200)]
build.sh: fall back to portable linux when Linux host has unknown rid

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

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 agoDo not set GTF_IND_UNALIGNED on byte sized types
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Mon, 5 Jun 2017 20:19:45 +0000 (20:19 +0000)]
Do not set GTF_IND_UNALIGNED on byte sized types

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

7 years ago[Arm64] Respond to review comments
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Mon, 5 Jun 2017 19:06:40 +0000 (19:06 +0000)]
[Arm64] Respond to review comments

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

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 ago[Arm64] Handle exclusive decode group in insEncodeDatasizeLS()
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Sat, 27 May 2017 03:16:12 +0000 (03:16 +0000)]
[Arm64] Handle exclusive decode group in insEncodeDatasizeLS()

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

7 years ago[Arm64] Use Store Release when practical for genCodeForStoreInd
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Fri, 26 May 2017 18:39:12 +0000 (18:39 +0000)]
[Arm64] Use Store Release when practical for genCodeForStoreInd

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

7 years ago[Arm64] Use Load Acquire when practical for genCodeForIndir
Steve MacLean [Fri, 12 May 2017 19:38:56 +0000 (15:38 -0400)]
[Arm64] Use Load Acquire when practical for genCodeForIndir

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

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