platform/upstream/coreclr.git
7 years agoUpdate PGO counts to version 20170609-1125 (#12201)
Daniel Podder [Sat, 10 Jun 2017 19:06:34 +0000 (12:06 -0700)]
Update PGO counts to version 20170609-1125 (#12201)

7 years agoDisable IEnumerable.GetEnumerator on RCW through IDispatch (#11865)
Yi Zhang (CLR) [Sat, 10 Jun 2017 16:08:41 +0000 (09:08 -0700)]
Disable IEnumerable.GetEnumerator on RCW through IDispatch (#11865)

7 years agoUpdate CoreClr, CoreFx to preview1-25409-02, preview1-25410-01, respectively (#12212)
dotnet bot [Sat, 10 Jun 2017 04:51:16 +0000 (21:51 -0700)]
Update CoreClr, CoreFx to preview1-25409-02, preview1-25410-01, respectively (#12212)

7 years agoMove ILLink Perf to a separate job
Swaroop Sridhar [Fri, 9 Jun 2017 03:30:02 +0000 (20:30 -0700)]
Move ILLink Perf to a separate job

This changes ILLink performance testing to its own leg.
With this change, ILLink perf test will not be run for every PR by default.
It can be requested explicitly on a PR, and will run on the rolling builds.

JitBench build breaks have broken the PR builds a few times, so this change
moves ILLink perf tests out of the PR job, so that MusicStore testing can be
enabled again.

7 years agoRevert ResourceManager change to unblock uap tests (#12179)
Santiago Fernandez Madero [Sat, 10 Jun 2017 00:18:01 +0000 (17:18 -0700)]
Revert ResourceManager change to unblock uap tests (#12179)

7 years ago[Local GC] No longer need to initialize SVR dacvars separately (#12173)
Sean Gillespie [Fri, 9 Jun 2017 23:08:10 +0000 (16:08 -0700)]
[Local GC] No longer need to initialize SVR dacvars separately (#12173)

* [Local GC] No longer need to initialize SVR dacvars separately

* Remove rest of uses of DEFINE_DACVAR_SVR

7 years agoMerge pull request #12208 from rartemev/fix_encoding_1
Roman Artemev [Fri, 9 Jun 2017 23:06:53 +0000 (16:06 -0700)]
Merge pull request #12208 from rartemev/fix_encoding_1

Fixed files encoding to utf8 (issue #12182)

7 years agoMerge pull request #12200 from erozenfeld/FastTailCallLoweringFix
Eugene Rozenfeld [Fri, 9 Jun 2017 22:24:26 +0000 (15:24 -0700)]
Merge pull request #12200 from erozenfeld/FastTailCallLoweringFix

Fix fast tail call lowering bug.

7 years agoMerge pull request #12206 from wtgodbe/OverlayOnly
William Godbe [Fri, 9 Jun 2017 21:25:47 +0000 (14:25 -0700)]
Merge pull request #12206 from wtgodbe/OverlayOnly

Add documentation for build-overlay-only

7 years agoAdd documentation for build-overlay-only
wtgodbe [Fri, 9 Jun 2017 21:20:54 +0000 (14:20 -0700)]
Add documentation for build-overlay-only

7 years agoFix files encoding to utf8
Roman Artemev [Fri, 9 Jun 2017 20:12:51 +0000 (20:12 +0000)]
Fix files encoding to utf8

7 years agoMerge pull request #12184 from rartemev/legacy_jit_1
Roman Artemev [Fri, 9 Jun 2017 19:42:00 +0000 (12:42 -0700)]
Merge pull request #12184 from rartemev/legacy_jit_1

Fix and enable legacy jit for x86

7 years agoFix fast tail call lowering bug.
Eugene Rozenfeld [Fri, 9 Jun 2017 18:05:48 +0000 (11:05 -0700)]
Fix fast tail call lowering bug.

Lowering::LowerFastTailCall has code that handles the case when the caller and the callee both have parameters
passed on the stack and the callee has register arguments that are computed from the caller's stack-passed arguments.
In that case the stack arguments of the callee are set up in the caller's incoming argument area so they override
the caller's arguments. Lowering::LowerFastTailCall creates temps for any caller's arguments passed on the stack that are
used to compute callee's register arguments. That code had a bug where it was converting GT_LCL_FLD nodes into
GT_LCL_VAR nodes. That's problematic both for the case of a single-field struct with a double field and for multi-field structs.
In the former case we were getting LSRA asserts in checked builds and SBCG in release builds. In the latter case we were getting SBCG
both in checked and release builds.

The fix is not to convert GT_LCL_FLD nodes into GT_LCL_VAR nodes and mark the new temps as not-enregisterable if the
local is not-enregisterable.

An alternative fix would be to create multiple register temps for each GT_LCL_FLD or GT_LCL_VAR targeting the local but that
would complicate the code and I decided to go with a simlper solution for this uncommon case.

7 years agoMerge pull request #12189 from mskvortsov/FixExplicitContainedness
Carol Eidt [Fri, 9 Jun 2017 18:40:22 +0000 (11:40 -0700)]
Merge pull request #12189 from mskvortsov/FixExplicitContainedness

[RyuJIT/ARM32] Fix failures related to explicit containedness

7 years agoMerge pull request #10996 from mikedn/magic-udiv
Pat Gavlin [Fri, 9 Jun 2017 16:51:06 +0000 (09:51 -0700)]
Merge pull request #10996 from mikedn/magic-udiv

Do unsigned magic division

7 years agoAllow users to set the number of build processes (#12188)
Jonghyun Park [Fri, 9 Jun 2017 15:47:07 +0000 (00:47 +0900)]
Allow users to set the number of build processes (#12188)

* Allow users to set the number of build processes

* Add a command-line option

* Use common initialization style (use __NumProc and extract initialization from build_native)

* Set __NumProc before argument parsing (and replace NumProc with __NumProc)

7 years agoUpdate CoreClr, CoreFx to preview1-25409-01, preview1-25409-03, respectively (#12187)
dotnet bot [Fri, 9 Jun 2017 15:10:58 +0000 (08:10 -0700)]
Update CoreClr, CoreFx to preview1-25409-01, preview1-25409-03, respectively (#12187)

7 years agoDateTime serialization fixed, added attention labels to serialized fields (#12181)
Viktor Hofer [Fri, 9 Jun 2017 15:08:13 +0000 (17:08 +0200)]
DateTime serialization fixed, added attention labels to serialized fields (#12181)

* DateTime serialization fixed, added attention labels to serialized fields

* CultureAwareComparer serialization fix

* Order or property fixed

7 years ago[ARM/Linux] Validate memory using ldrb instead of ldr (#12191)
Jonghyun Park [Fri, 9 Jun 2017 10:48:49 +0000 (19:48 +0900)]
[ARM/Linux] Validate memory using ldrb instead of ldr (#12191)

7 years agoRyuJIT/ARM32: Fix failures related to explicit containedness
Mikhail Skvortcov [Fri, 9 Jun 2017 07:55:19 +0000 (10:55 +0300)]
RyuJIT/ARM32: Fix failures related to explicit containedness

7 years agoEnable CPU Group on Linux AMD64 (#12140)
Xiangyang (Mark) Guo [Fri, 9 Jun 2017 07:59:47 +0000 (00:59 -0700)]
Enable CPU Group on Linux AMD64 (#12140)

* fix GetCurrentProcessCpuCount on Linux AMD64

* code refactor

* expose NUMA related APIs on Linux

7 years agodelete DECLARE_TYPED_ENUM (#12177)
Sergey Andreenko [Fri, 9 Jun 2017 07:07:46 +0000 (00:07 -0700)]
delete DECLARE_TYPED_ENUM (#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

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

Fix #12166

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

7 years agoEnable legacy jit for x86
Roman Artemev [Fri, 9 Jun 2017 00:01:03 +0000 (17:01 -0700)]
Enable legacy jit for x86

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

Make containedness explicit

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

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

Fix TestNugetRuntimeId.

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

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

Don't dump an uninitialized bitset in LSRA.

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

Make JIT dumps more readable

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.

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

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

[RyuJIT/armel] Support putting floating-point args

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. (#12056)

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

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

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

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

Modify iteration behavior some benchmarks

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

7 years agoMerge pull request dotnet/corert#3832 from dotnet/nmirror
Jan Kotas [Thu, 8 Jun 2017 03:16:48 +0000 (20:16 -0700)]
Merge pull request dotnet/corert#3832 from dotnet/nmirror

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
7 years agoFix linker GUARD option (#11492)
Jan Vorlicek [Thu, 8 Jun 2017 10:54:18 +0000 (12:54 +0200)]
Fix linker GUARD option (#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.

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

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

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

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

Add lclVar semantic checks to CheckLIR.

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

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 #11928

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

7 years agoMerge pull request #12142 from BruceForstall/ReduceNoway
Bruce Forstall [Thu, 8 Jun 2017 00:43:22 +0000 (17:43 -0700)]
Merge pull request #12142 from BruceForstall/ReduceNoway

Convert some very common noway_assert to simple assert

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

[Arm64] Pr jit acquire release simple cases

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

7 years agodelete BLOCKSET_INIT_NOCOPY and BLOCKSET_INIT. (#12144)
Sergey Andreenko [Wed, 7 Jun 2017 22:28:26 +0000 (15:28 -0700)]
delete BLOCKSET_INIT_NOCOPY and BLOCKSET_INIT. (#12144)

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

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

It was hard to follow the logic.

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

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

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

* Simplify genRegArgNext()

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

* Rewrite using `switch`

* Fix genRegArgNext for Linux x64

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.

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

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

Run the LIR checker before codegen.

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

Define `__cdecl` if necessary in coredistools.h.

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 #10421

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

Fixed the loading of ReadyToRun tuning native image

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.

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.

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

Remove use of gtEffectiveVal in RyuJIT codegen

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

Streamline LSRA for non-enregistered lclVars

7 years agoDisable signed magic division in minopts mode
Mike Danes [Wed, 31 May 2017 17:33:08 +0000 (20:33 +0300)]
Disable signed magic division in minopts mode

7 years agoAdd signed magic division tables
Mike Danes [Wed, 31 May 2017 17:32:21 +0000 (20:32 +0300)]
Add signed magic division tables

7 years agoMove GetSignedMagicNumberForDivide to utils.cpp
Mike Danes [Wed, 31 May 2017 17:30:18 +0000 (20:30 +0300)]
Move GetSignedMagicNumberForDivide to utils.cpp

7 years agoDo unsigned magic division
Mike Danes [Sat, 15 Apr 2017 18:43:14 +0000 (21:43 +0300)]
Do unsigned magic division

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

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.

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

7 years agoFix portable build sos plugin problems (#12125)
Mike McLaughlin [Wed, 7 Jun 2017 06:53:15 +0000 (23:53 -0700)]
Fix portable build sos plugin problems (#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 #12098.

* Fix OSX build.

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

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

7 years agoFix build breakage on high-processsor machines (#12114)
Omair Majid [Wed, 7 Jun 2017 04:19:48 +0000 (00:19 -0400)]
Fix build breakage on high-processsor machines (#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.

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

Remove unused cache of Assembly flags while I was on it

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

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

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.

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.

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

Stop extraneously setting tail call stress

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

Fix error with Stable Version

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

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

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

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

Test packages from current build in pipeline

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) (#12104)

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.

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

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

Support COMPlus_JITMinOpts for crossgen

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.

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

7 years agonew JitEE interface method: expandRawHandleIntrinsic (#12071)
Sergey Andreenko [Tue, 6 Jun 2017 17:19:11 +0000 (10:19 -0700)]
new JitEE interface method: expandRawHandleIntrinsic (#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.

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

7 years agoFix crash due to lack of PSPSym in the CoreRT ABI (#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 (#12082)

Signed-off-by: Petr Bred <bredpetr@gmail.com>
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

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

7 years agoTypeForwardedFrom attributes on coretypes for NetFX serialization (#12059)
Viktor Hofer [Mon, 5 Jun 2017 23:17:54 +0000 (01:17 +0200)]
TypeForwardedFrom attributes on coretypes for NetFX serialization (#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

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

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
7 years agoDisable AppDomainLeaks configuration option for now until it is removed (#12095)
Sean Gillespie [Mon, 5 Jun 2017 22:42:03 +0000 (15:42 -0700)]
Disable AppDomainLeaks configuration option for now until it is removed (#12095)

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

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

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

Disable tail call stress in GH_11689 if ZapDisable is enabled.