platform/upstream/coreclr.git
6 years agoAdd SPMI for getTypeForPrimitiveNumericClass
Fei Peng [Thu, 7 Dec 2017 22:08:55 +0000 (14:08 -0800)]
Add SPMI for getTypeForPrimitiveNumericClass

6 years agoMerge pull request #15487 from mikedn/doc-use-asg
Carol Eidt [Tue, 12 Dec 2017 17:56:36 +0000 (09:56 -0800)]
Merge pull request #15487 from mikedn/doc-use-asg

Update GTF_VAR_USEASG documentation

6 years agoUpdate GTF_VAR_USEASG documentation
Mike Danes [Tue, 12 Dec 2017 17:22:13 +0000 (19:22 +0200)]
Update GTF_VAR_USEASG documentation

6 years agoCorrect sizeToCommit rounding (#15485)
Jan Kotas [Tue, 12 Dec 2017 16:47:30 +0000 (11:47 -0500)]
Correct sizeToCommit rounding (#15485)

6 years agoUpdate BuildTools, PgoData to prerelease-02311-02, master-20171212-0044, respectively...
dotnet-maestro-bot [Tue, 12 Dec 2017 14:31:18 +0000 (08:31 -0600)]
Update BuildTools, PgoData to prerelease-02311-02, master-20171212-0044, respectively (#15468)

6 years agoUse macro _countof instead of explicit sizeof(arr) / sizeof(arr[0]) or sizeof(arr...
Egor Chesakov [Tue, 12 Dec 2017 14:31:00 +0000 (06:31 -0800)]
Use macro _countof instead of explicit sizeof(arr) / sizeof(arr[0]) or sizeof(arr) / sizeof(*arr) in clrjit. (#15474)

6 years agoRemove undefined and unused getPersonalityValue function from CEECompileInfo (#15482)
Egor Chesakov [Tue, 12 Dec 2017 14:30:33 +0000 (06:30 -0800)]
Remove undefined and unused getPersonalityValue function from CEECompileInfo (#15482)

6 years agoAdded comment to explicit number (#15484)
sergey ignatov [Tue, 12 Dec 2017 13:35:19 +0000 (16:35 +0300)]
Added comment to explicit number (#15484)

6 years agoMerge pull request #15454 from mikedn/lower-cmp-minopts
Bruce Forstall [Tue, 12 Dec 2017 05:56:19 +0000 (21:56 -0800)]
Merge pull request #15454 from mikedn/lower-cmp-minopts

Disable LowerCompare optimizations in minopts

6 years agoMerge pull request #15452 from BruceForstall/FixAddOvfl
Bruce Forstall [Tue, 12 Dec 2017 05:51:04 +0000 (21:51 -0800)]
Merge pull request #15452 from BruceForstall/FixAddOvfl

Do not optimize flags-setting add

6 years agoMake EventCacheKey IEquatable (#15470)
Ben Adams [Tue, 12 Dec 2017 05:26:22 +0000 (05:26 +0000)]
Make EventCacheKey IEquatable (#15470)

6 years agoMerge pull request #15478 from BruceForstall/FixArmLocalloc
Bruce Forstall [Tue, 12 Dec 2017 04:14:15 +0000 (20:14 -0800)]
Merge pull request #15478 from BruceForstall/FixArmLocalloc

Fix arm/arm64 localloc

6 years agoMerge pull request #15481 from BruceForstall/FixTimeoutAgain
Bruce Forstall [Tue, 12 Dec 2017 04:13:04 +0000 (20:13 -0800)]
Merge pull request #15481 from BruceForstall/FixTimeoutAgain

Up pri-1 timeouts again

6 years agofix CoreCLR build errors with clang5.0. (#15477)
Sergey Andreenko [Tue, 12 Dec 2017 03:05:15 +0000 (19:05 -0800)]
fix CoreCLR build errors with clang5.0. (#15477)

* spmi: delete the explicit call to the constructor.

MethodContext was already initialized through `new MethodContext();`

* add an artificial using of lambda param.

the define `#define PAL_EXCEPT(dispositionExpression)`
can declare expression that has zero or one param. If it has zero param, then `__param` in the lambda is unused, prevent clang complains by adding this change.

6 years agoUp pri-1 timeouts again
Bruce Forstall [Tue, 12 Dec 2017 01:53:25 +0000 (17:53 -0800)]
Up pri-1 timeouts again

180 minutes was still not enough; we were still getting timeouts.
Up it to 240 minutes.

6 years agoDo not optimize flags-setting add
Bruce Forstall [Sat, 9 Dec 2017 02:07:05 +0000 (18:07 -0800)]
Do not optimize flags-setting add

In minopts, we were attempting to generate "add r0,r0,0" and
optimizing it away completely. But it if needs to generate
the flags, for a subsequent overflow (flags) check, we can't do that.

Fixes #14860

6 years agoFix arm/arm64 localloc
Bruce Forstall [Mon, 11 Dec 2017 22:52:05 +0000 (14:52 -0800)]
Fix arm/arm64 localloc

In the loop, non-initialized memory case, the stack probing code
had silent bad codegen, as follows:
```
mov     r4, 0x4000
subs    r4, sp, r4
bvc     SHORT G_M3294_IG03
movs    r4, 0

G_M3294_IG03:

ldr     r0, [sp]
sub     r0, sp, 0x1000
cmp     r0, r4
blo     SHORT G_M3294_IG04
mov     sp, r0              // Before fix, this was "mov sp, r4"
b       SHORT G_M3294_IG03

G_M3294_IG04:
```

6 years agoMerge pull request #15332 from sdmaclea/PR-ARM64-SIMDIntrinsicGetItem-Contain-Memop
Bruce Forstall [Mon, 11 Dec 2017 21:50:59 +0000 (13:50 -0800)]
Merge pull request #15332 from sdmaclea/PR-ARM64-SIMDIntrinsicGetItem-Contain-Memop

[Arm64] SIMDIntrinsicGetItem contain mem op1

6 years ago[RyuJit][x86] another forgotten case with unused flag in decomposition.
Sergey Andreenko [Mon, 11 Dec 2017 21:48:55 +0000 (13:48 -0800)]
[RyuJit][x86] another forgotten case with unused flag in decomposition.

rotate nodes are rare, so it why we did not see it.

6 years agoMerge pull request #15402 from sdmaclea/PR-ARM64-ISA-FLAGS
Bruce Forstall [Mon, 11 Dec 2017 19:32:51 +0000 (11:32 -0800)]
Merge pull request #15402 from sdmaclea/PR-ARM64-ISA-FLAGS

[Arm64] Define ISA feature flags

6 years agoMerge pull request #15450 from BruceForstall/DisableFinalizerTest
Bruce Forstall [Mon, 11 Dec 2017 18:20:54 +0000 (10:20 -0800)]
Merge pull request #15450 from BruceForstall/DisableFinalizerTest

Disable finalizertest for ARM

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to prerelease-02308-01, preview1-26011...
dotnet-maestro-bot [Mon, 11 Dec 2017 17:35:59 +0000 (11:35 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02308-01, preview1-26011-03, preview1-26011-03, master-20171211-0111, respectively (#15413)

6 years agoFix non-PR perf pipeline job (#15438)
Michelle McDaniel [Mon, 11 Dec 2017 15:53:30 +0000 (07:53 -0800)]
Fix non-PR perf pipeline job (#15438)

6 years agoDictionary Initalize CQ (#15461)
Ben Adams [Mon, 11 Dec 2017 15:02:20 +0000 (15:02 +0000)]
Dictionary Initalize CQ (#15461)

6 years agoImprove Dict.Clear CQ (#15459)
Ben Adams [Mon, 11 Dec 2017 02:42:54 +0000 (02:42 +0000)]
Improve Dict.Clear CQ (#15459)

6 years agoFix build with Asan (#15372)
Konstantin Baladurin [Sat, 9 Dec 2017 10:57:20 +0000 (13:57 +0300)]
Fix build with Asan (#15372)

- verify_dependencies: disable checking dependencies for Asan build
  because in this case shared libraries can have undefined symbols
  (if static linking with compiler-rt is used).

- enablesanitizers.sh: remove excess quotes for ASAN_OPTIONS and
  UBSAN_OPTIONS environment variable because otherwise Asan cannot
  parse flags. Also doesn't export ASAN_SYMBOLIZER_PATH for clang > 3.6.

6 years agoDisable LowerCompare optimizations in minopts
Mike Danes [Sat, 9 Dec 2017 10:08:20 +0000 (12:08 +0200)]
Disable LowerCompare optimizations in minopts

6 years agoDisable finalizertest for ARM
Bruce Forstall [Sat, 9 Dec 2017 00:30:26 +0000 (16:30 -0800)]
Disable finalizertest for ARM

It is already disabled in issues.targets and testsFailingOutsideWindows.txt.

It has been failing on Windows ARM under MinOpts.

6 years agoTweak Resize
Ben Adams [Fri, 8 Dec 2017 20:26:24 +0000 (20:26 +0000)]
Tweak Resize

6 years agoAdd scope prefix for class vars
Ben Adams [Fri, 8 Dec 2017 19:19:07 +0000 (19:19 +0000)]
Add scope prefix for class vars

6 years agoMerge pull request #15445 from jashook/arm_archive_obj
Jarret Shook [Fri, 8 Dec 2017 23:21:20 +0000 (15:21 -0800)]
Merge pull request #15445 from jashook/arm_archive_obj

Archive the obj directory for arm builds

6 years agoJit: fix long shift helper for overly long shift counts (#15443)
Andy Ayers [Fri, 8 Dec 2017 23:10:25 +0000 (15:10 -0800)]
Jit: fix long shift helper for overly long shift counts (#15443)

Reduce shift amount modulo 64 to match behavior on other platforms and the
jit optimizer.

Also, fix IL in related test case so it is valid for 32 bits too.

Also, make these two tests pri-0 so they get run with regular CI testing.

Fixes #15442.

6 years ago[Arm64] SIMDIntrinsicGetItem contain mem op1
Steve MacLean [Wed, 29 Nov 2017 00:46:43 +0000 (19:46 -0500)]
[Arm64] SIMDIntrinsicGetItem contain mem op1

6 years agoArchive the obj directory for arm builds
jashook [Fri, 8 Dec 2017 22:29:16 +0000 (14:29 -0800)]
Archive the obj directory for arm builds

This will allow us to correctly populate the core_root for eventual
arm linux testing.

6 years ago[Arm64] Define ISA feature flags
Steve MacLean [Wed, 6 Dec 2017 18:40:15 +0000 (13:40 -0500)]
[Arm64] Define ISA feature flags

6 years agoFix uaf in DestroyThread function. (#15437)
Konstantin Baladurin [Fri, 8 Dec 2017 20:26:00 +0000 (23:26 +0300)]
Fix uaf in DestroyThread function. (#15437)

Mark thread's buffers as no longer owned before calling
Thread::OnThreadTerminate because thread can delete itself in
this method.

6 years agoMerge pull request #15439 from BruceForstall/FixTimeout
Bruce Forstall [Fri, 8 Dec 2017 19:59:55 +0000 (11:59 -0800)]
Merge pull request #15439 from BruceForstall/FixTimeout

Fix timeouts. Up timeouts for non-default (Pri-1) builds.

6 years agoFix timeouts. Up timeouts for non-default (Pri-1) builds.
Bruce Forstall [Fri, 8 Dec 2017 18:49:15 +0000 (10:49 -0800)]
Fix timeouts. Up timeouts for non-default (Pri-1) builds.

6 years agoAdd optional integer offset to OwnedMemory Pin (#15410)
Ahson Khan [Fri, 8 Dec 2017 11:07:16 +0000 (03:07 -0800)]
Add optional integer offset to OwnedMemory Pin (#15410)

6 years agoAdd GetReference and TryGetArray to MemoryMarshal (#15417)
Ahson Khan [Fri, 8 Dec 2017 11:04:57 +0000 (03:04 -0800)]
Add GetReference and TryGetArray to MemoryMarshal (#15417)

* Add GetReference and TryGetArray to MemoryMarshal

* Marking GetReference with AggressiveInlining

* Do not use ByReference as a return type.

* Addressing PR feedback.

6 years agoMerge pull request #15342 from BruceForstall/FixLongNeg
Bruce Forstall [Fri, 8 Dec 2017 07:39:04 +0000 (23:39 -0800)]
Merge pull request #15342 from BruceForstall/FixLongNeg

Fix NEG decomposition to mark instructions that set and use flags

6 years agoMerge pull request #15407 from BruceForstall/ReduceArmGcStress3JobFrequency
Bruce Forstall [Fri, 8 Dec 2017 07:34:30 +0000 (23:34 -0800)]
Merge pull request #15407 from BruceForstall/ReduceArmGcStress3JobFrequency

Reduce arm/armlb/arm64 GCStress=3 and HeapVerify=1 jobs to weekly

6 years agoCast lp1 to the ScanContext; lp2 is a function pointer. (#15433)
Sean Gillespie [Fri, 8 Dec 2017 02:39:02 +0000 (18:39 -0800)]
Cast lp1 to the ScanContext; lp2 is a function pointer. (#15433)

6 years agoExternalize exception boxing (#15418)
Ben Adams [Fri, 8 Dec 2017 00:26:23 +0000 (01:26 +0100)]
Externalize exception boxing (#15418)

6 years agoTurn off outerloop perf and make job run periodically (#15416)
Michelle McDaniel [Fri, 8 Dec 2017 00:04:22 +0000 (16:04 -0800)]
Turn off outerloop perf and make job run periodically (#15416)

This is mostly for testing purposes.

6 years agoMerge pull request #15400 from CarolEidt/Fix15325
Carol Eidt [Fri, 8 Dec 2017 00:02:10 +0000 (16:02 -0800)]
Merge pull request #15400 from CarolEidt/Fix15325

Fix GT_FIELD_LIST double passed as int

6 years agoMerge pull request #15425 from BruceForstall/ImproveProgressOutput
Bruce Forstall [Fri, 8 Dec 2017 00:00:34 +0000 (16:00 -0800)]
Merge pull request #15425 from BruceForstall/ImproveProgressOutput

Add progress output to runtest.cmd so you don't think it's hung

6 years agoMerge pull request #15420 from swgillespie/test-build-perf
William Godbe [Thu, 7 Dec 2017 22:46:48 +0000 (14:46 -0800)]
Merge pull request #15420 from swgillespie/test-build-perf

Don't set BuildVersionFile when doing a test build

6 years agoAdd progress output to runtest.cmd so you don't think it's hung
Bruce Forstall [Thu, 7 Dec 2017 21:39:33 +0000 (13:39 -0800)]
Add progress output to runtest.cmd so you don't think it's hung

6 years agoPredicate overwrite of BuildVersionFile on OverwriteCoreClrPackageVersion == true
Sean Gillespie [Thu, 7 Dec 2017 21:09:02 +0000 (13:09 -0800)]
Predicate overwrite of BuildVersionFile on OverwriteCoreClrPackageVersion == true

6 years agoFix a variable re-definition that resulted in two git invocations per project build
Sean Gillespie [Thu, 7 Dec 2017 19:37:03 +0000 (11:37 -0800)]
Fix a variable re-definition that resulted in two git invocations per project build

6 years agoDon't change SIGINT/SIGQUIT handling when they are set to SIG_IGN (#15393)
Tom Deseyn [Thu, 7 Dec 2017 18:08:56 +0000 (19:08 +0100)]
Don't change SIGINT/SIGQUIT handling when they are set to SIG_IGN (#15393)

* Don't change SIGINT/SIGQUIT handling when they are set to SIG_IGN

6 years agoJIT: fix remorph assert in cast long shift optimization (#15386)
Andy Ayers [Thu, 7 Dec 2017 07:21:07 +0000 (23:21 -0800)]
JIT: fix remorph assert in cast long shift optimization (#15386)

In some cases reachable from IL we may simplify the shift amount,
which sets the MORPHED flag, and then later remorph, leading to an assert
in DEBUG/CHECK builds.

Fix is to clear the MORPHED flag.

Added test case.

6 years agoUpdate CoreClr, CoreFx to preview1-26006-09, preview1-26006-07, respectively (#15401)
dotnet-maestro-bot [Thu, 7 Dec 2017 04:27:45 +0000 (22:27 -0600)]
Update CoreClr, CoreFx to preview1-26006-09, preview1-26006-07, respectively (#15401)

6 years agonew intrinsic type support (#15340)
Fei Peng [Thu, 7 Dec 2017 04:01:18 +0000 (20:01 -0800)]
new intrinsic type support (#15340)

6 years agoNull Check added to GetFullPath Function in Unix (#15399)
Anirudh Agnihotry [Thu, 7 Dec 2017 03:16:50 +0000 (19:16 -0800)]
Null Check added to GetFullPath Function in Unix (#15399)

Null Check added to GetFullPath Function in Unix

6 years agoReduce arm/armlb/arm64 GCStress=3 and HeapVerify=1 jobs from daily to weekly
Bruce Forstall [Thu, 7 Dec 2017 00:10:58 +0000 (16:10 -0800)]
Reduce arm/armlb/arm64 GCStress=3 and HeapVerify=1 jobs from daily to weekly

This will reduce our ARM64 hardware load.

6 years agoMerge pull request #15385 from BruceForstall/EnableGcstressPeriodicJobs
Bruce Forstall [Thu, 7 Dec 2017 00:00:33 +0000 (16:00 -0800)]
Merge pull request #15385 from BruceForstall/EnableGcstressPeriodicJobs

Enable arm/armlb/arm64 periodic GCStress=C jobs

6 years agoMove all non-full opt, non-pgo perf legs to periodic (#15398)
Michelle McDaniel [Wed, 6 Dec 2017 19:35:55 +0000 (11:35 -0800)]
Move all non-full opt, non-pgo perf legs to periodic (#15398)

We don't need the perf results for min-opt/no-pgo runs as frequently as
we need full-opt pgo runs (which we want to get per commit, if
possible), so move them to only running once daily.

6 years agoFix GT_FIELD_LIST double passed as int
Carol Eidt [Wed, 6 Dec 2017 00:32:52 +0000 (16:32 -0800)]
Fix GT_FIELD_LIST double passed as int

Correctly handle a double field passed in int regs under a `GT_FIELD_LIST`, especially in the case of a `PutArgSplit`.
Also, reduce the spew of dump info when `COMPlus_JitStressModeNames` or `COMPlus_JitStressModeNamesNot` are set.
Enhance the dumping of `fgArgInfo`.

Fix #15325

6 years agoMerge pull request #15388 from BruceForstall/NoLongRunningTests
Bruce Forstall [Wed, 6 Dec 2017 17:22:20 +0000 (09:22 -0800)]
Merge pull request #15388 from BruceForstall/NoLongRunningTests

Don't run ARM/ARM64 tests marked LONG_RUNNING

6 years agoUpdate PgoData to master-20171206-0036 (#15390)
dotnet-maestro-bot [Wed, 6 Dec 2017 16:48:13 +0000 (10:48 -0600)]
Update PgoData to master-20171206-0036 (#15390)

6 years agoMerge pull request #15387 from BruceForstall/FixArmTesting
Bruce Forstall [Wed, 6 Dec 2017 16:45:04 +0000 (08:45 -0800)]
Merge pull request #15387 from BruceForstall/FixArmTesting

Adjust BenchI/BenchF paths to account for recent file moves

6 years agoAddress PR feedback for change adding key to KeyNotFoundException (#15234)
Anirudh Agnihotry [Wed, 6 Dec 2017 07:09:24 +0000 (23:09 -0800)]
Address PR feedback for change adding key to KeyNotFoundException (#15234)

* Throwing KeyNotFoundException using Throw + get for JIT to generate better code for ii

6 years agoDon't run ARM/ARM64 tests marked LONG_RUNNING
Bruce Forstall [Wed, 6 Dec 2017 01:48:54 +0000 (17:48 -0800)]
Don't run ARM/ARM64 tests marked LONG_RUNNING

These tests can time out when run with the default job timeout.
So, disable them in normal runs.

6 years agoUpdate CoreClr to preview1-26005-01 (#15371)
dotnet-maestro-bot [Wed, 6 Dec 2017 01:29:56 +0000 (19:29 -0600)]
Update CoreClr to preview1-26005-01 (#15371)

6 years agoAdjust BenchI/BenchF paths to account for recent file moves
Bruce Forstall [Wed, 6 Dec 2017 00:53:59 +0000 (16:53 -0800)]
Adjust BenchI/BenchF paths to account for recent file moves

6 years agoEnable arm/armlb/arm64 periodic GCStress=C jobs
Bruce Forstall [Wed, 6 Dec 2017 00:26:22 +0000 (16:26 -0800)]
Enable arm/armlb/arm64 periodic GCStress=C jobs

6 years ago[Arm64] Enable SIMD (#14633)
Steve MacLean [Tue, 5 Dec 2017 23:15:23 +0000 (18:15 -0500)]
[Arm64] Enable SIMD (#14633)

* [Arm64] EXTERNAL_FeatureSIMD_Default = 1

* [Arm64] Enable SIMD compilation

* [Arm64] Enable SIMD in crossgen

* [Arm64] Allow SIMD in altjit

Add flag SIMD16ByteOnly
Set COMPlus_SIMD16ByteOnly=1 in x64_arm64_altjit.cmd
If SIMD16ByteOnly, limit clear FLAG_USE_AVX2 to disable SIMD32 vector size
Enable SIMD in protonjit

* Fix #if per feedback

6 years agoFixed some broken formatting (#15369)
Matt Warren [Tue, 5 Dec 2017 17:08:36 +0000 (17:08 +0000)]
Fixed some broken formatting (#15369)

6 years agoUpdate BuildTools, CoreClr, PgoData to prerelease-02304-01, preview1-26004-04, master...
dotnet-maestro-bot [Tue, 5 Dec 2017 12:54:34 +0000 (06:54 -0600)]
Update BuildTools, CoreClr, PgoData to prerelease-02304-01, preview1-26004-04, master-20171205-0037, respectively (#15356)

6 years agoRemove old methods using string format (#15363)
Stephen Toub [Tue, 5 Dec 2017 03:53:04 +0000 (22:53 -0500)]
Remove old methods using string format (#15363)

6 years agoHave a Type.IsConvertible property. (#15365)
Jon Hanna [Tue, 5 Dec 2017 03:52:04 +0000 (03:52 +0000)]
Have a Type.IsConvertible property. (#15365)

dotnet/corefx#25671 asks for this as a public API, but this just seeks
to make it available to corefx.

Motivation discussed at dotnet/corefx#25663 and dotnet/corefx#25670

Mirror PR to corert will need and overload making runtime types return
false there.

6 years agoSeparate large perf benchmarks into their own legs (#15231)
Michelle McDaniel [Mon, 4 Dec 2017 22:01:07 +0000 (14:01 -0800)]
Separate large perf benchmarks into their own legs (#15231)

Separate large perf benchmarks into their own legs

This change splits the windows perf test stages into 6 pipelined legs per flavor to reduce the amount of time we spend running the perf tests and reduce the total time of the job. This change also decreases the size of the stashed bin directory by deleting the obj directory. Finally, we move the benchstones suite into one directory (moving BenchF and BenchI into a shared dir called Benchstones)

6 years agoUpdate CoreClr, PgoData to preview1-26004-01, master-20171204-0047, respectively...
dotnet-maestro-bot [Mon, 4 Dec 2017 12:27:25 +0000 (06:27 -0600)]
Update CoreClr, PgoData to preview1-26004-01, master-20171204-0047, respectively (#15350)

6 years agoRename the method FloorLog2 to be more clear & fix spelling (#25335) (#15349)
Zhukov Maxim [Sun, 3 Dec 2017 05:42:48 +0000 (08:42 +0300)]
Rename the method FloorLog2 to be more clear & fix spelling (#25335) (#15349)

6 years agoUpdate CoreClr, PgoData to preview1-26002-02, master-20171202-0035, respectively...
dotnet-maestro-bot [Sat, 2 Dec 2017 20:35:44 +0000 (14:35 -0600)]
Update CoreClr, PgoData to preview1-26002-02, master-20171202-0035, respectively (#15346)

6 years agoJIT: defer removing statements during opt CSE (#15323)
Andy Ayers [Sat, 2 Dec 2017 17:12:09 +0000 (09:12 -0800)]
JIT: defer removing statements during opt CSE (#15323)

The statements may contain CSE defs which if removed can confuse subsequent
CSE processing.

Fixes #15319.

6 years agoDelete sortversioning.cpp/h (#15345)
Jan Kotas [Sat, 2 Dec 2017 09:21:49 +0000 (01:21 -0800)]
Delete sortversioning.cpp/h (#15345)

Fixes #8403

6 years agoUpdate CoreClr, CoreFx to preview1-26002-01, preview1-26002-01, respectively (#15344)
dotnet-maestro-bot [Sat, 2 Dec 2017 04:13:49 +0000 (22:13 -0600)]
Update CoreClr, CoreFx to preview1-26002-01, preview1-26002-01, respectively (#15344)

6 years agoFix NEG decomposition to mark instructions that set and use flags
Bruce Forstall [Sat, 2 Dec 2017 00:27:24 +0000 (16:27 -0800)]
Fix NEG decomposition to mark instructions that set and use flags

Fixes bad codegen in System.Math.Sign(long):
```
return unchecked((int)(value >> 63 | (long)((ulong)-value >> 63)));
```
where the flag-setting low part of the decomposed NEG was removed
as dead by the constant right shift with constant >= 32, even though
the flag setting is needed by the upper part.

Fixes the MathSign5 failure of #14860.

6 years agoMerge pull request #15315 from CarolEidt/Fix14548
Carol Eidt [Fri, 1 Dec 2017 23:56:43 +0000 (15:56 -0800)]
Merge pull request #15315 from CarolEidt/Fix14548

Unmark unused fields as not lvOnFrame

6 years agoImprove throughput of String.Split(char / char[], ...) (#15322)
Stephen Toub [Fri, 1 Dec 2017 23:27:45 +0000 (18:27 -0500)]
Improve throughput of String.Split(char / char[], ...) (#15322)

* Improve throughput of String.Split(char / char[], ...)

Also reduces the amount of unsafe code used.

* Address PR feedback

6 years agoChange name to perf jobs to reflect the actual OS they run on (#15314)
Victor "Nate" Graf [Fri, 1 Dec 2017 23:18:02 +0000 (15:18 -0800)]
Change name to perf jobs to reflect the actual OS they run on (#15314)

* Change name fo perf jobs to reflect the actual OS they run on

* readd Ubuntu 14.04

6 years agoMerge pull request #15190 from sdmaclea/PR-ARM64-IsContainableMemoryOp
Carol Eidt [Fri, 1 Dec 2017 23:03:18 +0000 (15:03 -0800)]
Merge pull request #15190 from sdmaclea/PR-ARM64-IsContainableMemoryOp

[Arm64] Allow IsContainableMemoryOp() use

6 years agoMerge pull request #15281 from sdmaclea/PR-ARM64-Fix-UNROLL_LIMIT
Bruce Forstall [Fri, 1 Dec 2017 22:58:34 +0000 (14:58 -0800)]
Merge pull request #15281 from sdmaclea/PR-ARM64-Fix-UNROLL_LIMIT

[Arm64] Fix UNROLL_LIMIT logic

6 years agoMerge pull request #15270 from sdmaclea/PR-ARM64-JITSTRESS-lvaStressLclFldCB
Bruce Forstall [Fri, 1 Dec 2017 22:57:24 +0000 (14:57 -0800)]
Merge pull request #15270 from sdmaclea/PR-ARM64-JITSTRESS-lvaStressLclFldCB

[ARM64] Align Compiler::lvaStressLclFldCB padding

6 years agoJIT: handle boundary cases for casts of long shifts (#15294)
Andy Ayers [Fri, 1 Dec 2017 22:08:31 +0000 (14:08 -0800)]
JIT: handle boundary cases for casts of long shifts (#15294)

* JIT: handle boundary cases for casts of long shifts

Remove the assert that the shift count is non-negative.
Don't try and optimize if the shift count is >= 64 or < 0.
Update test case to cover these values.

Updates the fix from #15236.
Closes #15291.

6 years agoUpdate BuildTools, CoreClr, CoreFx to prerelease-02301-01, preview1-26001-02, preview...
dotnet-maestro-bot [Fri, 1 Dec 2017 22:04:54 +0000 (16:04 -0600)]
Update BuildTools, CoreClr, CoreFx to prerelease-02301-01, preview1-26001-02, preview1-26001-02, respectively (#15321)

6 years agoMerge pull request #15262 from sdmaclea/PR-ARM64-JITSTRESS-genEpilogRestoreReg
Bruce Forstall [Fri, 1 Dec 2017 20:30:33 +0000 (12:30 -0800)]
Merge pull request #15262 from sdmaclea/PR-ARM64-JITSTRESS-genEpilogRestoreReg

[Arm64] Use REG_IP1 for genEpilogRestoreReg*

6 years agoMerge pull request #15275 from sdmaclea/PR-ARM64-SIMD-genMultiRegCallStoreToLocal...
Bruce Forstall [Fri, 1 Dec 2017 20:06:57 +0000 (12:06 -0800)]
Merge pull request #15275 from sdmaclea/PR-ARM64-SIMD-genMultiRegCallStoreToLocal-produceReg

[Arm64] SIMD genMultiRegCallStoreToLocal add missing produceReg

6 years agoMerge pull request #15311 from BruceForstall/FixArmFlowTriggering
Bruce Forstall [Fri, 1 Dec 2017 17:48:12 +0000 (09:48 -0800)]
Merge pull request #15311 from BruceForstall/FixArmFlowTriggering

Don't add triggers for arm/armlb/arm64 non-flow jobs

6 years agoMerge pull request #15317 from dotnet-bot/from-tfs
Stephen Toub [Fri, 1 Dec 2017 11:38:30 +0000 (06:38 -0500)]
Merge pull request #15317 from dotnet-bot/from-tfs

Merge changes from TFS

6 years agoUnix: Remove MaxPath, MaxName (#15229)
Tom Deseyn [Fri, 1 Dec 2017 11:38:13 +0000 (12:38 +0100)]
Unix: Remove MaxPath, MaxName (#15229)

* Unix: Remove MaxPath, MaxName

PATH_MAX is not an upper bound on path lengths on Unix. system function return
values should be used to determine behavior, instead of limiting the path length.

NAME_MAX depends on the file system used. Its value depends on the path, it is
not constant for the entire system.

* PR feedback

* Sync with corefx Interop.ReadLink

* Deal with /etc/localtime link containing relative path

6 years agoJumpstub fixes (#15296)
Jan Kotas [Fri, 1 Dec 2017 07:21:40 +0000 (23:21 -0800)]
Jumpstub fixes (#15296)

- Reserve space for jump stubs for precodes and other code fragments at the end of each code heap segment. This is trying
to ensure that eventual allocation of jump stubs for precodes and other code fragments succeeds. Accounting is done
conservatively - reserves more than strictly required. It wastes a bit of address space, but no actual memory. Also,
this reserve is not used to allocate jump stubs for JITed code since the JITing can recover from failure to allocate
the jump stub now. Fixes #14996.

- Improve algorithm to reuse HostCodeHeap segments: Maintain estimated size of the largest free block in HostCodeHeap.
This estimate is updated when allocation request fails, and also when memory is returned to the HostCodeHeap. Fixes #14995.

- Retry JITing on failure to allocate jump stub. Failure to allocate jump during JITing is not fatal anymore. There is
extra memory reserved for jump stubs on retry to ensure that the retry succeeds allocating the jump stubs that it needs
with high probability.

- Respect CodeHeapRequestInfo::getRequestSize for HostCodeHeap. CodeHeapRequestInfo::getRequestSize is used to
throttle code heap segment size for large workloads. Not respecting it in HostCodeHeap lead to too many
too small code heap segments in large workloads.

- Switch HostCodeHeap nibble map to be allocated on regular heap as part. It simplied the math required to estimate
the nibble map size, and allocating on regular heap is overall goodness since it does not need to be executable.

6 years agoMerge pull request #15312 from BruceForstall/FixSmartyArchive
Bruce Forstall [Fri, 1 Dec 2017 06:00:58 +0000 (22:00 -0800)]
Merge pull request #15312 from BruceForstall/FixSmartyArchive

Fix smarty output archiving

6 years agoUpdate CoreClr, CoreFx, PgoData to preview1-26001-01, preview1-26001-01, master-20171...
dotnet-maestro-bot [Fri, 1 Dec 2017 04:04:04 +0000 (22:04 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-26001-01, preview1-26001-01, master-20171130-0053, respectively (#15298)

6 years agoMerge pull request dotnet/corert#5038 from dotnet/nmirror
Jan Kotas [Wed, 29 Nov 2017 06:31:23 +0000 (22:31 -0800)]
Merge pull request dotnet/corert#5038 from dotnet/nmirror

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoUnmark unused fields as lvOnFrame
Carol Eidt [Fri, 1 Dec 2017 01:51:36 +0000 (17:51 -0800)]
Unmark unused fields as lvOnFrame

If a dependently promoted (i.e. non-register candidate) field of a struct is unused, and its parent is not allocated onto the stack, we cannot allocate the dependent fields to the stack either (they were previously being assigned offsets from 0, which may be in the GC ptr area, which causes an assert).

Fix #14548

6 years agoFix smarty output archiving
Bruce Forstall [Fri, 1 Dec 2017 00:23:55 +0000 (16:23 -0800)]
Fix smarty output archiving

Need to unset AltJit environment variables (and possibly others)
before running powershell.