Konstantin Baladurin [Tue, 30 Jan 2018 14:05:57 +0000 (17:05 +0300)]
ThrowExceptionFromContextInternal, RtlCaptureContext: fix for asan (dotnet/coreclr#16074)
- Save arguments on stack before calling __asan_handle_no_return in
ThrowExceptionFromContextInternal
- Fix saving arguments on stack before calling __asan_handle_no_return
in RtlCaptureContext for arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
b039a4c266b3d64549c4a809b7ea28a69b600358
Jan Kotas [Tue, 30 Jan 2018 09:11:03 +0000 (01:11 -0800)]
Cleanup + Small TimeZoneInfo optimization for Unix (dotnet/corertdotnet/coreclr#5314)
* Delete non-shared TimeZoneInfo.cs
* Delete duplicate resource
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ab27c46cfca8b2a751316d82ea864267d1fcda4
Michal Strehovský [Tue, 30 Jan 2018 12:52:20 +0000 (13:52 +0100)]
Default interface methods test fixes (dotnet/coreclr#15995)
* The diamondshape test should work now that dotnet/coreclr#15979 and dotnet/coreclr#15978 are merged.
* Create debug and retail version of diamondshape and sharedgenerics tests so that we have retail coverage. These tests hit issues around devirtualization (that is only active when RyuJIT is optimizing).
* Add license headers
Commit migrated from https://github.com/dotnet/coreclr/commit/
7afffa2715b07114991e10620a34308edb9a9c6d
Koundinya Veluri [Tue, 30 Jan 2018 03:08:02 +0000 (19:08 -0800)]
Prevent compiler optimization that could cause local var values to change in multithreaded environments, in some places (dotnet/coreclr#16089)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2f14b350960af0354608c041d7df501c44dc5640
Brian Robbins [Tue, 30 Jan 2018 02:49:51 +0000 (18:49 -0800)]
Add ActivityId Support to EventPipe (dotnet/coreclr#16055)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6555bd3a1f6e6de0604e3065b4040c3a6ac1e44e
Brian Robbins [Tue, 30 Jan 2018 00:57:01 +0000 (16:57 -0800)]
EventPipe: Don't Generate and Emit Stacks on Rundown (dotnet/coreclr#16083)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad7c1e85fa95a92d5cc58b93b6ca9e2b77ec86b6
Tanner Gooding [Tue, 30 Jan 2018 00:05:10 +0000 (16:05 -0800)]
Merge pull request dotnet/coreclr#16066 from tannergooding/sse-intrinsics
Adding basic codegen support for the SSE Store intrinsics.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f83908c15be840101772c68d87eb3d41ab2faf6f
Jan Kotas [Mon, 29 Jan 2018 23:22:01 +0000 (15:22 -0800)]
Move TimeZoneInfo.Unix.cs to shared CoreLib partition (dotnet/coreclr#16057)
- Refactored internal version of System.IO.File to be similar to full corefx version
- Cleaned up some Unix PAL APIs that are no longer used
Contributes to dotnet/corertdotnet/coreclr#5248
Commit migrated from https://github.com/dotnet/coreclr/commit/
b29f6328510207970763580d6f4db864e4b198af
Maryam Ariyan [Mon, 29 Jan 2018 22:35:21 +0000 (17:35 -0500)]
EnsureCapacty(0) should return zero as capacity for a non initialized Dictionary rather than doing initialization. (dotnet/coreclr#16076)
Issue is: dotnet/corefxdotnet/coreclr#24445
Commit migrated from https://github.com/dotnet/coreclr/commit/
b02961001f1978437f7bd5ba7c6d9a2c3da3c088
Carol Eidt [Mon, 29 Jan 2018 21:57:57 +0000 (13:57 -0800)]
Merge pull request dotnet/coreclr#16077 from mikedn/smalltype
Use genTypeCanRepresentValue only with small types
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d8f5da892f89a50a55715fb59ca73abfa13ee90
Stephen Toub [Mon, 29 Jan 2018 17:01:12 +0000 (12:01 -0500)]
Use corelib-shared ValueStringBuilder
Use the shared version, delete the copy.
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
7221733d04c7205a538792cded158bd0ed0218cb
Andy Ayers [Mon, 29 Jan 2018 20:36:38 +0000 (12:36 -0800)]
JIT: don't overlook strong nearby preference in LSRA (dotnet/coreclr#16028)
When allocating an interval, LSRA will look at related intervals
for preference hints.
LSRA may look past a related interval I1 to its related interval
I2 if I1 looks like a simple copy. But if I1 has been previously
allocated then it seems we are often better served using I1's
preferences instead of using I2's.
Addresses some issues seen in dotnet/coreclr#11390.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3dd2610f0c6963b16ca27843942398271de7760
Tom Deseyn [Mon, 29 Jan 2018 20:11:10 +0000 (21:11 +0100)]
Perform PhysicalMemoryLimit check for workstation GC, refactor GetLargestOnDieCacheSize into GetCacheSizePerLogicalCpu (dotnet/coreclr#15975)
* refactor: combine GetLargestOnDieCacheSize and GetLogicalCpuCount in GetCacheSizePerLogicalCpu
* Perform PhysicalMemoryLimit check also for workstation GC
Commit migrated from https://github.com/dotnet/coreclr/commit/
cb73944d6d159bd02adc29f0588b97f0f76da1a1
dotnet-maestro-bot [Mon, 29 Jan 2018 18:33:32 +0000 (12:33 -0600)]
Update CoreClr to preview2-26129-05 (dotnet/coreclr#16073)
Commit migrated from https://github.com/dotnet/coreclr/commit/
850a5bea5b8c317250f7f7ef85152d92468382b0
Jingyu Ma [Mon, 29 Jan 2018 17:13:31 +0000 (01:13 +0800)]
Added Grisu3 algorithm support for double.ToString(). (dotnet/coreclr#14646)
* Added Grisu3 algorithm support for double.ToString().
- Implemented Grisu3 algorithm.
- When calling double.ToString(), try Grisu3 first, if it fails, fall back to Dragon4.
Fix dotnet/coreclr#14478
* Added comments. Fixed a minor bug.
* Optimized the performance in DigitGen.
* Added shortcut for numbers without fraction.
* Updated according to the review comments.
Added more comments. Changed the value of D_1_LOG2_10
Commit migrated from https://github.com/dotnet/coreclr/commit/
5bfd3c197d81c66dd07eb4d11aec99df2299c02e
Carol Eidt [Mon, 29 Jan 2018 17:06:45 +0000 (09:06 -0800)]
Merge pull request dotnet/coreclr#15833 from sdmaclea/PR-ARM64-INITIAL-INTRINSIC-FRAMEWORK
[Arm64] Initial HW intrinsic framework
Commit migrated from https://github.com/dotnet/coreclr/commit/
19c4e7b170097f6c19419e0d19ad4bebccda9b8d
Victor "Nate" Graf [Mon, 29 Jan 2018 16:50:36 +0000 (08:50 -0800)]
Disable broken EventPipe tests at build time (dotnet/coreclr#16046)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb76d3110be315d3a39c0db8ffe8d6f820e456d1
Ben Adams [Mon, 29 Jan 2018 16:44:18 +0000 (16:44 +0000)]
Use EventSource guid ctor for ArrayPoolEventSource (dotnet/coreclr#16054)
* Use EventSource guid ctor for ArrayPoolEventSource
* missing e
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f39bc825c149d0e463d2e9fd00bccd86d096b4d
Ben Adams [Mon, 29 Jan 2018 16:43:09 +0000 (16:43 +0000)]
Use Guid ctor for TplEtwProvider (dotnet/coreclr#16060)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f3e829324721c3ee24703a4afe426a9dbd52501
Michal Strehovský [Mon, 29 Jan 2018 16:37:27 +0000 (17:37 +0100)]
Fix reflection to work with default interface methods (dotnet/coreclr#16034)
Fixes dotnet/coreclr#15645.
Fixes dotnet/coreclr#15644.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0be894732e08aec5265f7e4e93d2ca8c70e3c945
Mike Danes [Mon, 29 Jan 2018 16:31:36 +0000 (18:31 +0200)]
Use genTypeCanRepresentValue only with small types
It's not needed and it's problematic to make it work for other types. In the JIT constant values are represented using `ssize_t` and you can't distinguish between `-1` and `UINT64_MAX`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
498c08bea39d9ab8edf243dc38524334aff6cc89
Tom Deseyn [Mon, 29 Jan 2018 15:51:27 +0000 (16:51 +0100)]
improve DllImport library name variation trying (dotnet/coreclr#15912)
* dllimport: refactor libname variation code
* Change order of libname variations depending on suffix presence
* make MAX_LIBNAME_VARIATIONS static
* PR feedback
* Fix non PAL build
Commit migrated from https://github.com/dotnet/coreclr/commit/
616fdb208aaff0f81e5ef0de189728795532de25
dotnet-maestro-bot [Mon, 29 Jan 2018 13:27:21 +0000 (07:27 -0600)]
Update PgoData to master-
20180129-0045 (dotnet/coreclr#16070)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a4b517347408be122e58c97f0cd7824d2fcf11e
Jan Kotas [Mon, 29 Jan 2018 06:01:47 +0000 (22:01 -0800)]
Fix ProjectN build break (dotnet/corertdotnet/coreclr#5302)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3c80aa0b9f1504c819fe94e17e180ce2ec14c0e
Jan Kotas [Mon, 29 Jan 2018 13:21:44 +0000 (05:21 -0800)]
Fix metadata format error checking (dotnet/coreclr#16036)
NextStream_Verify can return NULL for invalid file. Report error for it instead of AVing.
Similar check is around the other calls to NextStream_Verify. It was missing here for some reason.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ae2754314ac8281dad2e1b28aa0e23566d2f4edd
dotnet-maestro-bot [Mon, 29 Jan 2018 04:21:11 +0000 (22:21 -0600)]
Update CoreClr to preview2-26129-01 (dotnet/coreclr#16067)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7c1f82bf588cfe6fc3c5a9147f1acbfd42614b5
Tanner Gooding [Sun, 28 Jan 2018 19:38:03 +0000 (11:38 -0800)]
Marking SSE HWIntrinsics as fully implemented
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f98b9ddc723d3ef7c9eb332b2bc7bed173c8fbd
Tanner Gooding [Sun, 28 Jan 2018 19:37:31 +0000 (11:37 -0800)]
Adding tests for the SSE Store, StoreAligned, StoreAlignedNonTemporal, StoreHigh, StoreLow, and StoreScalar intrinsics
Commit migrated from https://github.com/dotnet/coreclr/commit/
82b57bf4ed1db41bbb7628a1b5280acc641f9903
Tanner Gooding [Sun, 28 Jan 2018 19:37:12 +0000 (11:37 -0800)]
Adding support for the SSE Store, StoreAligned, StoreAlignedNonTemporal, StoreHigh, StoreLow, and StoreScalar intrinsics
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd436eed8a1a34ba8b8901d68f4b4a470b9670a6
mikedn [Sun, 28 Jan 2018 18:58:58 +0000 (20:58 +0200)]
Improve Interlocked.Exchange<T> (dotnet/coreclr#16058)
Replace TypedReference with Unsafe.As, it generates far less code and, with the help of AggresiveInlining, it allows Exchange<T> to inline.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3562c9bcc92ec04eec97cf1a945e7ea6d5234d2
dotnet-maestro-bot [Sun, 28 Jan 2018 15:29:17 +0000 (09:29 -0600)]
Update CoreClr, PgoData to preview2-26128-04, master-
20180128-0035, respectively (dotnet/coreclr#16059)
Commit migrated from https://github.com/dotnet/coreclr/commit/
256b05fae0d8e7a95235212064463b2ebbcc8f0f
dotnet-maestro-bot [Sun, 28 Jan 2018 02:39:56 +0000 (20:39 -0600)]
Update CoreClr to preview2-26128-01 (dotnet/coreclr#16056)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3089174314375a96d4bd2e2fa9ee6cab5fd6d68a
Tanner Gooding [Sun, 28 Jan 2018 00:02:12 +0000 (16:02 -0800)]
Merge pull request dotnet/coreclr#15961 from tannergooding/struct-packing
Updates `Vector64<T>`, `Vector128<T>`, and `Vector256<T>` to have the appropriate packing.
Commit migrated from https://github.com/dotnet/coreclr/commit/
85e77b9fc00be3d93c9d7b335af0a4300b469ec2
Tanner Gooding [Fri, 26 Jan 2018 02:42:54 +0000 (18:42 -0800)]
Moving the SetIsIntrinsic code earlier in the method table builder.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6b0164a9c94e8bc566914697a87db6b4267788e5
Tanner Gooding [Mon, 22 Jan 2018 08:26:21 +0000 (00:26 -0800)]
Updating the Vector64, Vector128, and Vector256 StructPacking tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b20623ef37cd64a44313465110256cabf97d627e
Tanner Gooding [Mon, 22 Jan 2018 03:35:47 +0000 (19:35 -0800)]
Updating the VM to properly pack the SIMD hardware intrinsic types.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab4f699cef72204b96919447a3c5ca7034fcf567
Tanner Gooding [Mon, 22 Jan 2018 00:06:00 +0000 (16:06 -0800)]
Updating the methodtablebuilder to handle the System V ABI packing requirements for i386
Commit migrated from https://github.com/dotnet/coreclr/commit/
7121570db6f356277647ebaa6d2185da489403e5
Tanner Gooding [Mon, 22 Jan 2018 01:12:28 +0000 (17:12 -0800)]
Adding some StructPacking tests to ensure existing types don't regress
Commit migrated from https://github.com/dotnet/coreclr/commit/
1ad63ccad774377063eea4892c504d7ca3bf84ea
dotnet-maestro-bot [Sat, 27 Jan 2018 19:32:55 +0000 (13:32 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02427-01, preview2-26127-04, preview2-26127-04, master-
20180127-0046, respectively (dotnet/coreclr#15992)
Commit migrated from https://github.com/dotnet/coreclr/commit/
55ecf559944f686dcdc5530c076813d49f2940a9
Levi Broderick [Sat, 27 Jan 2018 06:35:46 +0000 (22:35 -0800)]
Optimize Span.Copy and Span.TryCopyTo (dotnet/coreclr#15947)
* Introduce a ref-based version of Buffer.Memmove
* Remove pinning logic from Span.CopyTo
* Tweak flow graph of Span.CopyTo / TryCopyTo in order to encourage better codegen
* Push some uncommon logic (one-element buffers, perfectly overlapping buffers) down to Memmove
Commit migrated from https://github.com/dotnet/coreclr/commit/
e07292d009d47a4920c19c669796b6893b307ec4
Koundinya Veluri [Sat, 27 Jan 2018 03:39:51 +0000 (19:39 -0800)]
Fix some tests under GCStress (dotnet/coreclr#16048)
- Disabled one test, it takes far too long under GCStress
- For another, added a second call to WaitForPendingFinalizers() to ensure correspondence with a GC.Collect() call
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6577abdb65713ee02ed2382b618be86177c7634
Eugene Rozenfeld [Sat, 27 Jan 2018 01:06:07 +0000 (17:06 -0800)]
Fix side effect flags setting after expression cloning. (dotnet/coreclr#16045)
Side effect flags need to be recomputed after cloning
an expression, since cloning may involve some simplifications
(e.g., replacing a local with a const).
I also did some minor refactoring and renaming of the side-effect-updating helpers
and made one of them more robust by checking whether a child is null before accessing
its flags.
This fixes VSO 543054 where this problem was encountered in a PMI ARM32 JitStress=2 run.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7000d7988d065ed7d5817c1612111b54e9eaf6fb
David Mason [Sat, 27 Jan 2018 00:05:44 +0000 (16:05 -0800)]
GCPrivate, GCHandle, and GChandlePrivate events for local GC (dotnet/coreclr#16020)
* first event changed
* rest of the private events
* whitespace fixes
Commit migrated from https://github.com/dotnet/coreclr/commit/
951222555cbc4155f171180bee78da7631f03b20
Steve MacLean [Tue, 19 Dec 2017 22:15:22 +0000 (17:15 -0500)]
[Arm64] Initial HWIntrinsic implementation
Commit migrated from https://github.com/dotnet/coreclr/commit/
27173f52888ad1318f30e01d3a12ab1f8f4267cb
Conrad Meyer [Fri, 26 Jan 2018 21:31:21 +0000 (13:31 -0800)]
Fix FreeBSD build and update build instructions (dotnet/coreclr#15998)
Move test code include in global CMakeLists before PAL runtime includes to
avoid conflicts between PAL and system headers.
(ForeignThreadExceptionsNative.cpp -> thread -> functional -> memory ->
cassert -> pal rt "assert.h".) Drop no longer needed remove_definitions
lines -- they're only set by the clrdefinitions.cmake include later in
the file.
Update build instructions to include needed components (ninja,
lttng-ust, python27).
Add missing ElfW() definition when libunwind does not define it.
FreeBSD alloca() is defined in stdlib.h, so include that instead of
alloca.h on FreeBSD.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8fef83569d8b39b7d8a634579d75b091980d9e9
Jarret Shook [Fri, 26 Jan 2018 18:52:20 +0000 (10:52 -0800)]
Merge pull request dotnet/coreclr#16035 from jashook/use_checked_centos
Use centOS Checked jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
d08b5fd08ea73bebe4acd1af842ef8f212429944
jashook [Fri, 26 Jan 2018 17:08:43 +0000 (09:08 -0800)]
Use centOS Checked jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
30f58523c1bed3049ed0f1b4f27aa851dd706408
David Mason [Fri, 26 Jan 2018 07:41:29 +0000 (23:41 -0800)]
fix pointer in ILCodeVersionNode so it uses PTR_COR_ILMETHOD instead of COR_IL_METHOD *, which was causing a crash in the DAC (dotnet/coreclr#16003)
Commit migrated from https://github.com/dotnet/coreclr/commit/
cb250bf00d10417b57559c86560a76975574b247
Brian Robbins [Fri, 26 Jan 2018 04:29:23 +0000 (20:29 -0800)]
Create the concept of EventPipeSession and refactor EventPipe to use it. Also expose COMPlus configuration variables to support session configuration and output file path. (dotnet/coreclr#16018)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a118b0571d8ae8bd34c275d02294fa19251345b6
Brian Robbins [Fri, 26 Jan 2018 04:28:48 +0000 (20:28 -0800)]
Fix Windows-Specific EventPipe Bugs (dotnet/coreclr#16025)
* Modify IsEnabled macros used on Windows.
* Fix arithmetic error due to order of operations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c5695fb05c62f42b969cc33119399e6c8fcf04e
Sean Gillespie [Fri, 26 Jan 2018 02:17:57 +0000 (18:17 -0800)]
[Local GC] FEATURE_EVENT_TRACE 3/n: Defining and Firing Dynamic Events (dotnet/coreclr#16000)
Commit migrated from https://github.com/dotnet/coreclr/commit/
145cfe19f9e4f3e8a84b75a3048fe98fffb59a68
Eugene Rozenfeld [Fri, 26 Jan 2018 01:45:10 +0000 (17:45 -0800)]
Compute System.Private.CoreLib roots required by the runtime. (dotnet/coreclr#15525)
Embed the result as a System.Private.CoreLib.dll xml resource
for consumption by ILLink.
Update mscorlib.h to make several dependencies explicit.
The actual msbuild task lives in the linker repo:
https://github.com/mono/linker/blob/master/corebuild/integration/ILLink.Tasks/CreateRuntimeRootDescriptorFile.cs
Commit migrated from https://github.com/dotnet/coreclr/commit/
b7398b0d827248e1eacce251a764feb8bd11d198
Konstantin Baladurin [Thu, 25 Jan 2018 22:19:19 +0000 (01:19 +0300)]
Fix asan false-positive errors: (dotnet/coreclr#15563)
- Call __asan_handle_no_return in RtlRestoreContext if it doesn't return
and in ThrowExceptionFromContextInternal function;
- Increase alternate signal stack size and use it also for asan.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9639f454de21775ab1031471c2acb64738b77c95
Koundinya Veluri [Thu, 25 Jan 2018 20:01:32 +0000 (12:01 -0800)]
Enable tiered jitting for R2R methods (dotnet/coreclr#15967)
Enable tiered jitting for R2R methods
- Included R2R methods and generics over value types in CoreLib for tiered jitting. Tier 0 for R2R methods is the precompiled code if available, and tier 1 is selectively scheduled based on call counting.
- Added a delay before starting to count calls for tier 1 promotion. The delay is a short duration after frequent tier 0 jitting stops (current heuristic for identifying startup).
- Startup time and steady-state performance have improved on JitBench. There is a regression shortly following startup due to call counting and tier 1 jitting, for a short duration before steady-state performance stabilizes.
- Added two new config values, one for configuring the call count threshold for promoting to tier 1, and another for specifying the delay from the last tier 0 JIT invocation before starting to count calls
Commit migrated from https://github.com/dotnet/coreclr/commit/
209415618ca5d1a5d1d9e39ca78d643d0935534e
Russ Keldorph [Thu, 25 Jan 2018 00:52:29 +0000 (16:52 -0800)]
Revert "Add environment variable (COMPlus_EnableDiagnostics) to disable debugging and profiling. (dotnet/coreclr#15878)"
This reverts commit dotnet/coreclr@
5bcfde404803f85451cf0ee9fd6406734cb878ff.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e9985126acb0f1efd7c780faac4e66bc798b73c0
William Godbe [Thu, 25 Jan 2018 18:23:01 +0000 (10:23 -0800)]
Add GetLoadLibrary function for PAL & use in TrackErrorCode (dotnet/coreclr#15831)
* Add GetLoadLibrary function for PAL & use in TrackErrorCode
* Finish changes to dllimport.cpp
* Fix unix build errors
* fix windows issues
* Address feedback
* Fix return type
* Address feedback
* Fix return type
* Fix usage of LPCWSTR
* Use shared library string
* Append message strings
* Fix append
* Append newline
* Fix spelling
* Modify error messages
* Resolve conflicts
* Add mac message & stop appending all exceptions
* Fix another error message
* Fix NoName Error
* Add newline to .h file
Commit migrated from https://github.com/dotnet/coreclr/commit/
e5a17bac5f0fd0b0137be7c8cf23391adc59958f
Ben Adams [Thu, 25 Jan 2018 17:56:36 +0000 (17:56 +0000)]
Resolve iterators and async methods (dotnet/coreclr#14655)
Allows a developer to determine *correct* overload called for *async* and *iterators*, from a stacktrace.
Matches the compiler generated containing `Type` to the source method using:
`method.DeclaringType == StateMachineAttribute.StateMachineType` attribute to allow the stack trace to resolve the mangled method name to the correct overload. Also appends the statemachine method name with `+` for iterators.
Resolves: dotnet/corefxdotnet/coreclr#24627
Commit migrated from https://github.com/dotnet/coreclr/commit/
8dfd31f3297203578a9915676805cfaeb64da813
Jarret Shook [Thu, 25 Jan 2018 17:34:12 +0000 (09:34 -0800)]
Merge pull request dotnet/coreclr#16017 from jashook/fix_inner_loop_centos_test
Correctly allow buildOnly jobs for release x64
Commit migrated from https://github.com/dotnet/coreclr/commit/
aa80a5330935a06a40de03d7ebb8e9c703c7f743
jashook [Thu, 25 Jan 2018 17:15:08 +0000 (09:15 -0800)]
Correctly allow buildOnly jobs for release x64
Commit migrated from https://github.com/dotnet/coreclr/commit/
80c2330d3cd43bd35b323588322fb374907594b5
Carol Eidt [Thu, 25 Jan 2018 16:08:27 +0000 (08:08 -0800)]
Merge pull request dotnet/coreclr#16005 from CarolEidt/Fix15848
Disable FP to Unsigned Vector Conversions
Commit migrated from https://github.com/dotnet/coreclr/commit/
18051286fdea9f1643bab06f0e9829c313e84b2c
nietras [Thu, 25 Jan 2018 14:20:10 +0000 (15:20 +0100)]
Minor bug fix for Array.Sort: Replace keys.Length with length for FloorLog2PlusOne (dotnet/coreclr#16002)
* replace keys.Length with length for FloorLog2PlusOne
* fix non-generic sort
Commit migrated from https://github.com/dotnet/coreclr/commit/
b19809113b632dadff6de1410c5c125220ff7f26
Konstantin Baladurin [Thu, 25 Jan 2018 10:31:32 +0000 (13:31 +0300)]
[x86/Linux] Fix HelperMethodFrame::UpdateRegDisplay (dotnet/coreclr#15993)
For DAC after initialization MachState using InsureInit method,
register pointers are NULL so we cannot use them to restore register
values.
Commit migrated from https://github.com/dotnet/coreclr/commit/
949b94eabd74f2632c220b03f998a802032d2b82
Carol Eidt [Thu, 25 Jan 2018 05:36:02 +0000 (21:36 -0800)]
Disable the ConvertToUInt intrinsics by removing them from simdintrinsiclist.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
074fcc1f538add8b83c95f40471932bd7294c7fe
Jarret Shook [Thu, 25 Jan 2018 05:24:02 +0000 (21:24 -0800)]
Merge pull request dotnet/coreclr#15813 from jashook/inner_loop_fixes
Add innerloop tag for pri0 jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
85dcf21fdafc2234d705a462c751b8409c9ea9c5
jashook [Wed, 10 Jan 2018 17:52:23 +0000 (09:52 -0800)]
Add innerloop tag for pri0 jobs
Everything that is not innerloop will run priority 1.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c36909bb20a4ce862c0582e942f5299208f69a80
Carol Eidt [Wed, 24 Jan 2018 23:41:06 +0000 (15:41 -0800)]
Disable FP to Unsigned Vector Conversions
The specific failure in dotnet/coreclr#15848 was due to a problem with the AVX encoding of the pinsrw instruction that was exposed when AVX is enabled but AVX2 is not. The code generator generates the (SSE2) 2-operand form, but this is an instruction that needs to be encoded with the dst duplicated when using AVX encodings. So it needs to be added to `IsDstDstSrcAVXInstruction()`.
Investigating this (and adding additional test coverage) revealed that conversions to FP were not implemented correctly for out-of-range values, and providing the same behavior as scalar conversion is complex and costly, with unknown benefit, as this is not expected to be a common scenario. So, don't recognize these as intrinsics (revert to the IL implementation).
Also, fix the test to cover more cases.
Fix 15848
Commit migrated from https://github.com/dotnet/coreclr/commit/
cce50e957ebab2843ac87c541bf02f82a178a642
Michelle McDaniel [Wed, 24 Jan 2018 22:01:10 +0000 (14:01 -0800)]
Fix syntax error in illink groovy (dotnet/coreclr#15999)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac71e176017d59026c762937022549f8e2fa5b5f
Sergey Andreenko [Wed, 24 Jan 2018 21:19:09 +0000 (13:19 -0800)]
Delete Ptr typedefs from jit src. (dotnet/coreclr#15983)
* delete fgArgInfoPtr
* delete treeLstPtr
* delete treeStmtLstPtr
* delete fgArgTabEntryPtr
* delete BasicBlockPtr
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e2e45c7f89f73a1d434f4e5568bb882cf96075f
Mike McLaughlin [Wed, 24 Jan 2018 20:31:44 +0000 (12:31 -0800)]
Add "CLRJitAttachState" global export from coreclr.dll that contains the CLR_DEBUGGING_PROCESS_FLAGS for VS. (dotnet/coreclr#15973)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7b551b61bbf1a681fee67ae63dea022ad00d778d
Michal Strehovský [Wed, 24 Jan 2018 16:00:14 +0000 (17:00 +0100)]
Reflection-block some types in CoreLib (dotnet/corertdotnet/coreclr#5286)
This saves 50 kB on a hello world app.
This is using the existing ReflectionBlocked attribute to manually block public types that get otherwise blocked by the IL2IL toolchain in Project N. These types are public within the repo, but should be considered private implementation details everywhere else.
Wrote a small tool that would let me identify these: https://gist.github.com/MichalStrehovsky/
e2ddec899d3e0db6eba95bf68694b40e. There is more.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b947ca3059da9416168b39bebb2717433ffd4d3
Sean Gillespie [Wed, 24 Jan 2018 18:04:56 +0000 (10:04 -0800)]
[Local GC] FEATURE_EVENT_TRACE 2/n: Scaffolding for emitting known events (dotnet/coreclr#15957)
* [Local GC] FEATURE_EVENT_TRACE 2/n: Scaffolding for porting known events to callbacks on GCToEEInterface
* Code review feedback: remove `descriptor` system for known events and instead use the gcevents xmacro to generate calls to `GCEventStatus::IsEnabled` with known constants
* Remove more event descriptor code
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3f12666c822d8b4db8a9ca051618b6dc2420c68
Carol Eidt [Wed, 24 Jan 2018 16:09:11 +0000 (08:09 -0800)]
Merge pull request dotnet/coreclr#15980 from CarolEidt/Fix15932
Adjust minRegs for SELECT stress modes
Commit migrated from https://github.com/dotnet/coreclr/commit/
a7c961023062ed7d02aa187a0a7a9230ed9b2c5e
Jan Kotas [Wed, 24 Jan 2018 03:56:42 +0000 (19:56 -0800)]
Delete dead code (dotnet/coreclr#15990)
Commit migrated from https://github.com/dotnet/coreclr/commit/
35da2c8a07d7aef8bd4c874b81241bab52af83ce
dotnet-maestro-bot [Wed, 24 Jan 2018 03:56:24 +0000 (21:56 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02423-02, preview2-26124-01, preview2-26124-02, master-
20180123-0043, respectively (dotnet/coreclr#15976)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ab0b05bea586102c397cb78f1bac2087eab7b19
Bruce Forstall [Wed, 24 Jan 2018 03:51:43 +0000 (19:51 -0800)]
Merge pull request dotnet/coreclr#15949 from mikedn/shift-inconsistency
Fix 64 bit shift inconsistencies (on 32 bit targets)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c2c36eca826aba5616110a2090d95a64ddca19cb
Sean Gillespie [Wed, 24 Jan 2018 02:53:30 +0000 (18:53 -0800)]
[Local GC] FEATURE_EVENT_TRACE 1/n: Tracking Event State (dotnet/coreclr#15873)
* [Local GC] FEATURE_EVENT_TRACE 1/n: Add infrastructure for keeping event state within the GC and plumbing to communicate event state changes
* Code review feedback: use a load without a barrier in IsEnabled and put debug-only code under TRACE_GC_EVENT_STATE
* Address code review feedback: add EventPipe callback and comments
* Fix the non-FEATURE_PAL build
* Fix an issue where the GC fails to react to ETW callbacks to occur before the GC is initialized (e.g. on startup when an ETW session is already active)
* Simplify callback locking scheme
* Add a separate callback for each EventPipe provider and funnel them all through a common handler
* Fix non-FEATURE_PAL build
Commit migrated from https://github.com/dotnet/coreclr/commit/
facdc8b97f73973fb416ed13e4b9dd9a255864bf
Levi Broderick [Wed, 24 Jan 2018 01:00:47 +0000 (17:00 -0800)]
Add Unsafe.IsAddressGreaterThan / IsAddressLessThan (dotnet/coreclr#15988)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0bafdbc71e5a3efe6b6df0cbcf5aee5081a3e4c8
Michal Strehovský [Wed, 24 Jan 2018 00:11:31 +0000 (01:11 +0100)]
Catch ambiguous interface method resolution exceptions (dotnet/coreclr#15978)
Default interface methods might end up being ambiguous. This thows an exception we need to catch.
Commit migrated from https://github.com/dotnet/coreclr/commit/
007fa5528ba3aee5bbb6c4397cc576a5cd88f8b0
Michal Strehovský [Wed, 24 Jan 2018 00:10:52 +0000 (01:10 +0100)]
Do not devirtualize shared default interface methods (dotnet/coreclr#15979)
The result of the devirtualization for a method on a generic type should be an instantiating stub, but this doesn't seem to work right.
Fixing that is a perf issue (that can be triaged/punted - dotnet/coreclr#15977). This commit is a correctness fix to avoid bad codegen for that case.
Resolves dotnet/coreclr#15591.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3211c255a54b2956b345ba85e7be371548264e7a
Wes Haggard [Tue, 23 Jan 2018 20:27:53 +0000 (12:27 -0800)]
Merge pull request dotnet/coreclr#15984 from dagood/remove-conversion/master
Never attempt Portable PDB conversion
Commit migrated from https://github.com/dotnet/coreclr/commit/
2dbcd446269df79a49bfb3e1222fccdb22db27ef
Davis Goodin [Tue, 23 Jan 2018 20:10:49 +0000 (14:10 -0600)]
Never attempt Portable PDB conversion
The inline script detected whether the branch name contained "release/" and ran a different target. That target tries to convert Portable PDBs into Windows PDBs, which currently hits errors in CoreCLR.
Remove this logic from CoreCLR: it is no longer necessary because orchestrated builds will have a post-build symbol publish step.
Commit migrated from https://github.com/dotnet/coreclr/commit/
72a731e270f8d123131f7463d7372f38144c19a3
Carol Eidt [Tue, 23 Jan 2018 15:48:49 +0000 (07:48 -0800)]
Adjust minRegs for SELECT stress modes
My recent refactoring to put all the `minRegCandidateCount` computation in one place failed to take into account that the `LSRA_SELECT` stress modes can also overly constrain the number of registers. Therefore, it needs to be applied only after the `minRegCandidateCount` has been computed. This may in turn cause new conflicts between the def and use of a tree temp, so factor out the code that checks for that.
Fix dotnet/coreclr#15932
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb7b29717a46977e536364ca2f7a960493daa4c6
Michelle McDaniel [Tue, 23 Jan 2018 16:30:28 +0000 (08:30 -0800)]
Remove hardcoded paths in linkbench scripts (dotnet/coreclr#15939)
* Remove hardcoded paths in linkbench scripts
Linkbench has hardcoded paths based off of VS140COMNTOOLS, which not all
machines will have (ie, machines with only VS2017 installed). This
change removes the hardcoded paths, and replaces them with checks to
make sure the tool is on the path (which they will be if we are in a VS
environment of any kind - which we would have been in if
VS140COMNTOOLS was already set).
Commit migrated from https://github.com/dotnet/coreclr/commit/
62a90aa7e52363ca56e79713443ee0b6232184d8
dotnet-maestro-bot [Tue, 23 Jan 2018 06:32:01 +0000 (00:32 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02422-01, preview2-26123-01, preview2-26123-01, master-
20180122-0034, respectively (dotnet/coreclr#15882)
Commit migrated from https://github.com/dotnet/coreclr/commit/
71f783ce59ccf7576f0415bd79e4ce967c19bb97
Ian Hays [Tue, 23 Jan 2018 03:07:15 +0000 (19:07 -0800)]
Misc Span/Memory changes (dotnet/coreclr#15941)
* Misc Span/Memory additions
- Add MemoryMarshal.CreateSpan to replace DangerousCreate
- Add MemoryMarshal.CreateReadOnlySpan to replace DangerousCreate
- Add MemoryMarshal.Cast to replace NonPortableCast
- Add ToString override to Span and ReadOnlySpan
- Add ToEnumerable function to MemoryMarshal that takes a ReadOnlyMemory
Commit migrated from https://github.com/dotnet/coreclr/commit/
c69e8148e42d581ceec9fd3d8ef8d65706b14235
Victor "Nate" Graf [Tue, 23 Jan 2018 02:53:06 +0000 (18:53 -0800)]
Disable EventPipe tests which fair in stress runs (dotnet/coreclr#15972)
Disable EventPipe tests which fair in stress runs
Addresses: dotnet/coreclr#15924
Follow-up: dotnet/coreclr#15927
Commit migrated from https://github.com/dotnet/coreclr/commit/
d69118807bff88c48ace28d4befa2c41bf4e7766
Ahson Khan [Mon, 22 Jan 2018 21:57:11 +0000 (13:57 -0800)]
Rename Pin offset to byteOffset and clean up Retain test (dotnet/coreclr#26518)
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ef7735b14da25aa7e5b2c2a0c34c06fa868b209
danmosemsft [Mon, 22 Jan 2018 19:38:54 +0000 (11:38 -0800)]
Remove .NET limit on env var name and value length
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
88066c546d826b00f361e91df9f9591fce549a2c
Wes Haggard [Mon, 22 Jan 2018 21:58:41 +0000 (13:58 -0800)]
Merge pull request dotnet/coreclr#15966 from weshaggard/MoveTo21Preview2
Move from preview1 to preview2 in master branches
Commit migrated from https://github.com/dotnet/coreclr/commit/
376fe3b645be95c905d24cdcbba44a731c70ce90
Jan Kotas [Mon, 22 Jan 2018 21:30:20 +0000 (13:30 -0800)]
Move TimeZoneInfo.Win32.cs to shared CoreLib partition (dotnet/coreclr#15953)
Reconcile deltas with CoreRT and refactor interop to follow coding conventions
Commit migrated from https://github.com/dotnet/coreclr/commit/
db81f5ec3cadb33eea9595ed102810825737acd4
Wes Haggard [Mon, 22 Jan 2018 19:39:44 +0000 (11:39 -0800)]
Move from preview1 to preview2 in master branches
preview1 will be produced from the release/2.1 branch
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4f7c7b8853c83c2dd937a5055d02dcb7816b65f
Bruce Forstall [Mon, 22 Jan 2018 19:11:30 +0000 (11:11 -0800)]
Merge pull request dotnet/coreclr#15944 from BruceForstall/CorefxTestUseCorrectVersion
For corefx testing, use a matching corefx repo version git hash
Commit migrated from https://github.com/dotnet/coreclr/commit/
256d12a38d9846ffb3ab859a5de360d94f276ba1
Tanner Gooding [Mon, 22 Jan 2018 17:46:22 +0000 (09:46 -0800)]
Merge pull request dotnet/coreclr#15942 from tannergooding/no-multireg-simd
Updating the VM to no longer treat the SIMD HWIntrinsic types as HFA or MultiReg structs
Commit migrated from https://github.com/dotnet/coreclr/commit/
ecfe848cf1edb218f9b635e41693eae43fd076b6
Jan Kotas [Mon, 22 Jan 2018 07:06:53 +0000 (23:06 -0800)]
Fix Windows ARM release build break (dotnet/coreclr#15958)
Commit migrated from https://github.com/dotnet/coreclr/commit/
821be4bc919e4bad06d6ffa18781ab8c34f4e95c
Jarret Shook [Mon, 22 Jan 2018 06:25:35 +0000 (22:25 -0800)]
Merge pull request dotnet/coreclr#15959 from jashook/remove_arm_pr_trigger
Turn off arm pr trigger
Commit migrated from https://github.com/dotnet/coreclr/commit/
b193c9eabbe56143f254bddab4a3c541f2c5ea08
jashook [Mon, 22 Jan 2018 06:15:44 +0000 (22:15 -0800)]
Turn off arm pr trigger
Commit migrated from https://github.com/dotnet/coreclr/commit/
b16e4ca7785a27a0b05318b1f1ec66590b5682f4
Tanner Gooding [Sat, 20 Jan 2018 18:23:52 +0000 (10:23 -0800)]
Stop the SIMD hardware intrinsics types from undergoing crossgen.
Commit migrated from https://github.com/dotnet/coreclr/commit/
441487910f9b183bb41deffe9476cd87c1c2ba6b
antofik [Mon, 22 Jan 2018 02:03:51 +0000 (05:03 +0300)]
Remove AppDomainLeaks configuration option (dotnet/coreclr#15956)
Removed all usages of AppDomainLeaks configuration option and
CHECK_APP_DOMAIN_LEAKS feature
Fix dotnet/coreclr#12094
Commit migrated from https://github.com/dotnet/coreclr/commit/
59714b683f40fac869050ca08acc5503e84dc776
Jan Kotas [Sun, 21 Jan 2018 07:52:02 +0000 (23:52 -0800)]
Rename Libraries.GlobalizationInterop to Libraries.GlobalizationNative
Consistency with CoreFX and coding conventions.
Also delete a few other pieces of unused code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3bd16103e76fbad8de7a37cb37f6a6f74ce46dfd
Jan Kotas [Sun, 21 Jan 2018 02:18:07 +0000 (18:18 -0800)]
Define Interop.Kernel32.MAX_PATH (dotnet/coreclr#15952)
* Define Interop.Kernel32.MAX_PATH
For consistency with CoreFX and coding conventions.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1ea580bab8adc060a88c87e29790b8fa7d91c098