platform/upstream/dotnet/runtime.git
7 years agoUpdate UsingYourBuild docs to use .NET Core 2.0 SDK
Wes Haggard [Thu, 23 Feb 2017 19:13:59 +0000 (11:13 -0800)]
Update UsingYourBuild docs to use .NET Core 2.0 SDK

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

7 years agoSimplified MinOpts GC ref tracking. (dotnet/coreclr#9231)
Peter Kukol [Thu, 23 Feb 2017 16:13:34 +0000 (09:13 -0700)]
Simplified MinOpts GC ref tracking. (dotnet/coreclr#9231)

Simplified MinOpts GC ref tracking - when a method is compiled with MinOpts for targets with the 64-bit GC info encoder we mark all GC slots as untracked and we omit encoding call sites with no live tracked GC refs explicitly in the GC tables; this can be controlled using the new COMPlus_JitMinOptsTrackGCrefs environment flag.

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

7 years agoAndroid: workaround absence of getcontext/setcontext (dotnet/coreclr#9725)
Frederik Carlier [Thu, 23 Feb 2017 10:09:24 +0000 (02:09 -0800)]
Android: workaround absence of getcontext/setcontext (dotnet/coreclr#9725)

* Android: workaround absence of getcontext/setcontext
use RtlCaptureContext and RtlRestoreContext

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

7 years agoReduce code in SafeHandleAddRef (dotnet/coreclr#9724)
Stephen Toub [Thu, 23 Feb 2017 07:22:43 +0000 (02:22 -0500)]
Reduce code in SafeHandleAddRef (dotnet/coreclr#9724)

If DangerousAddRef returns rather than throws, its argument will be true, so there's no need to branch on it.

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

7 years agoFaster List Add (dotnet/coreclr#9539)
Ben Adams [Thu, 23 Feb 2017 03:15:57 +0000 (03:15 +0000)]
Faster List Add (dotnet/coreclr#9539)

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

7 years agoMerge pull request dotnet/coreclr#9363 from tannergooding/math-intrinsics
Tanner Gooding [Thu, 23 Feb 2017 01:36:12 +0000 (17:36 -0800)]
Merge pull request dotnet/coreclr#9363 from tannergooding/math-intrinsics

Updating jit/valuenum to properly handle the single-precision versions of the math intrinsics.

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

7 years agoMerge pull request dotnet/coreclr#9654 from sdmaclea/PR-ARM64-JITGC-WIP2
Jarret Shook [Wed, 22 Feb 2017 23:30:14 +0000 (15:30 -0800)]
Merge pull request dotnet/coreclr#9654 from sdmaclea/PR-ARM64-JITGC-WIP2

[WIP] [Arm64] Fix GC liveness for CodeGen::genPutArgStk()

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

7 years agoMerge pull request dotnet/coreclr#9653 from sdmaclea/PR-ARM64-JITGC-WIP1
Jarret Shook [Wed, 22 Feb 2017 23:30:03 +0000 (15:30 -0800)]
Merge pull request dotnet/coreclr#9653 from sdmaclea/PR-ARM64-JITGC-WIP1

[WIP] [Arm64] Fix GC hole in CodeGen::genCodeForCpObj()

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

7 years agoImprove stack overflow reporting (dotnet/coreclr#9650)
Jan Vorlicek [Wed, 22 Feb 2017 22:18:01 +0000 (23:18 +0100)]
Improve stack overflow reporting (dotnet/coreclr#9650)

* Improve stack overflow reporting

This change modifies the SIGSEGV handling to use an alternate stack so that
we can safely detect and report stack overflow even in case when we are
really out of stack. Before, we were able to detect stack overflow and report
it only when JIT inserted stack probes (for functions with frames larger than
4kB) and so there was still space on the stack to run the sigsegv handler.
It brings in some additional complexity, since we need to switch to the original
stack of the thread once we figure out the sigsegv is not a stack overflow and
if we return from the hardware exception handler, we need to switch back to the
alternate stack before returning from the sigsegv handler.
Also, the alternate stack is created per thread and so we need to correctly destroy
it when a thread terminates and also install it on foreign threads that enter PAL.
This also requires creating fake stack frames to enable the libunwind to walk
the stack from the exception handler to the sigsegv location.

* Fix stack unwinding in CallDescrWorkerInternal

While testing the change to enable stack overflow handling, I've noticed that
the PROLOG_SAVE_REG_PAIR and PROLOG_SAVE_REG_PAIR_INDEXED macros are missing
.cfi_def_cfa_register fp. That resulted in inability to unwind through the
CallDescrWorkerInternal, since this function dynamically allocates stack slots
and so the default sp based frame doesn't work.

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

7 years agoCMake configuration for cross building for Android (dotnet/coreclr#9174)
Frederik Carlier [Wed, 22 Feb 2017 22:17:01 +0000 (14:17 -0800)]
CMake configuration for cross building for Android (dotnet/coreclr#9174)

* Configuration files for cross building for Android arm64

* Simplify toolchain script

* Fix trymake values for Android

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

7 years agoMerge pull request dotnet/coreclr#9712 from AndyAyersMS/FixSomeTestProjFiles
Andy Ayers [Wed, 22 Feb 2017 20:20:08 +0000 (12:20 -0800)]
Merge pull request dotnet/coreclr#9712 from AndyAyersMS/FixSomeTestProjFiles

Fix jit test projects to specify debug type and optimization flags

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

7 years agoAdd test coverage for ldtoken with members (dotnet/coreclr#9713)
Michal Strehovský [Wed, 22 Feb 2017 20:04:37 +0000 (12:04 -0800)]
Add test coverage for ldtoken with members (dotnet/coreclr#9713)

The test coverage for `ldtoken field X` and `ldtoken method X` in the
repo is very small - this test tries to improve things a little.

In particular, it tests that we get the right reflection objects, and
that we can do this from shared and unshared code.

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

7 years agoMerge pull request dotnet/coreclr#9714 from BruceForstall/FixRegMasks
Bruce Forstall [Wed, 22 Feb 2017 19:29:58 +0000 (11:29 -0800)]
Merge pull request dotnet/coreclr#9714 from BruceForstall/FixRegMasks

Fix non-Windows amd64 register mask initialization

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

7 years agoMerge pull request dotnet/coreclr#9702 from adiaaida/fixX86PerfTesting
Michelle McDaniel [Wed, 22 Feb 2017 19:00:39 +0000 (11:00 -0800)]
Merge pull request dotnet/coreclr#9702 from adiaaida/fixX86PerfTesting

Fix x86 perf testing

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

7 years ago[Arm64] Fix GC hole in CodeGen::genCodeForCpObj()
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Fri, 3 Feb 2017 01:01:46 +0000 (01:01 +0000)]
[Arm64] Fix GC hole in CodeGen::genCodeForCpObj()

Update tempreg liveness

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

7 years ago[Arm64] Fix GC liveness for CodeGen::genPutArgStk()
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Fri, 3 Feb 2017 22:24:07 +0000 (22:24 +0000)]
[Arm64] Fix GC liveness for CodeGen::genPutArgStk()

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

7 years agoUpdating ValueNumStore to no longer upcast float to double when performing evaluations.
Tanner Gooding [Wed, 22 Feb 2017 15:25:26 +0000 (07:25 -0800)]
Updating ValueNumStore to no longer upcast float to double when performing evaluations.

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

7 years agoSeparate Comparer and EqualityComparer creation logic into a non-generic class (dotne...
James Ko [Wed, 22 Feb 2017 18:01:40 +0000 (13:01 -0500)]
Separate Comparer and EqualityComparer creation logic into a non-generic class (dotnet/coreclr#9640)

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

7 years agoFix projects that specified DebugType incorrectly
Andy Ayers [Wed, 22 Feb 2017 17:31:14 +0000 (09:31 -0800)]
Fix projects that specified DebugType incorrectly

Make conditional DebugType properties uncondtional. Fix debug type
and optimize settings for _d and _do suffixed tests. Remove conditional
DebugType propery if there is also an unconditonal property.

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

7 years agoMerge pull request dotnet/coreclr#9704 from pgavlin/corefx15913
Pat Gavlin [Wed, 22 Feb 2017 17:29:58 +0000 (09:29 -0800)]
Merge pull request dotnet/coreclr#9704 from pgavlin/corefx15913

Correctly pass 12-byte GT_SIMD nodes on x86.

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

7 years agoMerge pull request dotnet/coreclr#9660 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Wed, 22 Feb 2017 16:58:43 +0000 (08:58 -0800)]
Merge pull request dotnet/coreclr#9660 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-25021-03, beta-25022-02, respectively (master)

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

7 years agoUpdate CoreClr, CoreFx to beta-25021-03, beta-25022-02, respectively
dotnet-bot [Wed, 22 Feb 2017 15:16:14 +0000 (15:16 +0000)]
Update CoreClr, CoreFx to beta-25021-03, beta-25022-02, respectively

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

7 years agoClean up ClrUnwindEx (dotnet/coreclr#9482)
Jonghyun Park [Wed, 22 Feb 2017 14:43:30 +0000 (23:43 +0900)]
Clean up ClrUnwindEx (dotnet/coreclr#9482)

* Clean up ClrUnwindEx

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

7 years agoDropping some unnecessary conditional statements in jit\valuenum.cpp
Tanner Gooding [Wed, 22 Feb 2017 14:09:37 +0000 (06:09 -0800)]
Dropping some unnecessary conditional statements in jit\valuenum.cpp

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

7 years agoUpdating jit/valuenum to properly handle the single-precision versions of the math...
Tanner Gooding [Mon, 6 Feb 2017 06:44:14 +0000 (06:44 +0000)]
Updating jit/valuenum to properly handle the single-precision versions of the math intrinsics.

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

7 years agoFix non-Windows amd64 register mask initialization
Bruce Forstall [Wed, 22 Feb 2017 01:06:46 +0000 (17:06 -0800)]
Fix non-Windows amd64 register mask initialization

The arrays were being initialized with register numbers, not
register masks. The arrays are only used on non-Windows amd64
for homing circular incoming argument conflicts. Perhaps we
never saw this happen?

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

7 years agoFix jit test projects to specify debug type and optimization flags
Andy Ayers [Wed, 22 Feb 2017 02:13:25 +0000 (18:13 -0800)]
Fix jit test projects to specify debug type and optimization flags

This partially addresses the issues raised in dotnet/coreclr#4124 and dotnet/coreclr#4724 by explicitly
and unconditionally setting DebugType and Optimize flags for various test
project files.

The projects that were fixed are those that did not specify any debug
flag settings at all.  The fix is to set DebugType to PdbOnly and to set
Optimization to true, unless the test has an _r or _rel suffix, in which
case Optimization is set false.

This impacts 1497 projects, skipping over 311 projects flagged as needing
fixes. The projects that remain are the CodeGenBringUp set (for which we plan
to clone projects to test the various flag combinations), projects that
specify flags but do so in ways where the effective flag settings may vary
from DBG to RET, projects that specify the flags redundantly, or projects
where the flags are not consistent with the "test case name suffix" rules.

The edits were done by a tool using linq-to-xml and so some incidental
reformatting has happened.

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

7 years agoFix x86 perf testing
Michelle McDaniel [Tue, 21 Feb 2017 19:35:04 +0000 (11:35 -0800)]
Fix x86 perf testing

We did not use a different architecture in run-xunit-perf.cmd, so all the
x86 runs were uploading to the same architecture. This change fixes it so
x86jit32 runs upload to their own architecture. Also fixes the delayed
expansion issue for testenv.

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

7 years agoUse CORINFO_CALLCONV to check for unmanaged calls (dotnet/coreclr#9697)
Michal Strehovský [Wed, 22 Feb 2017 00:37:04 +0000 (16:37 -0800)]
Use CORINFO_CALLCONV to check for unmanaged calls (dotnet/coreclr#9697)

`GTF_CALL_UNMANAGED` is a member of the wrong enum and it's something
that would be set on `call->gtFlags` except that at this point it isn't.
Check against the actual unmanaged calling conventions.

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

7 years ago[x86/Linux] Fix framepointer while unwinding (dotnet/coreclr#9678)
SaeHie Park [Wed, 22 Feb 2017 00:26:21 +0000 (09:26 +0900)]
[x86/Linux] Fix framepointer while unwinding (dotnet/coreclr#9678)

Use pCallerContext when getting frame pointer

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

7 years agoAdd a regression test.
Pat Gavlin [Tue, 21 Feb 2017 23:15:22 +0000 (15:15 -0800)]
Add a regression test.

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

7 years agoMerge pull request dotnet/coreclr#9703 from wtgodbe/CrossgenCode
Gaurav Khanna [Tue, 21 Feb 2017 22:07:58 +0000 (14:07 -0800)]
Merge pull request dotnet/coreclr#9703 from wtgodbe/CrossgenCode

Have Crossgen Failures exit in a dedicated exit routine

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

7 years agoCorrectly pass 12-byte GT_SIMD nodes on x86.
Pat Gavlin [Tue, 21 Feb 2017 21:29:34 +0000 (13:29 -0800)]
Correctly pass 12-byte GT_SIMD nodes on x86.

During lowering, all TYP_SIMD12 GT_SIMD nodes are retyped to TYP_SIMD16.
This is correct except in the case that the GT_SIMD node is going to be
passed by-value on x86, in which case this retyping causes us to push 16
bytes rather than 12. This change recognizes a GT_SIMD node that has
been retyped by checking the value of gtSIMDSize during LowerArg and
uses TYP_SIMD12 for the putarg instead of TYP_SIMD16 (aside from
differences in detecting retyped nodes, this is the same transformation
we already do when passing TYP_SIMD12 lclVars that are being used as
TYP_SIMD16 on x86).

Fixes https://github.com/dotnet/corefx/issues/15913.

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

7 years agoHave Crossgen Failures exit in a dedicated exit routine
wtgodbe [Tue, 21 Feb 2017 20:38:46 +0000 (12:38 -0800)]
Have Crossgen Failures exit in a dedicated exit routine

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

7 years agoMerge pull request dotnet/coreclr#9695 from jashook/up_timeout_for_arm64_gcstress
Jarret Shook [Tue, 21 Feb 2017 19:23:09 +0000 (11:23 -0800)]
Merge pull request dotnet/coreclr#9695 from jashook/up_timeout_for_arm64_gcstress

Up the timeout for gcstress arm64 jobs.

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

7 years agoUp the timeout for gcstress arm64 jobs.
jashook [Tue, 21 Feb 2017 18:05:10 +0000 (10:05 -0800)]
Up the timeout for gcstress arm64 jobs.

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

7 years agoFix compilation on macOS with case sensitive FS (dotnet/coreclr#9693)
Mikhail Filippov [Tue, 21 Feb 2017 17:26:58 +0000 (20:26 +0300)]
Fix compilation on macOS with case sensitive FS (dotnet/coreclr#9693)

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

7 years agoImprove string.Equals OrdinalIgnoreCase performance for matching chars (dotnet/corecl...
Bruce Bowyer-Smyth [Tue, 21 Feb 2017 17:25:18 +0000 (03:25 +1000)]
Improve string.Equals OrdinalIgnoreCase performance for matching chars (dotnet/coreclr#9213)

* Improve string.Equals OrdinalIgnoreCase performance for matching chars

* Added code comment

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

7 years agoAdd --xunitOutputPath option to runtest.sh (dotnet/coreclr#9646)
Jonghyun Park [Tue, 21 Feb 2017 14:33:55 +0000 (23:33 +0900)]
Add --xunitOutputPath option to runtest.sh (dotnet/coreclr#9646)

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

7 years agoClean up FixupDispatcherContext (dotnet/coreclr#9685)
Jonghyun Park [Tue, 21 Feb 2017 14:01:29 +0000 (23:01 +0900)]
Clean up FixupDispatcherContext (dotnet/coreclr#9685)

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

7 years agoUse ADJUST_PC_UNWOUND_TO_CALL instead of _TARGET_XXX_ (dotnet/coreclr#9686)
Jonghyun Park [Tue, 21 Feb 2017 13:47:11 +0000 (22:47 +0900)]
Use ADJUST_PC_UNWOUND_TO_CALL instead of _TARGET_XXX_ (dotnet/coreclr#9686)

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

7 years agoMerge pull request dotnet/coreclr#9676 from parjong/fix/issue_9576
Andy Ayers [Mon, 20 Feb 2017 15:53:14 +0000 (07:53 -0800)]
Merge pull request dotnet/coreclr#9676 from parjong/fix/issue_9576

Fix bogus assert in flowgraph and update related ilproj

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

7 years agoRewrite assert using bbInTryRegions
Jonghyun Park [Mon, 20 Feb 2017 05:38:40 +0000 (14:38 +0900)]
Rewrite assert using bbInTryRegions

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

7 years agoUpdate related .ilproj
Jonghyun Park [Mon, 20 Feb 2017 01:40:26 +0000 (10:40 +0900)]
Update related .ilproj

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

7 years agoFix formatting error
Jonghyun Park [Mon, 20 Feb 2017 01:31:43 +0000 (10:31 +0900)]
Fix formatting error

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

7 years agoComment out bogus assert in flowgraph
Jonghyun Park [Mon, 20 Feb 2017 01:13:33 +0000 (10:13 +0900)]
Comment out bogus assert in flowgraph

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

7 years agoMerge pull request dotnet/coreclr#9672 from jashook/arm64_regression
Jarret Shook [Sun, 19 Feb 2017 19:03:31 +0000 (11:03 -0800)]
Merge pull request dotnet/coreclr#9672 from jashook/arm64_regression

Add new regression.

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

7 years agoMerge pull request dotnet/coreclr#9671 from benaadams/revert-encoding
Andy Ayers [Sun, 19 Feb 2017 06:39:31 +0000 (22:39 -0800)]
Merge pull request dotnet/coreclr#9671 from benaadams/revert-encoding

Revert "Fast-path for ASCII & UTF8 Encoding ASCII data (dotnet/coreclr#9187)"

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

7 years agoMerge pull request dotnet/coreclr#9670 from stephentoub/cs_random
Dan Moseley [Sun, 19 Feb 2017 05:47:48 +0000 (21:47 -0800)]
Merge pull request dotnet/coreclr#9670 from stephentoub/cs_random

Delay Random allocation in ConcurrentStack

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

7 years agoAdd new regression.
jashook [Sun, 19 Feb 2017 05:28:45 +0000 (21:28 -0800)]
Add new regression.

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

7 years agoRevert "Fast-path for ASCII & UTF8 Encoding ASCII data (dotnet/coreclr#9187)"
Ben Adams [Sun, 19 Feb 2017 05:03:51 +0000 (05:03 +0000)]
Revert "Fast-path for ASCII & UTF8 Encoding ASCII data (dotnet/coreclr#9187)"

This reverts commit dotnet/coreclr@77e676be9fab34471c4ae9f16a7a51a06bd470ee.

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

7 years agoMerge pull request dotnet/coreclr#9661 from AndyAyersMS/FixTailCallStress1
Andy Ayers [Sun, 19 Feb 2017 01:42:43 +0000 (17:42 -0800)]
Merge pull request dotnet/coreclr#9661 from AndyAyersMS/FixTailCallStress1

JIT: tolerate GT_COMMA in tail call position

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

7 years agoRemove a few explicit static cctors (dotnet/coreclr#9669)
Stephen Toub [Sun, 19 Feb 2017 01:17:34 +0000 (20:17 -0500)]
Remove a few explicit static cctors (dotnet/coreclr#9669)

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

7 years agoMerge pull request dotnet/coreclr#9665 from sdmaclea/PR-ARM64-PT_KNONVOLATILE
Gaurav Khanna [Sun, 19 Feb 2017 00:09:12 +0000 (16:09 -0800)]
Merge pull request dotnet/coreclr#9665 from sdmaclea/PR-ARM64-PT_KNONVOLATILE

[ARM64] Use PT_KNONVOLATILE... for cross

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

7 years agoDelay Random allocation in ConcurrentStack
Stephen Toub [Sat, 18 Feb 2017 23:32:20 +0000 (15:32 -0800)]
Delay Random allocation in ConcurrentStack

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

7 years agoFast-path for ASCII & UTF8 Encoding ASCII data (dotnet/coreclr#9187)
Ben Adams [Sat, 18 Feb 2017 18:47:36 +0000 (18:47 +0000)]
Fast-path for ASCII & UTF8 Encoding ASCII data (dotnet/coreclr#9187)

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

7 years ago[Arm64/Unix] Fix cmake race condition (dotnet/coreclr#9666)
Steve MacLean [Sat, 18 Feb 2017 09:15:26 +0000 (04:15 -0500)]
[Arm64/Unix] Fix cmake race condition (dotnet/coreclr#9666)

On a clean build SET(REQUIRE_LLDBPLUGIN false) was being ignored because the cmake
cache variable had not been created

Change order of cmake file to be more natural and to resolve

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

7 years agoMerge pull request dotnet/coreclr#9667 from sivarv/backout
Sivarv [Sat, 18 Feb 2017 06:29:47 +0000 (22:29 -0800)]
Merge pull request dotnet/coreclr#9667 from sivarv/backout

Back-out promotion of structs containing fields of struct of single field

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

7 years agoBackout promotion of structs containing fields of struct of single field.
sivarv [Sat, 18 Feb 2017 04:17:13 +0000 (20:17 -0800)]
Backout promotion of structs containing fields of struct of single field.

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

7 years ago[ARM64] Use PT_KNONVOLATILE... for cross
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Sat, 18 Feb 2017 01:28:17 +0000 (01:28 +0000)]
[ARM64] Use PT_KNONVOLATILE... for cross

In order to enable cross compilation support, ARM64
needs to use PT_KNONVOLATILE_CONTEXT_POINTERS

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

7 years agoMerge pull request dotnet/coreclr#9657 from AndyAyersMS/FixFinallyChainMergeAssert
Andy Ayers [Sat, 18 Feb 2017 01:17:34 +0000 (17:17 -0800)]
Merge pull request dotnet/coreclr#9657 from AndyAyersMS/FixFinallyChainMergeAssert

JIT: relax assert in fgMergeFinallyChains

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

7 years agoMerge pull request dotnet/coreclr#9636 from sivarv/shouldPromote
Sivarv [Fri, 17 Feb 2017 22:21:33 +0000 (14:21 -0800)]
Merge pull request dotnet/coreclr#9636 from sivarv/shouldPromote

Refactor some of fgPromoteStruct() checks into lvaCanPromoteStructVar() and lvaShouldPromoteStructVar()

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

7 years agoJIT: tolerate GT_COMMA in tail call position
Andy Ayers [Fri, 17 Feb 2017 22:02:12 +0000 (14:02 -0800)]
JIT: tolerate GT_COMMA in tail call position

Now that we can tail call from inlined call sites, we may see the call
embedded in a GT_COMMA, if the call's return value is ignored. This triggered
an assert the tail call transformation.

Closes dotnet/coreclr#9641.

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

7 years agoMerge pull request dotnet/coreclr#9658 from chcosta/fix_coreclr_packaging
chcosta [Fri, 17 Feb 2017 20:47:10 +0000 (12:47 -0800)]
Merge pull request dotnet/coreclr#9658 from chcosta/fix_coreclr_packaging

Exclude ni files from linux arm32 builds

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

7 years agoSynchronous toolchain.cmake files with CoreFX (dotnet/coreclr#9409)
Jiyoung Giuliana Yun [Fri, 17 Feb 2017 20:43:52 +0000 (05:43 +0900)]
Synchronous toolchain.cmake files with CoreFX (dotnet/coreclr#9409)

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/849ad718ba1fe739ac1264fddc0609e67b95816f

7 years agoMerge pull request dotnet/coreclr#8843 from mikedn/decompose-cast-mul
Pat Gavlin [Fri, 17 Feb 2017 20:13:25 +0000 (12:13 -0800)]
Merge pull request dotnet/coreclr#8843 from mikedn/decompose-cast-mul

Improve int->long cast decomposition

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

7 years agoMerge pull request dotnet/coreclr#9615 from JosephTremoulet/UpdateCompareVN
Joseph Tremoulet [Fri, 17 Feb 2017 19:40:17 +0000 (14:40 -0500)]
Merge pull request dotnet/coreclr#9615 from JosephTremoulet/UpdateCompareVN

Update array length compare value numbers on CSE

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

7 years agoMerge pull request dotnet/coreclr#9649 from dotnet-bot/master-UpdateDependencies
Dan Moseley [Fri, 17 Feb 2017 19:18:50 +0000 (11:18 -0800)]
Merge pull request dotnet/coreclr#9649 from dotnet-bot/master-UpdateDependencies

Update CoreFx to beta-25017-02 (master)

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

7 years agoMerge pull request dotnet/coreclr#9228 from fujiy/fixcorefx4805
Dan Moseley [Fri, 17 Feb 2017 19:13:59 +0000 (11:13 -0800)]
Merge pull request dotnet/coreclr#9228 from fujiy/fixcorefx4805

Add/Expose String.EndsWith(char) and String.StartsWith(char)

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

7 years agoMerge pull request dotnet/coreclr#9656 from RussKeldorph/corefx_x86
Russ Keldorph [Fri, 17 Feb 2017 19:03:05 +0000 (11:03 -0800)]
Merge pull request dotnet/coreclr#9656 from RussKeldorph/corefx_x86

Fix corefx x86 testing and small netci.groovy fixes

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

7 years agoRemove ubuntu 16.10 arm build from packaging
Christopher Costa [Fri, 17 Feb 2017 18:46:41 +0000 (10:46 -0800)]
Remove ubuntu 16.10 arm build from packaging

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

7 years ago[ARM64/Unix] (dotnet/coreclr#9500)
Steve MacLean [Fri, 17 Feb 2017 18:25:37 +0000 (13:25 -0500)]
[ARM64/Unix]  (dotnet/coreclr#9500)

* [Arm64/Unix] Update arm64 *.S files to match *.asm

* [Arm64/Unix] Fix CONTEXTToNativeContext()

* [Arm64/Unix] ThrowExceptionFromContextInternal

* [Arm64/Unix] Preserve x8 argument register

* [ARM64/Unix] Add CFI directives

Add native unwind info

* [Arm64/Unix] Fix RtlRestoreContext

* [Arm64/Unix] Restore FP from CurrentContextPointers

* [Arm64/Unix] fix pointer math

* [Arm64/Unix] Fix CallDescrWorkerInternal personality

* [Arm64/Unix] More Fp fixups

* [Arm64/Unix] CallEHFunclet machine state

Restore non-volatile machine state in CallEHFunclet

* [Arm64/Unix] CallDescrWorkerInternal

Use empty stack slot to save argument

* [Arm64/Unix] RtlVirtualUnwind update pointers

* [Arm64] LazyMachState fixes

* [Arm64/Unix] disable USE_REDIRECT_FOR_GCSTRESS

When FEATURE_PAL is enableds USE_REDIRECT_FOR_GCSTRESS
is not supported

* [Arm64] ClearRegDisplayArgumentAndScratchRegisters()

* [Arm64] Remove unnecesary copy in TransitionFrame

* [Arm64/Unix] Fix comment per review

* [Arm64/Unix] move constants per review

* [Arm64/Unix] Use ldp per review

Also fix indentation

* [Arm64/Unix] Fix indentation per review

* [Arm64/Unix] Remove m_Unwound per review comments

* [Arm64/Unix] Use PREPARE_EXTERNAL_VAR to access globals

* [Arm64/Unix] Fix more whitespace per earlier review comments

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

7 years agoRemove contraction from property name
Christopher Costa [Fri, 17 Feb 2017 18:23:20 +0000 (10:23 -0800)]
Remove contraction from property name

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

7 years agoExclude ni files from linux arm32 builds
Christopher Costa [Fri, 17 Feb 2017 18:20:58 +0000 (10:20 -0800)]
Exclude ni files from linux arm32 builds

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

7 years agoFix corefx x86 testing and small netci.groovy fixes
Russ Keldorph [Fri, 17 Feb 2017 17:12:04 +0000 (09:12 -0800)]
Fix corefx x86 testing and small netci.groovy fixes

run-corefx-tests.py fixes
- Switch to using the same corefx build switches as the corefx CI.

netci.groovy fixes
- Add COMPlus_Ready2Run=0 to existing ZapDisable jobs to get the coverage
  we intended to have in these jobs.  Previously, R2R images were slipping
  through.

- Add architecture to the trigger strings fore corefx jobs so it's
  possible to request x86 corefx runs.

- Add the -u option to python command line in netci.groovy so Python
  output is synchronized with subcommand output in the CI logs.

- Fix whitespace in name formatting of corefx_baseline jobs

- Remove trailing (sorry, my editor did this and now it is too hard to
  undo.  Add ?w=1 to Github diff URL to filter out ws diffs.)

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

7 years agoMerge pull request dotnet/coreclr#9580 from sdmaclea/PR-ARM64-CROSSGENFAILS
Jarret Shook [Fri, 17 Feb 2017 16:27:18 +0000 (08:27 -0800)]
Merge pull request dotnet/coreclr#9580 from sdmaclea/PR-ARM64-CROSSGENFAILS

[Arm64/Unix] Add crossgen fails

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

7 years agoJIT: relax assert in fgMergeFinallyChains
Andy Ayers [Fri, 17 Feb 2017 16:04:55 +0000 (08:04 -0800)]
JIT: relax assert in fgMergeFinallyChains

In some rare and likely IL-only cases the jit may create unreachable
callfinallys. This trips up finally chain merging since it spots a
merge opportunity but no merge actually happens.

Relax the assertion checks so that `canMerge && !didMerge` is now ok.

Closes dotnet/coreclr#9651.

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

7 years agoUpdate CoreFx to beta-25017-02
dotnet-bot [Fri, 17 Feb 2017 15:07:22 +0000 (15:07 +0000)]
Update CoreFx to beta-25017-02

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

7 years ago[x86/Linux] Remove unnecessary x86-specific part (dotnet/coreclr#9627)
Hanjoung Lee [Fri, 17 Feb 2017 11:39:26 +0000 (20:39 +0900)]
[x86/Linux] Remove unnecessary x86-specific part (dotnet/coreclr#9627)

This inlined assembly is no longer necessary for x86.

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

7 years agoClean up nested WIN64EXCEPTIONS (dotnet/coreclr#9644)
Jonghyun Park [Fri, 17 Feb 2017 11:11:46 +0000 (20:11 +0900)]
Clean up nested WIN64EXCEPTIONS (dotnet/coreclr#9644)

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

7 years agoClean up dummy implementation in regdisp.h (dotnet/coreclr#9643)
Jonghyun Park [Fri, 17 Feb 2017 09:27:17 +0000 (18:27 +0900)]
Clean up dummy implementation in regdisp.h (dotnet/coreclr#9643)

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

7 years ago[x86/Linux] Fix GetCallerSp (dotnet/coreclr#9384)
Jonghyun Park [Fri, 17 Feb 2017 09:19:16 +0000 (18:19 +0900)]
[x86/Linux] Fix GetCallerSp (dotnet/coreclr#9384)

* [x86/Linux] Fix GetCallerSp

* Do NOT pop stack argument for TransitionFrame

* Add ResumeEsp to CONTEXT

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

7 years agoMerge pull request dotnet/coreclr#9645 from DrewScoggins/EmptyVariableFix
Drew Scoggins [Fri, 17 Feb 2017 08:45:22 +0000 (00:45 -0800)]
Merge pull request dotnet/coreclr#9645 from DrewScoggins/EmptyVariableFix

Fix x64 perf run break

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

7 years agoFix x64 perf run break
Drew Scoggins [Fri, 17 Feb 2017 07:39:53 +0000 (23:39 -0800)]
Fix x64 perf run break

After the checkin to add legacy JIT testing support for x86 we broke x64
runs.  THe issue is that we do not pass anything in to the TEST_ENV
variable on x64 and when a variable is empty and you attempt to use the
if exists syntax you fail.  I have added a nonsense file name that we
set this to before we go through the args loop. I was not able to find a
better solution and want to get the lab unblocked, but any batch masters
feel free to solve this the right way.

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

7 years agoMerge pull request dotnet/coreclr#9642 from dotnet-bot/master-UpdateDependencies
Dan Moseley [Fri, 17 Feb 2017 05:45:12 +0000 (21:45 -0800)]
Merge pull request dotnet/coreclr#9642 from dotnet-bot/master-UpdateDependencies

Update CoreFx to beta-25017-01 (master)

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

7 years agoMerge pull request dotnet/coreclr#9639 from parjong/fix/wrong_comment
Dan Moseley [Fri, 17 Feb 2017 05:44:36 +0000 (21:44 -0800)]
Merge pull request dotnet/coreclr#9639 from parjong/fix/wrong_comment

Fix wrong comment

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

7 years agoUpdate CoreFx to beta-25017-01
dotnet-bot [Fri, 17 Feb 2017 03:03:57 +0000 (03:03 +0000)]
Update CoreFx to beta-25017-01

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

7 years agoMerge pull request dotnet/coreclr#8778 from dnickless/master
Dan Moseley [Fri, 17 Feb 2017 02:47:45 +0000 (18:47 -0800)]
Merge pull request dotnet/coreclr#8778 from dnickless/master

Performance improvement: Make ConcurrentDictionary with Enum values also profit from atomic writes.

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

7 years agoMerge pull request dotnet/coreclr#9637 from wtgodbe/noMoreSuse
William Godbe [Fri, 17 Feb 2017 01:58:46 +0000 (17:58 -0800)]
Merge pull request dotnet/coreclr#9637 from wtgodbe/noMoreSuse

Remove all references to OpenSuse13.2

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

7 years agoMerge pull request dotnet/coreclr#9628 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Fri, 17 Feb 2017 01:31:17 +0000 (17:31 -0800)]
Merge pull request dotnet/coreclr#9628 from dotnet-bot/master-UpdateDependencies

Update CoreFx to beta-25016-03 (master)

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

7 years agoFix wrong comment
Jonghyun Park [Fri, 17 Feb 2017 01:10:09 +0000 (10:10 +0900)]
Fix wrong comment

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

7 years agoMerge pull request dotnet/coreclr#9610 from sdmaclea/PR-ARM64-CALLSITE
Bruce Forstall [Thu, 16 Feb 2017 23:42:34 +0000 (15:42 -0800)]
Merge pull request dotnet/coreclr#9610 from sdmaclea/PR-ARM64-CALLSITE

[Arm64/Unix] Correct ControlPC when unwinding

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

7 years agoRemove all references to OpenSuse13.2
wtgodbe [Thu, 16 Feb 2017 22:40:39 +0000 (14:40 -0800)]
Remove all references to OpenSuse13.2

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

7 years agoRefactor fgPromoteStrut into lvaShouldPromoteStructVar
sivarv [Thu, 16 Feb 2017 22:01:24 +0000 (14:01 -0800)]
Refactor fgPromoteStrut into lvaShouldPromoteStructVar

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

7 years agoRename cseArrLenMap to optCseArrLenMap
Joseph Tremoulet [Thu, 16 Feb 2017 21:53:47 +0000 (13:53 -0800)]
Rename cseArrLenMap to optCseArrLenMap

This lines up better with other names in code that optimizes common sub-
expressions.

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

7 years agoFactor signedness test into helper
Joseph Tremoulet [Thu, 16 Feb 2017 19:45:52 +0000 (11:45 -0800)]
Factor signedness test into helper

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

7 years agoMerge pull request dotnet/coreclr#9629 from sdmaclea/PR-FIX-LLDB-REGRESSION
Gaurav Khanna [Thu, 16 Feb 2017 18:03:03 +0000 (10:03 -0800)]
Merge pull request dotnet/coreclr#9629 from sdmaclea/PR-FIX-LLDB-REGRESSION

Pr fix lldb regression typo

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

7 years agoMerge pull request dotnet/coreclr#9588 from adiaaida/perfLegacyJit
Michelle McDaniel [Thu, 16 Feb 2017 17:14:35 +0000 (09:14 -0800)]
Merge pull request dotnet/coreclr#9588 from adiaaida/perfLegacyJit

Add perf job for legacy jit

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

7 years ago[x86/Linux] Emit proper frame for FastGetSharedStaticBase (dotnet/coreclr#9618)
Jonghyun Park [Thu, 16 Feb 2017 16:40:03 +0000 (01:40 +0900)]
[x86/Linux] Emit proper frame for FastGetSharedStaticBase (dotnet/coreclr#9618)

* [x86/Linux] Emit proper frame for FastGetSharedStaticBase

* Adjust Stack-align Padding

* Remove FEATURE_PAL ifdef

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

7 years agoMerge branch 'master' into PR-FIX-LLDB-REGRESSION
Steve MacLean [Thu, 16 Feb 2017 13:16:20 +0000 (08:16 -0500)]
Merge branch 'master' into PR-FIX-LLDB-REGRESSION

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