platform/upstream/dotnet/runtime.git
6 years agosigsegv_handler: handle case when it is called on original stack (dotnet/coreclr...
Konstantin Baladurin [Thu, 15 Feb 2018 01:25:32 +0000 (04:25 +0300)]
sigsegv_handler: handle case when it is called on original stack (dotnet/coreclr#16276)

* CatchHardwareExceptionHolder: use GetCurrentPalThread instead of
InternalGetCurrentThread in IsEnabled method.

InternalGetCurrentThread tries to create pal thread if it doesn't
exist for the current thread. It's unnecessary because in this case
there are no hardware exception handlers for such thread.

Also CatchHardwareExceptionHolder::IsEnable is called from signal
handlers and during pal thread creation non-async-signal-safe
function are called.

* vm/threads: change tls model for gCurrentThreadInfo variable

We should use initial-exec tls model to avoid memory allocations
during first access to this variable because it may ocuur in
signal handlers.

* sigsegv_handler: handle case when it is called on original stack

If sigsegv_handler is called on original stack (for example, if segmentation
fault occurs in native application's thread that hasn't alternate signal stack)
we should call common_signal_handler directly othersize sigsegv_handler's
stackframe will be corrupted.

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

6 years agoAdding Argument name to the Exception (dotnet/coreclr#16372)
Anirudh Agnihotry [Wed, 14 Feb 2018 23:54:18 +0000 (15:54 -0800)]
Adding Argument name to the Exception (dotnet/coreclr#16372)

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

6 years ago[RyuJit] Stack level setter (dotnet/coreclr#15597)
Sergey Andreenko [Wed, 14 Feb 2018 23:38:58 +0000 (15:38 -0800)]
[RyuJit] Stack level setter (dotnet/coreclr#15597)

* create a new phase: StackLevelSetter

* add repro

* Fix grammar mistakes

* use the default hash

* delete values from the map.

* create gentree::OperIsPutArgStkOrSplit

* fix more comments

* delete an extra condition that is always true

* use GTSTRUCT_2_SPECIAL for PutArgStk

* extract fgUseThrowHelperBlocks

* optimize memory for amd64 and additional checks for x86

* change checks

The previous version was wrong, because morph can call fgAddCodeRef several times for the same instruction during different phases.

* fix comments

* fix genJumpToThrowHlpBlk

* small ref in genJumpToThrowHlpBlk

* fix rebase problems.

* use fgUseThrowHelperBlocks instead of !opts.compDbgCode

* add throwHelperBlocksUsed for throughput.

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

6 years ago[armel tizen] Fixed dynamic code allocation and code pitching for ARM (dotnet/coreclr...
sergey ignatov [Wed, 14 Feb 2018 22:35:21 +0000 (01:35 +0300)]
[armel tizen] Fixed dynamic code allocation and code pitching for ARM (dotnet/coreclr#16352)

* [armel tizen] Fixed dynamic code allocation for ARM

* Added comment

* Used ThumbCodeToDataPointer

* Changed to PCODEToPINSTR

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

6 years agoMerge pull request dotnet/coreclr#16367 from briansull/vso-566984
Brian Sullivan [Wed, 14 Feb 2018 22:03:27 +0000 (14:03 -0800)]
Merge pull request dotnet/coreclr#16367 from briansull/vso-566984

Fix for CSE - Assertion failed '!"Badly linked tree"'

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

6 years agoMark sharedgenerics test as GCStressIncompatible (dotnet/coreclr#16391)
Michal Strehovský [Wed, 14 Feb 2018 21:04:47 +0000 (22:04 +0100)]
Mark sharedgenerics test as GCStressIncompatible (dotnet/coreclr#16391)

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

6 years agoMerge pull request dotnet/coreclr#16380 from kbaladurin/fix-uaf
Bruce Forstall [Wed, 14 Feb 2018 20:11:49 +0000 (12:11 -0800)]
Merge pull request dotnet/coreclr#16380 from kbaladurin/fix-uaf

Histogram: doesn't allocate additional memory to store counts

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

6 years agoFix the fired asset in CompareInfo.IndexOf (dotnet/coreclr#16373)
Tarek Mahmoud Sayed [Wed, 14 Feb 2018 18:54:14 +0000 (10:54 -0800)]
Fix the fired asset in CompareInfo.IndexOf (dotnet/coreclr#16373)

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

6 years agoImplement WaitHandle.SignalAndWait on Unix (dotnet/coreclr#16383)
Koundinya Veluri [Wed, 14 Feb 2018 18:27:32 +0000 (10:27 -0800)]
Implement WaitHandle.SignalAndWait on Unix (dotnet/coreclr#16383)

Part of fix for https://github.com/dotnet/coreclr/issues/10441

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

6 years agoAdd VSD additional param for DIRECT calls. (dotnet/coreclr#16267)
Sergey Andreenko [Wed, 14 Feb 2018 17:39:21 +0000 (09:39 -0800)]
Add VSD additional param for DIRECT calls. (dotnet/coreclr#16267)

* add a virtualStubParamInfo as an argument

* try to delete duplicates

expect many failures for arm in lower because we delete: // Change the call type, so we can add the extra indirection here, rather than in codegen

* Revert legacy workaround from lower.

* Fix GetNonStandardAddedArgCount

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

6 years agoHistoram: doesn't allocate additional memory to store counts
Konstantin Baladurin [Wed, 14 Feb 2018 07:46:19 +0000 (10:46 +0300)]
Historam: doesn't allocate additional memory to store counts

It allows to remove deallocation in destuctor that can lead to uaf
for static Historgam's objects during shutdown.

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

6 years agoFix for issue dotnet/coreclr#13153 - change SetGCConcurrent to TemporaryDisableConcur...
David Mason [Wed, 14 Feb 2018 10:18:39 +0000 (02:18 -0800)]
Fix for issue dotnet/coreclr#13153 - change SetGCConcurrent to TemporaryDisableConcurrentGC for profiler startup path. (dotnet/coreclr#16314)

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

6 years agoHandle ELEMENT_TYPE_PTR in ILCodeStream::EmitLDIND/EmitSTIND (dotnet/coreclr#16381)
Michal Strehovský [Wed, 14 Feb 2018 10:16:09 +0000 (11:16 +0100)]
Handle ELEMENT_TYPE_PTR in ILCodeStream::EmitLDIND/EmitSTIND (dotnet/coreclr#16381)

Fixes dotnet/coreclr#16371.

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

6 years agoFix ARM/ARM64 hijacking in tail calls (dotnet/coreclr#16039)
Jan Vorlicek [Wed, 14 Feb 2018 09:15:19 +0000 (10:15 +0100)]
Fix ARM/ARM64 hijacking in tail calls (dotnet/coreclr#16039)

* Fix ARM/ARM64 hijacking in tail calls

This change fixes an issue that can happen when a function that has tail
calls is hijacked. There are two potential issues:

1. When a function that tail calls another one is hijacked, the LR may be
stored at a different location in the stack frame of the tail call
target.
So just by performing tail call, the hijacked location becomes invalid and
unhijacking would corrupt stack by writing to that location.

2. There is a small window after the caller pops LR from the stack in its
epilog and before the tail called function pushes LR in its prolog when
the hijacked return address would not be not on the stack and so we would
not be able to unhijack.

The fix is to prevent hijacking of functions that contain tail calls.

* Enable the tailcall hijacking test for ARM64

The test JIT/Methodical/tailcall_v4/hijacking should be passing now on
ARM64.

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

6 years agoAdd ReadOnlySpan string-like StartsWith and EndsWith API with globalization support...
Ahson Khan [Wed, 14 Feb 2018 02:18:46 +0000 (18:18 -0800)]
Add ReadOnlySpan string-like StartsWith and EndsWith API with globalization support (dotnet/coreclr#16223)

* Add ReadOnlySpan string-like StartsWith API with globalization support

* Add ReadOnlySpan string-like EndsWith API with globalization support

* Fix nits from PR feedback.

* Address PR feedback

* Add unsafe keyword in CompareInfo.Unix methods.

* Address PR feedback and fix signature of Interop.Globalization.EndsWith

* Code formatting cleanup as suggested by VS.

* Revert "Code formatting cleanup as suggested by VS."

This reverts commit dotnet/coreclr@20931fbf1ae113c6acaa3a4b2c0789b46d7ab06b.

* Creating Span specific methods and working around use of IsFastSort

* Code cleanup

* Improve performance by avoiding slicing and fix impl bug

* Remove commented out code and revert some calls to FindString

* Updating checks for Unix to mimic what IsFastSort does.

* Add length checks and include IsFastSort check within the loop

* Fix bounds checks to not include 0x80

* Call correct method when StringComparison is IgnoreCase.

* Update exception type in string compare to remain consistent

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

6 years agoFix clang format warnings
Brian Sullivan [Wed, 14 Feb 2018 00:17:43 +0000 (16:17 -0800)]
Fix clang format warnings

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

6 years agoCheck for the very uncommon case where when we are replacing a CSE use
Brian Sullivan [Tue, 13 Feb 2018 23:48:38 +0000 (15:48 -0800)]
Check for the very uncommon case where when we are replacing a CSE use
and it contains a CSE def which itself has persistent side effects.
For such a case we simply abandon the replacement of the CSE use.

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

6 years agoAdd Sse2 scalar hardware intrinsics tests
Jacek Blaszczynski [Tue, 6 Feb 2018 20:24:59 +0000 (21:24 +0100)]
Add Sse2 scalar hardware intrinsics tests

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

6 years agoImplement scalar Sse2 hardware intrinsics
Jacek Blaszczynski [Sat, 27 Jan 2018 21:18:05 +0000 (22:18 +0100)]
Implement scalar Sse2 hardware intrinsics

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

6 years agoFix registry path for ETW argument lookup. (dotnet/coreclr#16347)
Brian Robbins [Tue, 13 Feb 2018 22:34:31 +0000 (14:34 -0800)]
Fix registry path for ETW argument lookup. (dotnet/coreclr#16347)

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

6 years agoMerge pull request dotnet/coreclr#16344 from brunotag/patch-1
Wes Haggard [Tue, 13 Feb 2018 19:16:50 +0000 (11:16 -0800)]
Merge pull request dotnet/coreclr#16344 from brunotag/patch-1

Update UsingYourBuild.md

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

6 years agoMerge pull request dotnet/coreclr#16351 from fiigii/fixcont
Carol Eidt [Tue, 13 Feb 2018 15:42:38 +0000 (07:42 -0800)]
Merge pull request dotnet/coreclr#16351 from fiigii/fixcont

Remove an incorrect assertion in containment analysis

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

6 years agoMerge pull request dotnet/coreclr#15950 from dotnetrt/isafix
Carol Eidt [Tue, 13 Feb 2018 15:34:34 +0000 (07:34 -0800)]
Merge pull request dotnet/coreclr#15950 from dotnetrt/isafix

On all platforms first member of InstructionSet enum is InstructionSet_ILLEGAL

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

6 years agoFix an incorrect assertion in containment analysis
Fei Peng [Tue, 13 Feb 2018 07:42:34 +0000 (23:42 -0800)]
Fix an incorrect assertion in containment analysis

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

6 years agoFix ambiguous interface method error message (dotnet/coreclr#16341)
Michal Strehovský [Tue, 13 Feb 2018 07:19:30 +0000 (08:19 +0100)]
Fix ambiguous interface method error message (dotnet/coreclr#16341)

Fixes dotnet/coreclr#15864.

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

6 years agoDefine type initialization semantics for interface instance methods (dotnet/coreclr...
Michal Strehovský [Tue, 13 Feb 2018 04:08:29 +0000 (05:08 +0100)]
Define type initialization semantics for interface instance methods (dotnet/coreclr#16340)

* Define type initialization semantics for interface instance methods

Accessing an instance method on an interface should trigger non-beforefieldinit class constructors (same as it does for valuetypes).

Fixes dotnet/coreclr#15650.

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

6 years agoImprove perf of DelegateConstruct (dotnet/coreclr#16345)
Andy Ayers [Tue, 13 Feb 2018 03:31:51 +0000 (19:31 -0800)]
Improve perf of DelegateConstruct (dotnet/coreclr#16345)

Remove a range lookup that's no longer needed.

See related issue dotnet/coreclr#12438.

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

6 years agoFix SSE4.1 encoding
Fei Peng [Mon, 12 Feb 2018 21:51:32 +0000 (13:51 -0800)]
Fix SSE4.1 encoding

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

6 years agoImplement SSE4.2 CompareGreaterThan
Fei Peng [Mon, 12 Feb 2018 20:51:31 +0000 (12:51 -0800)]
Implement SSE4.2 CompareGreaterThan

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

6 years agoImplement SSE4.1 CompareEqual
Fei Peng [Mon, 12 Feb 2018 20:50:51 +0000 (12:50 -0800)]
Implement SSE4.1 CompareEqual

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

6 years agoreenable AVX2 compareEqual.Int64
Fei Peng [Mon, 12 Feb 2018 20:49:59 +0000 (12:49 -0800)]
reenable AVX2 compareEqual.Int64

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

6 years agoMerge pull request dotnet/coreclr#16181 from Buyduck/arm-memory-barrier
Bruce Forstall [Tue, 13 Feb 2018 00:26:25 +0000 (16:26 -0800)]
Merge pull request dotnet/coreclr#16181 from Buyduck/arm-memory-barrier

[RyuJIT/arm32] Support GTF_IND_VOLATILE and GTF_BLK_VOLATILE

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

6 years agoMerge pull request dotnet/coreclr#16008 from sdmaclea/PR-ARM64-TEST-SIMD-HWINTRINSIC
Carol Eidt [Mon, 12 Feb 2018 23:00:30 +0000 (15:00 -0800)]
Merge pull request dotnet/coreclr#16008 from sdmaclea/PR-ARM64-TEST-SIMD-HWINTRINSIC

[Arm64] Add Simd HWIntrinsic test

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

6 years agoMerge pull request dotnet/coreclr#16309 from MattGal/eol-some-linuxes
Matt Galbraith [Mon, 12 Feb 2018 20:56:46 +0000 (12:56 -0800)]
Merge pull request dotnet/coreclr#16309 from MattGal/eol-some-linuxes

Remove EOL OSes and add new / missing ones

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

6 years agoUpdate UsingYourBuild.md
Bruno Tagliapietra [Mon, 12 Feb 2018 19:35:22 +0000 (08:35 +1300)]
Update UsingYourBuild.md

Apparently it needs a PlatformTarget to be specified as well when targeting x64 architecture

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

6 years agoJIT: Allow struct promotion in GS frames (dotnet/coreclr#16220)
Andy Ayers [Mon, 12 Feb 2018 19:30:45 +0000 (11:30 -0800)]
JIT: Allow struct promotion in GS frames (dotnet/coreclr#16220)

Enable struct promotion in methods where the jit is also emtting a stack guard.
Not allowing promotion seems like an unnecessary limitation and leads to poor
performance in methods with both Span and stackalloc.

Closes dotnet/coreclr#16197.

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

6 years agoUse DateTime.ToFileTimeUtc to generate serializable DateTime for TraceLogging events...
Brian Robbins [Mon, 12 Feb 2018 19:15:40 +0000 (11:15 -0800)]
Use DateTime.ToFileTimeUtc to generate serializable DateTime for TraceLogging events. (dotnet/coreclr#16317)

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

6 years agoAdd TestInsert
Steve MacLean [Thu, 1 Feb 2018 17:37:30 +0000 (12:37 -0500)]
Add TestInsert

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

6 years agoImprove diagnostics
Steve MacLean [Thu, 8 Feb 2018 17:26:47 +0000 (12:26 -0500)]
Improve diagnostics

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

6 years ago[Arm64] Add Simd HWIntrinsic test
Steve MacLean [Sat, 16 Dec 2017 01:04:06 +0000 (20:04 -0500)]
[Arm64] Add Simd HWIntrinsic test

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

6 years agoJIT: look for escaping byrefs (dotnet/coreclr#16305)
Andy Ayers [Mon, 12 Feb 2018 17:16:53 +0000 (09:16 -0800)]
JIT: look for escaping byrefs (dotnet/coreclr#16305)

If a byref is passed to a call or used in an assign, assume it escapes and
that subsequent dereferences may be made at arbitrary offsets.

This handles cases where a user takes the address of one field of a struct,
then uses that byref that to access other fields or non-field content within
the struct, and the byref formation and use are split across statements or
across caller-callee contexts.

Closes dotnet/coreclr#16210.

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

6 years agoUpdate CoreClr, CoreFx, PgoData to preview2-26212-01, preview2-26212-01, master-20180...
dotnet-maestro-bot [Mon, 12 Feb 2018 12:26:26 +0000 (06:26 -0600)]
Update CoreClr, CoreFx, PgoData to preview2-26212-01, preview2-26212-01, master-20180212-0035, respectively (dotnet/coreclr#16335)

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

6 years agoImprove CMake detection on Windows when not in PATH (dotnet/coreclr#16328)
Jan Kotas [Mon, 12 Feb 2018 07:00:55 +0000 (23:00 -0800)]
Improve CMake detection on Windows when not in PATH (dotnet/coreclr#16328)

Port dotnet/corertdotnet/coreclr#5372

curl https://github.com/dotnet/corert/commit/dotnet/coreclr@b723f90c611a2c79a0921f95c7299ebb7325eb59.patch | git am -p 3 --directory='src/pal/tools/' --reject

In CMake v10.2, the key `hklm:\SOFTWARE\Kitware` returns:

```powershell
    Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Kitware

Name                           Property
----                           --------
CMake                          InstallDir : C:\Program Files\CMake\
```

with no space after `CMake` and property name `InstallDir`,
instead of `'(default)'`.

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

6 years agoFix stack trace population to get proper source/line info for tier 1 methods (dotnet...
Koundinya Veluri [Mon, 12 Feb 2018 00:57:09 +0000 (16:57 -0800)]
Fix stack trace population to get proper source/line info for tier 1 methods (dotnet/coreclr#16302)

Fixes https://github.com/dotnet/coreclr/issues/16224

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

6 years agoUpdate CoreClr, CoreFx to preview2-26211-03, preview2-26211-04, respectively (dotnet...
dotnet-maestro-bot [Sun, 11 Feb 2018 16:34:54 +0000 (10:34 -0600)]
Update CoreClr, CoreFx to preview2-26211-03, preview2-26211-04, respectively (dotnet/coreclr#16327)

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

6 years agoDelete PEFingerPrint.* (dotnet/coreclr#16325)
Jan Kotas [Sun, 11 Feb 2018 16:34:43 +0000 (08:34 -0800)]
Delete PEFingerPrint.* (dotnet/coreclr#16325)

Unnecessary dummy type on CoreCLR

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

6 years agoUpdate BuildTools, CoreClr to preview2-02511-02, preview2-26210-06, respectively...
dotnet-maestro-bot [Sun, 11 Feb 2018 13:07:04 +0000 (07:07 -0600)]
Update BuildTools, CoreClr to preview2-02511-02, preview2-26210-06, respectively (dotnet/coreclr#16324)

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

6 years agoUpdate CoreClr to preview2-26210-04 (dotnet/coreclr#16321)
dotnet-maestro-bot [Sat, 10 Feb 2018 15:27:20 +0000 (09:27 -0600)]
Update CoreClr to preview2-26210-04 (dotnet/coreclr#16321)

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

6 years agoAllow jit internal errors to propagate to user visible exception (dotnet/coreclr...
Andy Ayers [Sat, 10 Feb 2018 11:57:44 +0000 (03:57 -0800)]
Allow jit internal errors to propagate to user visible exception (dotnet/coreclr#16320)

May help users find workarounds for cases where the jits hit some
kind of implementation limit, as in dotnet/coreclr#12480 or dotnet/coreclr#14762.

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

6 years agoUpdate PgoData to master-20180210-0042 (dotnet/coreclr#16319)
dotnet-maestro-bot [Sat, 10 Feb 2018 11:27:03 +0000 (05:27 -0600)]
Update PgoData to master-20180210-0042 (dotnet/coreclr#16319)

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

6 years agoImplement certain simple SIMD intrinsics for AVX/AVX2
Fei Peng [Thu, 8 Feb 2018 23:08:22 +0000 (15:08 -0800)]
Implement certain simple SIMD intrinsics for AVX/AVX2

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

6 years agoAdd AVX/AVX2 templete-drien tests and enable containment tests
Fei Peng [Fri, 9 Feb 2018 10:18:12 +0000 (02:18 -0800)]
Add AVX/AVX2 templete-drien tests and enable containment tests

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

6 years agoAdd new test template
Fei Peng [Thu, 8 Feb 2018 23:05:06 +0000 (15:05 -0800)]
Add new test template

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

6 years agoAdd test cases for some AVX/AVX2 intrinsics
Fei Peng [Thu, 8 Feb 2018 23:03:22 +0000 (15:03 -0800)]
Add test cases for some AVX/AVX2 intrinsics

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

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to preview2-02509-01, preview2-26209...
dotnet-maestro-bot [Sat, 10 Feb 2018 04:58:29 +0000 (22:58 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview2-02509-01, preview2-26209-08, preview2-26210-01, master-20180209-0035, respectively (dotnet/coreclr#16269)

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

6 years agoUpdating emitxarch to check TakesVexPrefix(ins) when adding REX bits.
Tanner Gooding [Fri, 9 Feb 2018 17:12:43 +0000 (09:12 -0800)]
Updating emitxarch to check TakesVexPrefix(ins) when adding REX bits.

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

6 years agoAdd back TraceFormat.Normal to avoid additional newlines from being added
Sung Yoon Whang [Fri, 9 Feb 2018 23:17:07 +0000 (15:17 -0800)]
Add back TraceFormat.Normal to avoid additional newlines from being added

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

6 years agoAddress PR comments
Sung Yoon Whang [Fri, 9 Feb 2018 20:38:28 +0000 (12:38 -0800)]
Address PR comments

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/5816a42c2bd455a77779813994a52ef8936b0270

6 years agoexclude errorSource from call to Environment.FailFast on Unix
Sung Yoon Whang [Fri, 9 Feb 2018 03:28:17 +0000 (19:28 -0800)]
exclude errorSource from call to Environment.FailFast on Unix

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/22669cabb6fd25c37875a98f44e6f46c3123e7d7

6 years agodependancy -> dependency (dotnet/corertdotnet/coreclr#5350)
John Doe [Mon, 5 Feb 2018 22:33:29 +0000 (14:33 -0800)]
dependancy -> dependency (dotnet/corertdotnet/coreclr#5350)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/414e5d09ff22fa25f6981df599b0cdb932378221

6 years agoFix for RETURNTRAP xarch codegen. (dotnet/coreclr#16292)
Eugene Rozenfeld [Fri, 9 Feb 2018 23:45:37 +0000 (15:45 -0800)]
Fix for RETURNTRAP xarch codegen. (dotnet/coreclr#16292)

This fixes a bug that caused an assert in GetSingleTempReg.
In this case we had an an interop call (resulting in RETURNTRAP in its epilog)
when there are live 256 bit values at the callsite.
The bug was that codegen for RETURNTRAP node requested a single temp register
and asserted that there was only one. In this case the set of temp registers
includes floating-point registers that may be needed for saving/restoring the upper
part of 256-bit registers. The fix was for codegen to request a single temp int register.
GetSingleTempReg will assert that there was only one int register in this case.

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

6 years agoFixing up fgValueNumberIntrinsic to use IsMathIntrinsic rather than checking individu...
Tanner Gooding [Fri, 9 Feb 2018 02:05:02 +0000 (18:05 -0800)]
Fixing up fgValueNumberIntrinsic to use IsMathIntrinsic rather than checking individual cases.

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

6 years agoDebugger api to set a breakpoint on offset 0 of all methods (dotnet/coreclr#16303)
David Mason [Fri, 9 Feb 2018 23:06:23 +0000 (15:06 -0800)]
Debugger api to set a breakpoint on offset 0 of all methods (dotnet/coreclr#16303)

* Debugger api to set a breakpoint on offset 0 of all methods

* fix ifdef misplacement in pal cordebug.h

* add IID to cordebug_i.cpp

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

6 years agoMerge pull request dotnet/coreclr#16308 from sdmaclea/PR-JIT.SIMD.VectorUtil.CheckValue
Carol Eidt [Fri, 9 Feb 2018 22:59:54 +0000 (14:59 -0800)]
Merge pull request dotnet/coreclr#16308 from sdmaclea/PR-JIT.SIMD.VectorUtil.CheckValue

Fix JIT.SIMD.VectorUtil.CheckValue<T>

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

6 years agoEOL Removals:
Matt Galbraith [Fri, 9 Feb 2018 21:13:49 +0000 (13:13 -0800)]
EOL Removals:

Fedora 23
RedHat 7.2
Ubuntu 16.10

Additions:
OSX 10.13
Ubuntu.17.10
Ubuntu 18.04
OpenSuse 42.3
SLES 12

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

6 years agoFix JIT.SIMD.VectorUtil.CheckValue<T>
Steve MacLean [Fri, 9 Feb 2018 21:01:05 +0000 (16:01 -0500)]
Fix JIT.SIMD.VectorUtil.CheckValue<T>

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

6 years agoRemove an old JIT64 thread suspend work around (dotnet/coreclr#16304)
Brian Sullivan [Fri, 9 Feb 2018 21:07:51 +0000 (13:07 -0800)]
Remove an old JIT64 thread suspend work around (dotnet/coreclr#16304)

JIT64 isn't ever used for CoreCLR

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

6 years agoFix T[]->ArraySegment cast to return default for null (dotnet/coreclr#16301)
Stephen Toub [Fri, 9 Feb 2018 20:31:22 +0000 (15:31 -0500)]
Fix T[]->ArraySegment cast to return default for null (dotnet/coreclr#16301)

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

6 years agoMerge pull request dotnet/coreclr#16248 from briansull/fix-16065
Brian Sullivan [Fri, 9 Feb 2018 19:15:06 +0000 (11:15 -0800)]
Merge pull request dotnet/coreclr#16248 from briansull/fix-16065

Fixes GitHub Issue 16065

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

6 years agoMerge pull request dotnet/coreclr#16217 from adamsitnik/eventPipeAssert
Adam Sitnik [Fri, 9 Feb 2018 17:51:41 +0000 (18:51 +0100)]
Merge pull request dotnet/coreclr#16217 from adamsitnik/eventPipeAssert

fix the Incorrect EventPipe Assert, fixes dotnet/coreclr#16158

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

6 years agoMerge pull request dotnet/coreclr#16300 from jkotas/revert
Jan Kotas [Fri, 9 Feb 2018 17:45:48 +0000 (09:45 -0800)]
Merge pull request dotnet/coreclr#16300 from jkotas/revert

 Revert "Debugger api to set a breakpoint on offset 0 of all methods"

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

6 years agoRevert "Debugger api to set a breakpoint on offset 0 of all methods (dotnet/coreclr...
Jan Kotas [Fri, 9 Feb 2018 17:40:42 +0000 (09:40 -0800)]
Revert "Debugger api to set a breakpoint on offset 0 of all methods (dotnet/coreclr#15819)"

This reverts commit dotnet/coreclr@3d689d00843618105e735c5647e1cb64e721a333.

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

6 years agoRevert "fix for issue dotnet/coreclr#16289 (dotnet/coreclr#16291)"
Jan Kotas [Fri, 9 Feb 2018 17:40:36 +0000 (09:40 -0800)]
Revert "fix for issue dotnet/coreclr#16289 (dotnet/coreclr#16291)"

This reverts commit dotnet/coreclr@cd3f6e77757729d3d02dfbec4af21cdfe83f5435.

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

6 years agoFix GC reporting for slow tail calls with by-ref-like args (dotnet/coreclr#16264)
Koundinya Veluri [Fri, 9 Feb 2018 16:28:59 +0000 (08:28 -0800)]
Fix GC reporting for slow tail calls with by-ref-like args (dotnet/coreclr#16264)

Fix GC reporting for slow tail calls with by-ref-like args

Fixes https://github.com/dotnet/coreclr/issues/16229:
- Offsets recorded in the GC layout are intended to be offsets from the top of the stack, fixed by calculating the proper offset

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

6 years agoChange compliement to complement
Tanner Gooding [Thu, 8 Feb 2018 15:57:49 +0000 (07:57 -0800)]
Change compliement to complement

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

6 years agoFixing up the emitOutput handling for RR/RRR instructions
Tanner Gooding [Thu, 8 Feb 2018 00:47:04 +0000 (16:47 -0800)]
Fixing up the emitOutput handling for RR/RRR instructions

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

6 years agoEnabling the named intrinsic support on SSE4.1 hardware for Math.Round, Math.Ceiling...
Tanner Gooding [Wed, 7 Feb 2018 04:38:51 +0000 (20:38 -0800)]
Enabling the named intrinsic support on SSE4.1 hardware for Math.Round, Math.Ceiling, and Math.Floor

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

6 years agoUpdating the emitter to more generally handle 4-Byte SSE4 instructions.
Tanner Gooding [Wed, 7 Feb 2018 04:38:24 +0000 (20:38 -0800)]
Updating the emitter to more generally handle 4-Byte SSE4 instructions.

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

6 years agofix for issue dotnet/coreclr#16289 (dotnet/coreclr#16291)
David Mason [Fri, 9 Feb 2018 08:30:02 +0000 (00:30 -0800)]
fix for issue dotnet/coreclr#16289 (dotnet/coreclr#16291)

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

6 years agoMerge pull request dotnet/coreclr#15595 from mikedn/rc-binop
Brian Sullivan [Fri, 9 Feb 2018 01:57:04 +0000 (17:57 -0800)]
Merge pull request dotnet/coreclr#15595 from mikedn/rc-binop

Remove useless RangeCheck::Limit::keArray

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

6 years agoChange corefx test process (dotnet/coreclr#16263)
Bruce Forstall [Fri, 9 Feb 2018 01:00:10 +0000 (17:00 -0800)]
Change corefx test process (dotnet/coreclr#16263)

Instead of using the `/p:CoreCLROverridePath` switch when building
corefx, to bring in coreclr, build corefx normally. This builds
against the coreclr packages that corefx has already been validated
against in the CI, so the build should always work. Then, copy
over our built coreclr bits before testing. This method is expected
to have better behavior in most breaking change scenarios.

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

6 years agoMerge pull request dotnet/coreclr#16281 from alpencolt/clr-extra-args-4-cmake
Wes Haggard [Fri, 9 Feb 2018 00:53:25 +0000 (16:53 -0800)]
Merge pull request dotnet/coreclr#16281 from alpencolt/clr-extra-args-4-cmake

[Unix] Passing extra CMake args

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

6 years agoMerge pull request dotnet/coreclr#16278 from BredPet/fix_cfi_unwind_info
Bruce Forstall [Thu, 8 Feb 2018 23:25:17 +0000 (15:25 -0800)]
Merge pull request dotnet/coreclr#16278 from BredPet/fix_cfi_unwind_info

[RyuJIT/ARM32] Fix crash while generating CFI unwind info

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

6 years agoAdjust expected file size if ZapDisable is true (dotnet/coreclr#16240)
Victor "Nate" Graf [Thu, 8 Feb 2018 23:07:20 +0000 (15:07 -0800)]
Adjust expected file size if ZapDisable is true (dotnet/coreclr#16240)

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

6 years agoMerge pull request dotnet/coreclr#15673 from tannergooding/generatelayout-switch
Jarret Shook [Thu, 8 Feb 2018 22:43:24 +0000 (14:43 -0800)]
Merge pull request dotnet/coreclr#15673 from tannergooding/generatelayout-switch

Updating build.cmd to support 'generatelayout' when 'skiptests' is specified.

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

6 years agoDebugger api to set a breakpoint on offset 0 of all methods (dotnet/coreclr#15819)
David Mason [Thu, 8 Feb 2018 22:35:01 +0000 (14:35 -0800)]
Debugger api to set a breakpoint on offset 0 of all methods (dotnet/coreclr#15819)

* Debugger api to set a breakpoint on offset 0 of all methods

* code review feedback

* more code review feedback

* respect IsIl in CorDbFunctionBreakoint()

* change SIMPLIFYING_ASSERT to SIMPLIFYING_ASSUMPTION_SUCCEEDED for hrs, it outputs a much better diagnostic message

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

6 years agoUpdating runtime version for tests (dotnet/coreclr#16271)
Noah Falk [Thu, 8 Feb 2018 21:59:26 +0000 (13:59 -0800)]
Updating runtime version for tests (dotnet/coreclr#16271)

Change dotnet/coreclr@93ec62347a4e97b920513296eefb27bdacbecfe9 removed Span.NonPortableCast from System.Private.CoreLib.dll requiring tests
to use an updated version of System.Memory.dll that no longer refers to it.

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

6 years agoExplictly initialize EventData.Reserved for System.Private.CoreLib. (dotnet/coreclr...
Brian Robbins [Thu, 8 Feb 2018 21:24:52 +0000 (13:24 -0800)]
Explictly initialize EventData.Reserved for System.Private.CoreLib. (dotnet/coreclr#16283)

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

6 years agoExtra semicolons left at the end of Combine function taking 4 paths. (dotnet/coreclr...
Anirudh Agnihotry [Thu, 8 Feb 2018 21:03:50 +0000 (13:03 -0800)]
Extra semicolons left at the end of Combine function taking 4 paths. (dotnet/coreclr#16284)

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

6 years agoAdd tests for Sse2 memory fence instructions
Jacek Blaszczynski [Wed, 7 Feb 2018 22:29:30 +0000 (23:29 +0100)]
Add tests for Sse2 memory fence instructions

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

6 years agoImplement Sse2 memory fence instructions
Jacek Blaszczynski [Wed, 7 Feb 2018 22:28:38 +0000 (23:28 +0100)]
Implement Sse2 memory fence instructions

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

6 years agoMerge pull request dotnet/coreclr#16268 from CarolEidt/Fix16254
Carol Eidt [Thu, 8 Feb 2018 19:43:00 +0000 (11:43 -0800)]
Merge pull request dotnet/coreclr#16268 from CarolEidt/Fix16254

Check mismatched types for SIMD copy

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

6 years agoMerge pull request dotnet/coreclr#16260 from sdmaclea/PR-ARM64-Remove-SIMD-hacks
Carol Eidt [Thu, 8 Feb 2018 17:35:31 +0000 (09:35 -0800)]
Merge pull request dotnet/coreclr#16260 from sdmaclea/PR-ARM64-Remove-SIMD-hacks

[Arm64] Remove SIMD hacks to get*TypeForStruct

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

6 years ago[Unix] Passing extra CMake args
Alexander Soldatov [Thu, 8 Feb 2018 17:26:59 +0000 (20:26 +0300)]
[Unix] Passing extra CMake args

Added support for compiler and linker additional arguments in CMake.
By using CLR_ADDITIONAL_LINKER_FLAGS and CLR_ADDITIONAL_COMPILER_OPTIONS
it's possible to pass toolchain options without changing Makefile.

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

6 years agoMerge pull request dotnet/coreclr#16279 from BruceForstall/FixArmCorefxAbsolutePaths
Bruce Forstall [Thu, 8 Feb 2018 16:40:00 +0000 (08:40 -0800)]
Merge pull request dotnet/coreclr#16279 from BruceForstall/FixArmCorefxAbsolutePaths

Make paths used by ARM corefx test script absolute

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

6 years agoMake paths used by ARM corefx test script absolute
Bruce Forstall [Thu, 8 Feb 2018 16:31:09 +0000 (08:31 -0800)]
Make paths used by ARM corefx test script absolute

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

6 years agoCleanup redundant stale COR header definition (dotnet/coreclr#16261)
Jan Kotas [Thu, 8 Feb 2018 13:48:59 +0000 (05:48 -0800)]
Cleanup redundant stale COR header definition (dotnet/coreclr#16261)

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

6 years ago[RyuJIT/ARM32] Fix crash while generating CFI unwind info
Petr Bred [Thu, 8 Feb 2018 12:04:44 +0000 (15:04 +0300)]
[RyuJIT/ARM32] Fix crash while generating CFI unwind info

Signed-off-by: Petr Bred <bredpetr@gmail.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/8462d0c8a5c7d0073ee2485354dec646f8c13a7f

6 years agoThrowing IO Related exception only on FileStream.Dispose(disposing:true) (dotnet...
Maryam Ariyan [Thu, 8 Feb 2018 06:55:11 +0000 (01:55 -0500)]
Throwing IO Related exception only on FileStream.Dispose(disposing:true) (dotnet/coreclr#16250)

* Making Unix and Windows FileStream Dispose behavior more consistent and throwing IO related exception only on Dispose(true)

Fixes: dotnet/coreclr#26734

* Commenting out SecurityException, also providing reason

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

6 years agoMake it possible to Reflection.Emit default interface methods (dotnet/coreclr#16257)
Michal Strehovský [Thu, 8 Feb 2018 06:54:39 +0000 (07:54 +0100)]
Make it possible to Reflection.Emit default interface methods (dotnet/coreclr#16257)

Fixes dotnet/coreclr#15648.

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