platform/upstream/coreclr.git
7 years ago[Arm64] JIT_WriteBarrier optimization (#12227)
Steve MacLean [Thu, 15 Jun 2017 06:35:49 +0000 (02:35 -0400)]
[Arm64] JIT_WriteBarrier optimization (#12227)

* [Arm64] JIT_WriteBarrier optimization

Add skipEphemeralCheck if gcServer=1

Copy all gc parameters into a literal pool which
fits in single cache line

Add dmb ishst on gcHeap changes

Reduce unpredictable branches

Remove unneeded instructiuons

Fixes #11374
Fixes #12197

* [Arm64] fix typo in asm

* Fixup asm

* [Arm64] Revise per comments

Nits - Whitespace, Labels to PascalCase
Fix state change order
Add Suspend/Resume to fix race
Fix errors in Windows arm64 assembly

* [Arm64] Remove SuspendEE/RestartEE in StompWriteBarrierResize

* Use Volatile<> for g_highest_address

* Revise synchronization per comments

7 years agoRemove unused forward declaration (#12288)
Jonghyun Park [Thu, 15 Jun 2017 06:06:41 +0000 (15:06 +0900)]
Remove unused forward declaration (#12288)

7 years agoFix build break
chcosta [Thu, 15 Jun 2017 06:05:46 +0000 (23:05 -0700)]
Fix build break

Download from Azure task does not retain blob prefix when downloading blobs.

7 years agoUpdate CoreClr to preview1-25414-05 (#12282)
dotnet-maestro-bot [Thu, 15 Jun 2017 00:29:45 +0000 (17:29 -0700)]
Update CoreClr to preview1-25414-05 (#12282)

7 years agoUpdate buildtools to 2.0.0-prerelease-01714-04 (#12280)
chcosta [Thu, 15 Jun 2017 00:28:10 +0000 (17:28 -0700)]
Update buildtools to 2.0.0-prerelease-01714-04 (#12280)

7 years agoFix NullReferenceException thrown when using CurrentCulture (#12281)
Tarek Mahmoud Sayed [Wed, 14 Jun 2017 23:36:24 +0000 (16:36 -0700)]
Fix NullReferenceException thrown when using CurrentCulture (#12281)

CurrentCulture used the static field s_userDefaultCulture which used to store the current culture. We always ensure this field is initialized all the time. When we introduced the v2.0 added APIs, we have added ClearCachedData(). This method was setting s_userDefaultCulture to null which can cause any other thread to throw this NullReferenceException if it is using s_userDefaultCulture. Here is example of such stack

System.NullReferenceException : Object reference not set to an instance of an object.
Stack Trace :
   at System.Globalization.NumberFormatInfo.get_CurrentInfo()
   at System.Double.ToString(String format, IFormatProvider provider)

7 years agoRenaming serializable field (#12273)
Viktor Hofer [Wed, 14 Jun 2017 19:57:36 +0000 (21:57 +0200)]
Renaming serializable field (#12273)

7 years agoRemove the warning about Implicit boxing during crossgen (#12274)
Brian Sullivan [Wed, 14 Jun 2017 19:57:20 +0000 (12:57 -0700)]
Remove the warning about Implicit boxing during crossgen (#12274)

7 years agoMerge pull request #12272 from jashook/add_documentation_for_building_tests_on_unix
Jarret Shook [Wed, 14 Jun 2017 19:47:55 +0000 (12:47 -0700)]
Merge pull request #12272 from jashook/add_documentation_for_building_tests_on_unix

Add documentation for building test(s) on Unix

7 years agoAdd documentation for building test(s) on Unix
jashook [Wed, 14 Jun 2017 17:01:58 +0000 (10:01 -0700)]
Add documentation for building test(s) on Unix

This also includes steps on how to build individual tests.

7 years agoFix a COMDouble::Round() issue (#12210)
Han Lee [Wed, 14 Jun 2017 16:14:18 +0000 (09:14 -0700)]
Fix a COMDouble::Round() issue (#12210)

* Fix a COMDouble::Round() issue
fixes https://github.com/dotnet/coreclr/issues/12137

* Add a couple tests for Math.Round(double)
based on https://github.com/dotnet/coreclr/issues/12137

* Use G17 format specifier for printing double values

7 years agoUpdate CoreClr to preview1-25414-04 (#12270)
dotnet-maestro-bot [Wed, 14 Jun 2017 16:09:10 +0000 (09:09 -0700)]
Update CoreClr to preview1-25414-04 (#12270)

7 years agoAdd `-PortableBuild=false` option in Tizen CI build (#12241)
Jiyoung Giuliana Yun [Wed, 14 Jun 2017 14:50:51 +0000 (23:50 +0900)]
Add `-PortableBuild=false` option in Tizen CI build (#12241)

7 years agoAdditional to fix #12104 for CoreRT issue #3672 (armel tizen) (#12244)
sergey ignatov [Wed, 14 Jun 2017 14:28:12 +0000 (17:28 +0300)]
Additional to fix #12104 for CoreRT issue #3672 (armel tizen) (#12244)

* Additional to fix #12104 for CoreRT issue #3672 (armel tizen)

* Fix for unregistered info.compLvFrameListRoot

7 years agoFix gethashcode for ordinal comparer (#12267)
Viktor Hofer [Wed, 14 Jun 2017 11:34:45 +0000 (13:34 +0200)]
Fix gethashcode for ordinal comparer (#12267)

Fix GetHashCode for ordinal comparer

7 years agoRewrite of OpCodeGen.pl script to generate correctly IL OpCodes (#12040)
Jacek Blaszczynski [Wed, 14 Jun 2017 06:16:26 +0000 (08:16 +0200)]
Rewrite of OpCodeGen.pl script to generate correctly IL OpCodes (#12040)

* Rewrite of OpCodeGen.pl script to generate correctly IL OpCodes related C# code: FlowControl.cs, OpCodes.cs, OpCodeTypes.cs, OperandType.cs, StackBehaviour.cs from opcode.def file

* Update OpcodeType.cs to OpCodeType.cs in System.Private.CorLib.csproj

7 years agoImprove the packing of RefPosition (#12263)
Bruce Forstall [Wed, 14 Jun 2017 06:16:05 +0000 (23:16 -0700)]
Improve the packing of RefPosition (#12263)

The LSRA RefPosition type was not packing well. In particular,
bitfields don't pack unless they have the same base type.

Move all the data member declarations to the top, and make them adjacent,
so it is easier to see them all together. Also, change all bitfields
to "unsigned char" base type.

This reduces the size from 36 to 28 bytes for x86, and 48 to 40 bytes
for x64 (release, on Windows).

7 years ago[Arn64/Unix] Revise Volatile.T barriers (#12156)
Steve MacLean [Wed, 14 Jun 2017 06:04:01 +0000 (02:04 -0400)]
[Arn64/Unix] Revise Volatile.T barriers (#12156)

* [Arm64] Revise Volatile<T> barriers

* Remove VolateStore from CopyValueClassUnchecked

* Replace MemoryBarrier() in CopyValueClassUnchecked

7 years agoKeep previous cmake arguments when using buildstandalonegc (#12108)
Omair Majid [Wed, 14 Jun 2017 05:39:08 +0000 (01:39 -0400)]
Keep previous cmake arguments when using buildstandalonegc (#12108)

Currently, using buildstandalonegc makes ./build.sh discard any
previous values of __cmakearg set explicitly or implicitly. Preserve
those arguments.

Without this fix, the following invocations behave differently:

    $ ./build.sh ignorewarnings buildstandalonegc verbose

    $ ./build.sh buildstandalonegc ignorewarnings verbose

7 years agoUpdate CoreClr, CoreFx to preview1-25414-02, preview1-25414-01, respectively (#12258)
dotnet-maestro-bot [Wed, 14 Jun 2017 05:29:42 +0000 (22:29 -0700)]
Update CoreClr, CoreFx to preview1-25414-02, preview1-25414-01, respectively (#12258)

7 years agoRemove serializable attribute from OrdinalIgnoreCaseComparer (#12215)
Viktor Hofer [Wed, 14 Jun 2017 01:49:02 +0000 (03:49 +0200)]
Remove serializable attribute from OrdinalIgnoreCaseComparer (#12215)

* Remove serializable attribute from OrdinalIgnoreCaseComparer

* Introducing OrdinalCaseSensitiveComparer to serialize correctly with netfx

* Updated PR feedback

7 years agoMerge pull request #12255 from briansull/concat-fix
Brian Sullivan [Wed, 14 Jun 2017 00:55:05 +0000 (17:55 -0700)]
Merge pull request #12255 from briansull/concat-fix

Removed the unused vararg version of String Concat

7 years agoRemoved the unused vararg version of String Concat
Brian Sullivan [Tue, 13 Jun 2017 21:19:30 +0000 (14:19 -0700)]
Removed the unused vararg version of String Concat

The __arglist version of varargs is not supported on CoreCLR

Fixes issue #12146 - crossgen warning - Vararg calling convention not supported.

Added a new test case for String Concat
Added <DebugType>None
Fixed src\JIT\Directed\Misc\gettype csproj as well

7 years agoSkip PGO if clang is too old, and add warnings for skipped PGO (#12248)
Daniel Podder [Tue, 13 Jun 2017 21:51:55 +0000 (14:51 -0700)]
Skip PGO if clang is too old, and add warnings for skipped PGO (#12248)

Clang/LLVM cannot merge profile data generated by a newer version of
itself. Training currently requires 3.6, but we don't want to completely
break the build for 3.5. I'm adding a version check to allow non-PGO
release builds on 3.5, along with a warning message. I'm also updating
the LTO detection to print a warning message if it causes PGO to be
disabled.

7 years agoAdded the checked CORE_ROOT path to this
Brian Sullivan [Tue, 13 Jun 2017 20:57:33 +0000 (13:57 -0700)]
Added the checked CORE_ROOT path to this

7 years agoMerge pull request #12092 from wtgodbe/CoreDisTools
William Godbe [Tue, 13 Jun 2017 20:55:54 +0000 (13:55 -0700)]
Merge pull request #12092 from wtgodbe/CoreDisTools

Explicitly download correct version of CoreDisTools package

7 years agoSpecified where the failing tests are listed.
Brian Sullivan [Tue, 13 Jun 2017 20:08:43 +0000 (13:08 -0700)]
Specified where the failing tests are listed.

7 years agoUpdated the path for the test results html file
Brian Sullivan [Tue, 13 Jun 2017 20:04:12 +0000 (13:04 -0700)]
Updated the path for the test results html file

7 years agoFixed typo
Brian Sullivan [Tue, 13 Jun 2017 19:59:42 +0000 (12:59 -0700)]
Fixed typo

7 years agoUpdated for checked build testing and corrected some paths
Brian Sullivan [Tue, 13 Jun 2017 19:58:37 +0000 (12:58 -0700)]
Updated for checked build testing and corrected some paths

7 years agoMerge pull request #12105 from alpencolt/ryu-arm-softfp-pass-ret
Bruce Forstall [Tue, 13 Jun 2017 17:35:43 +0000 (10:35 -0700)]
Merge pull request #12105 from alpencolt/ryu-arm-softfp-pass-ret

[RyuJIT/armel] Fix for correct passing and returning float values.

7 years ago[RyuJIT/ARM32] Fix assertion when using invalid imm for INS_add (#12162)
Sujin Kim [Tue, 13 Jun 2017 17:31:50 +0000 (02:31 +0900)]
[RyuJIT/ARM32] Fix assertion when using invalid imm for INS_add (#12162)

* [RyuJIT/ARM32] Fix assertion when using invalid imm for INS_add

`JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b54611/b54611/b54611.sh`

Assertion failed '!"Instruction cannot be encoded" has been occurred.

INS_add couldn't process with the invalid imm of -273 on this test.
So in this PR, If it got the value that cannot be processed, moving to register that after changing status would be ran so that it can be processed.

* Modify 'Lowering::IsContainableImmed' to work normally.

insFlags when the function is called was always INS_FLAGS_DONT_CARE.
In this case, if the imm is such as -273, the result would be false.

The correct flags have to be set.

* add ifdef for the flags variable

7 years agoMerge pull request #12243 from hqueue/arm/ryujit/issue_11842
Bruce Forstall [Tue, 13 Jun 2017 17:16:30 +0000 (10:16 -0700)]
Merge pull request #12243 from hqueue/arm/ryujit/issue_11842

[RyuJIT/ARM32] Enable HasMultiRegRetVal() for struct

7 years agoMake ActivityID guids process specific. (#11726)
Vance Morrison [Tue, 13 Jun 2017 16:56:20 +0000 (09:56 -0700)]
Make ActivityID guids process specific. (#11726)

This is a port a change from the Nuget version of this library.
Bascially it hashs in the process ID into the activity ID GUID.  This make collisions across processes unlikely.

7 years agoMerge pull request #12235 from BruceForstall/FixSuperPmiCollect
Bruce Forstall [Tue, 13 Jun 2017 16:50:40 +0000 (09:50 -0700)]
Merge pull request #12235 from BruceForstall/FixSuperPmiCollect

Fix SuperPMI collection script to allow passing arch/flavor args

7 years agoMerge pull request #12245 from adiaaida/throughputJobChanges
Michelle McDaniel [Tue, 13 Jun 2017 16:27:39 +0000 (09:27 -0700)]
Merge pull request #12245 from adiaaida/throughputJobChanges

Replace System.Private.CoreLib with new version in TP jobs

7 years agoPull CoreCLR build from RHEL7.2 in perf runs (#12238)
Daniel Podder [Tue, 13 Jun 2017 16:22:29 +0000 (09:22 -0700)]
Pull CoreCLR build from RHEL7.2 in perf runs (#12238)

Our Ubuntu perf testing has been creating Linux CoreCLR builds by
creating the build locally. This fits the local developer scenario, but
doesn't actually test the bits that ship; the 'official' product
configuration is generated by building on RHEL 7.2 and packaging those
bits for various distros, including Ubuntu.

In order to more accurately measure end-user-perceived performance, we
should do the same thing official builds do: build on RHEL7.2, then copy
those bits onto other OSes to test perf on those OSes.

This PR makes that happen by structuring Linux perf and throughput jobs
as flow jobs, with builds up front on a RHEL VM, before the bits are
dropped onto Ubuntu perf test machines.

7 years agoUpdate CoreClr, CoreFx to preview1-25413-01, preview1-25413-02, respectively (#12242)
dotnet bot [Tue, 13 Jun 2017 15:28:51 +0000 (08:28 -0700)]
Update CoreClr, CoreFx to preview1-25413-01, preview1-25413-02, respectively (#12242)

7 years agoReplace System.Private.CoreLib with new version in TP jobs
Michelle McDaniel [Tue, 13 Jun 2017 15:03:18 +0000 (08:03 -0700)]
Replace System.Private.CoreLib with new version in TP jobs

SPC and the jit/coreclr are tightly coupled. With the changes to
crossgen into the dll, rather than the ni.dll, the throughput jobs are
now using the non-crossgen'd version of SPC on TP runs, which led to a
regression in TP on Linux because our comparison was not the same. This
change updates testing to replace the System.Private.CoreLib in the
throughput directory with the System.Private.CoreLib built by the
coreclr build.

7 years agoPartially remove relocations for ModuleSection (ZapVirtualSectionType). (#11853)
Ruben Ayrapetyan [Tue, 13 Jun 2017 13:58:41 +0000 (16:58 +0300)]
Partially remove relocations for ModuleSection (ZapVirtualSectionType). (#11853)

7 years agoUse NuGetPush target from BuildTools (#12221)
Davis Goodin [Tue, 13 Jun 2017 13:55:25 +0000 (08:55 -0500)]
Use NuGetPush target from BuildTools (#12221)

7 years ago[RyuJIT/ARM32] Enable HasMultiRegRetVal() for struct
Hyung-Kyu Choi [Tue, 13 Jun 2017 13:04:23 +0000 (22:04 +0900)]
[RyuJIT/ARM32] Enable HasMultiRegRetVal() for struct

This will pass some tests and will trigger NYI assertions as expected.

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
7 years agoFix Linux PGO optdata consumption + PGO count update (#12239)
Daniel Podder [Tue, 13 Jun 2017 08:14:34 +0000 (01:14 -0700)]
Fix Linux PGO optdata consumption + PGO count update (#12239)

* Update PGO package version to 20170612-1411

* Fix PGO optdata path issue on Linux

7 years agoUpdate CoreClr, CoreFx to preview1-25412-03, preview1-25413-01, respectively (#12234)
dotnet bot [Tue, 13 Jun 2017 04:01:29 +0000 (21:01 -0700)]
Update CoreClr, CoreFx to preview1-25412-03, preview1-25413-01, respectively (#12234)

7 years agoFix legacy backend build when FEATURE_READYTORUN_COMPILER is undefined (#12232)
Jarret Shook [Tue, 13 Jun 2017 02:34:48 +0000 (19:34 -0700)]
Fix legacy backend build when FEATURE_READYTORUN_COMPILER is undefined (#12232)

7 years agoMerge pull request #12175 from wtgodbe/VS2017
William Godbe [Tue, 13 Jun 2017 00:56:29 +0000 (17:56 -0700)]
Merge pull request #12175 from wtgodbe/VS2017

Use roslyn common props in test build

7 years agoMerge pull request #12223 from DrewScoggins/AddHelpToPerf
Drew Scoggins [Tue, 13 Jun 2017 00:16:24 +0000 (17:16 -0700)]
Merge pull request #12223 from DrewScoggins/AddHelpToPerf

Add help statement for perf.groovy

7 years ago[Arm64/Unix] Implement YieldProcessor() (#12229)
Steve MacLean [Mon, 12 Jun 2017 23:49:39 +0000 (19:49 -0400)]
[Arm64/Unix] Implement YieldProcessor() (#12229)

7 years agoFix SuperPMI collection script to allow passing arch/flavor args
Bruce Forstall [Mon, 12 Jun 2017 23:26:23 +0000 (16:26 -0700)]
Fix SuperPMI collection script to allow passing arch/flavor args

Previously, runtest would always be invoked with the default
args, meaning x64 debug.

This script is not used in the coreclr test run.

7 years ago[Arm64/Unix] Add 64K page support (#10981)
Steve MacLean [Mon, 12 Jun 2017 21:14:12 +0000 (17:14 -0400)]
[Arm64/Unix] Add 64K page support (#10981)

* [Arm64/Unix] Support 64K pages

* GC move GCToOSInterface::Initialize() into InitializeGarbageCollector()

7 years agoMerge pull request #12163 from hseok-oh/ryujit/fix_11850_2
Bruce Forstall [Mon, 12 Jun 2017 20:33:13 +0000 (13:33 -0700)]
Merge pull request #12163 from hseok-oh/ryujit/fix_11850_2

[RyuJIT/ARM32] Fix comment and ifdef condition

7 years agomake REG_VIRTUAL_STUB_PARAM depended on Abi. (#12209)
Sergey Andreenko [Mon, 12 Jun 2017 20:16:08 +0000 (13:16 -0700)]
make REG_VIRTUAL_STUB_PARAM depended on Abi. (#12209)

* make REG_VIRTUAL_STUB_PARAM depended on Abi.

Add VirtualStubParamInfo that is part of compiler and must be init in
compCompile.

7 years agoDisable some test cases to workaround compiler bug
Wes Haggard [Mon, 12 Jun 2017 19:55:53 +0000 (12:55 -0700)]
Disable some test cases to workaround compiler bug

Need to workaround compiler bug https://github.com/dotnet/roslyn/issues/14785
so disabling some test cases in the JIT isisnt tests.

7 years agoDisable some GC tests
wtgodbe [Mon, 12 Jun 2017 18:58:04 +0000 (11:58 -0700)]
Disable some GC tests

7 years agoAdd help statement for perf.groovy
Drew Scoggins [Mon, 12 Jun 2017 17:15:55 +0000 (10:15 -0700)]
Add help statement for perf.groovy

When you use the help from dotnet bot you do not get any of the
performance runs in the help.  This should add those in.

7 years agoUpdate CoreClr, CoreFx to preview1-25412-01, preview1-25412-02, respectively (#12214)
dotnet bot [Mon, 12 Jun 2017 17:00:13 +0000 (10:00 -0700)]
Update CoreClr, CoreFx to preview1-25412-01, preview1-25412-02, respectively (#12214)

7 years ago[x86/Linux] Port 'ThrowControlForThread' (#11641)
Jonghyun Park [Mon, 12 Jun 2017 15:40:24 +0000 (00:40 +0900)]
[x86/Linux] Port 'ThrowControlForThread' (#11641)

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 ago[RyuJIT/armel] Correct returning float values.
Alexander Soldatov [Tue, 6 Jun 2017 14:10:12 +0000 (17:10 +0300)]
[RyuJIT/armel] Correct returning float values.

Returned from function float pointing value in softfp mode should be
stored into r0 (r0-r1 for TYP_DOUBLE).

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 agoUse roslyn common props in test build
wtgodbe [Thu, 8 Jun 2017 20:29:22 +0000 (13:29 -0700)]
Use roslyn common props in test build

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 ago[RyuJIT/ARM32] Fix comment and ifdef condition
Hyeongseok Oh [Thu, 8 Jun 2017 07:15:13 +0000 (16:15 +0900)]
[RyuJIT/ARM32] Fix comment and ifdef condition

Fix comment for elif and endif
Apply fix for RyuJIT/ARM32 only (not for LegacyJIT/ARM32)