platform/upstream/dotnet/runtime.git
5 years agoFix for missing GC ref map record on ARM64 for the X8 register (dotnet/coreclr#22309)
Tomáš Rylek [Thu, 31 Jan 2019 19:23:38 +0000 (20:23 +0100)]
Fix for missing GC ref map record on ARM64 for the X8 register (dotnet/coreclr#22309)

GC stress testing revealed a deficiency in GC ref map on ARM64 - we weren't
emitting the entry corresponding to the X8 return buffer address because
a recent refactoring changed its location in the transition block. This change
generalizes transition block by exposing a new function

GetOffsetOfFirstGCRefMapSlot()

that returns the same value as

GetOffsetOfArgumentRegisters()

except on ARM64 where it returns the offset of the X8 register in the
transition block (above the callee-saved registers and 8-byte padding i.e.
at position 13 corresponding to offset 0x68, or
GetOffsetOfArgumentRegisters() - 8).

Thanks

Tomas

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

5 years agoAdd design document for unloadability (dotnet/coreclr#22166)
Jan Vorlicek [Thu, 31 Jan 2019 19:17:11 +0000 (20:17 +0100)]
Add design document for unloadability (dotnet/coreclr#22166)

* Add design document for the unloadability

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

5 years agoReplace Environment.s_macOS with use of PLATFORM_OSX
Stephen Toub [Thu, 31 Jan 2019 14:35:33 +0000 (09:35 -0500)]
Replace Environment.s_macOS with use of PLATFORM_OSX

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

5 years agoAdapt corert to Environment moving from corefx
Stephen Toub [Wed, 30 Jan 2019 17:18:01 +0000 (12:18 -0500)]
Adapt corert to Environment moving from corefx

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

5 years agoStop collecting source line information during a stacktrace for the E… (dotnet/corecl...
Aaron Robinson [Thu, 31 Jan 2019 13:04:43 +0000 (05:04 -0800)]
Stop collecting source line information during a stacktrace for the E… (dotnet/coreclr#22305)

* Stop collecting source line information during a stacktrace for the Exception.Source property.

* Code review feedback

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

5 years agoAdd managed implementation of GetSystemMaxDBCSCharSize (dotnet/coreclr#22290)
Marek Safar [Thu, 31 Jan 2019 06:57:39 +0000 (07:57 +0100)]
Add managed implementation of GetSystemMaxDBCSCharSize (dotnet/coreclr#22290)

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

5 years agoAdd timeoutPerTestCollection and use this to control Helix workitem timeout (dotnet...
Egor Chesakov [Thu, 31 Jan 2019 06:42:49 +0000 (22:42 -0800)]
Add timeoutPerTestCollection and use this to control Helix workitem timeout (dotnet/coreclr#22312)

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

5 years agoUpdate CoreFx, IbcData, PgoData to preview.19080.2, master-20190130.3, master-2019013...
dotnet-maestro-bot [Thu, 31 Jan 2019 05:09:06 +0000 (21:09 -0800)]
Update CoreFx, IbcData, PgoData to preview.19080.2, master-20190130.3, master-20190130.3, respectively (dotnet/coreclr#22310)

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

5 years agoRemove run.exe and config.json (dotnet/coreclr#21608)
Sven Boemer [Thu, 31 Jan 2019 00:24:33 +0000 (16:24 -0800)]
Remove run.exe and config.json (dotnet/coreclr#21608)

This moves us one step away from buildtools and towards arcade.

This replaces run.sh and run.cmd (and all invocations) with "dotnet.sh msbuild" and "msbuild.cmd".
- I'm using these wrapper scripts for now instead of those in eng/common in order to retain the very helpful "Running <command>" output in the build logs.
- I'm using msbuild.cmd instead of dotnet.sh to match the current behavior that uses desktop msbuild on windows, instead of dotnet.

All of the arguments that used to be implicitly generated by run.exe and config.json are now explicit, resulting in longer (but easier to copy+paste) commands. Some of these arguments are likely unnecessary, but in this change my goal is just to match the run.exe behavior. Later, I would like to go through and clean up parameters that don't need to be passed in every invocation. I might also consider moving more of the common arguments out into variables in a later change.

Some of the wrapper scripts now have limited support for parsing "-Argument=Value" style parameters, to support our existing buildpipeline infrastructure, since I thought this was easier to test than changing our buildpipeline definitions. We can remove that parsing logic once we stop using buildpipeline (which has happened at this point).

Some subtle parts of the change:

* Add msbuild.cmd

This simulates the behavior of Tools\msbuild.cmd, which calls desktop msbuild.

* Fix BuildOS processing in package build and publish

Previously, config.json had its own processing that would set
OSName. Instead, we now pass it in explicitly where it's
needed (building packages), or not at all (publishing them).

* Handle "=" in publish-packages.cmd and other scripts

This seems necessary to properly handle the azure access token

* Set __BuildOS in PublishPackages

Required for cases where the build OS isn't detected during the build
such as freebsd.

* Use dotnet msbuild in runtest.py

This prevents us from having to deal with different quote escape
behavior on windows and linux. Previously, arguments like
fileloggerparameters and the logger were given quotes to escape
semicolons in the argument. On unix, this prevented the argument from
being split up by bash. On windows, it seems that the run.cmd/run.exe
tools would prevent the extra quotes from being passed to
msbuild.exe (desktop msbuild would choke on the quotes if they were
passed along).

Unlike desktop msbuild, dotnet msbuild is able to parse the quoted
strings, so we simply psas the quoted arguments directly to it on
windows. We may be able to do the same on unix.

* Fix build-test.sh problem with BuildOS

When copying native files during the unix test build, we rely on
__BuildOS being set. Fixing the import order and always setting
__BuildOS fixes this. We should eventually fix the inconsistent use of
BuildOS vs __BuildOS.

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

5 years agoReverting "Fixing up the UTF8Formatter and some tests to properly handle -0.0" (dotne...
Tanner Gooding [Wed, 30 Jan 2019 23:35:07 +0000 (15:35 -0800)]
Reverting "Fixing up the UTF8Formatter and some tests to properly handle -0.0" (dotnet/coreclr#22300)

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

5 years agoDisable outdated test until it is updated
Russ Keldorph [Wed, 30 Jan 2019 20:55:30 +0000 (12:55 -0800)]
Disable outdated test until it is updated

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

5 years agoUpdate CoreFx, PgoData to preview.19080.1, master-20190130.1, respectively
dotnet-maestro-bot [Wed, 30 Jan 2019 15:14:33 +0000 (07:14 -0800)]
Update CoreFx, PgoData to preview.19080.1, master-20190130.1, respectively

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

5 years agoDisable tests consistently failing in AzDO CI (dotnet/coreclr#22304)
Egor Chesakov [Wed, 30 Jan 2019 22:59:29 +0000 (14:59 -0800)]
Disable tests consistently failing in AzDO CI (dotnet/coreclr#22304)

* JIT\jit64\opt\cse\hugeexpr1 on Linux/arm

Related issue: https://github.com/dotnet/coreclr/issues/22260

* baseservices\threading\interlocked\compareexchange\CompareExchangeTClass
* baseservices\threading\interlocked\compareexchange\CompareExchangeTClass_1

Related issue: https://github.com/dotnet/coreclr/issues/22303

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

5 years agoRemove GTF_ADDR_ONSTACK and IsVarAddr.
Eugene Rozenfeld [Tue, 29 Jan 2019 19:26:49 +0000 (11:26 -0800)]
Remove GTF_ADDR_ONSTACK and IsVarAddr.

IsVarAddr was checking GTF_ADDR_ONSTACK  to determine if
the GT_ADDR node is an address of a local. This change removes both
GTF_ADDR_ONSTACK and  IsVarAddr and uses IsLocalAdrExpr instead.
IsLocalAddrExpr uses opcodes to determine if GT_ADDR node is
a local address.

GTF_ADDR_ONSTACK flag is ancient, added before 2002 so I couldn't find
the checkin that introduced it.

I changed the assert to a check and an assignment since simplifications
inside fgMorphArgs between
https://github.com/dotnet/coreclr/blob/dotnet/coreclr@1a1e4c4d5a8030cb8d82a2e5b06c2ab357b92534/src/jit/morph.cpp#L3709
(which causes https://github.com/dotnet/coreclr/blob/dotnet/coreclr@1a1e4c4d5a8030cb8d82a2e5b06c2ab357b92534/src/jit/morph.cpp#L3057)
and
https://github.com/dotnet/coreclr/blob/dotnet/coreclr@1a1e4c4d5a8030cb8d82a2e5b06c2ab357b92534/src/jit/morph.cpp#L3790
may result in more GT_ADDR nodes recognized by IsLocalAdrExpr.

x86 and x64 pmi frameworks had no code diffs and some gcinfo reductions
(15 methods with gcinfo diffs in x86).

Fixes dotnet/coreclr#22190.

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

5 years agoSwitch CoreLib over to using shared Environment from corefx (dotnet/coreclr#22106)
Stephen Toub [Wed, 30 Jan 2019 21:22:27 +0000 (16:22 -0500)]
Switch CoreLib over to using shared Environment from corefx (dotnet/coreclr#22106)

This requires merging/adapting the implementation with EnvironmentAugments (which goes away completely), the shared files, what corert has, etc.

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

5 years agoFix CorError header file generation (dotnet/coreclr#22294)
Michal Strehovský [Wed, 30 Jan 2019 20:16:13 +0000 (21:16 +0100)]
Fix CorError header file generation (dotnet/coreclr#22294)

The checked in batch script was only usable if you have a Razzle environment and even then it didn't update the right files.

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

5 years agofixed pdf link in dotnet-standards.md (dotnet/coreclr#22292)
Meir Blachman [Wed, 30 Jan 2019 15:44:57 +0000 (17:44 +0200)]
fixed pdf link in dotnet-standards.md (dotnet/coreclr#22292)

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

5 years agoFix namespace of the AmbiguousImplementationException (dotnet/coreclr#22291)
Michal Strehovský [Wed, 30 Jan 2019 12:41:44 +0000 (13:41 +0100)]
Fix namespace of the AmbiguousImplementationException (dotnet/coreclr#22291)

Moving to the namespace that was approved in dotnet/corefxdotnet/coreclr#34124.

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

5 years agoRecover some of the size lost with AsyncMethodBuilder/Task unification (dotnet/corecl...
Michal Strehovský [Tue, 29 Jan 2019 21:38:31 +0000 (22:38 +0100)]
Recover some of the size lost with AsyncMethodBuilder/Task unification (dotnet/coreclr#6913)

When we unified the implementations of these across all of our runtimes, we lost all size optimizations people have been doing on the Project N side over the past six years.

This restores a bit of the loss. For one sample app with lots of async usage, this removes 2.1 MB of generic instantiations.

There is more we can do, but I can't spend time on that right now. These two things jumped out on me when I was looking at it back in December and were an easy fix I wanted to do for a while.

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

5 years agoAdd AmbiguousImplementationException (dotnet/coreclr#22280)
Markus Kitsinger [Wed, 30 Jan 2019 04:57:23 +0000 (22:57 -0600)]
Add AmbiguousImplementationException (dotnet/coreclr#22280)

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

5 years agoDo not cache error string in SerializationException (dotnet/coreclr#22281)
Markus Kitsinger [Wed, 30 Jan 2019 04:56:32 +0000 (22:56 -0600)]
Do not cache error string in SerializationException (dotnet/coreclr#22281)

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

5 years agoRunCrossGen in ReadyToRun tests, set TimeoutPerTest, set FailOnWorkItemFailure (dotne...
Egor Chesakov [Wed, 30 Jan 2019 01:17:18 +0000 (17:17 -0800)]
RunCrossGen in ReadyToRun tests, set TimeoutPerTest, set FailOnWorkItemFailure (dotnet/coreclr#22261)

* For ReadyToRun tests in AzDO set RunCrossGen=true during Helix test running

* Set __TestTimeout and introduce TimeoutPerTestInMinutes for test jobs

* Set FailOnWorkItemFailure - fail the AzDO step on Helix work item "catastrophic failure"

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

5 years agoMove Marshal::StringTo* methods to shared partition (dotnet/coreclr#22266)
Marek Safar [Wed, 30 Jan 2019 00:35:09 +0000 (01:35 +0100)]
Move Marshal::StringTo* methods to shared partition (dotnet/coreclr#22266)

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

5 years agoFixing several of the HWIntrinsic SoftwareFallback functions to be captureless (dotne...
Tanner Gooding [Tue, 29 Jan 2019 21:34:01 +0000 (13:34 -0800)]
Fixing several of the HWIntrinsic SoftwareFallback functions to be captureless (dotnet/coreclr#22263)

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

5 years agoTo support container scenario, 2 HardLimit configs are added - (dotnet/coreclr#22180)
Maoni Stephens [Tue, 29 Jan 2019 21:09:32 +0000 (13:09 -0800)]
To support container scenario, 2 HardLimit configs are added - (dotnet/coreclr#22180)

GCHeapHardLimit - specifies a hard limit for the GC heap
GCHeapHardLimitPercent - specifies a percentage of the physical memory this process is allowed to use

If both are specified, GCHeapHardLimit is checked first and only when it's not specified
would we check GCHeapHardLimitPercent.

If neither is specified but the process is running inside a container with a memory
limit specified, we will take this as the hard limit:

max (20mb, 75% of the memory limit on the container)

If one of the HardLimit configs is specified, and the process is running inside a container
with a memory limit, the GC heap usage will not exceed the HardLimit but the total memory
is still the memory limit on the container so when we calculate the memory load it's based
off the container memory limit.

An example,

process is running inside a container with 200mb limit
user also specified GCHeapHardLimit as 100mb.

if 50mb out of the 100mb is used for GC, and 100mb is used for other things, the memory load
is (50 + 100)/200 = 75%.

Some notes on these configs -

+ The limit is the commit size.

+ This is only supported on 64-bit.

+ For Server GC the minimum *reserved* segment size is 16mb per heap, this is to avoid the
scenario where the hard limit is small but the process can use many procs and we end up
with tiny segments which doesn't make sense. We then keep track of the committed on the segments
so the total does not exceed the hard limit.

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

5 years agoAdd Marshal ansi conversion to shared partition (dotnet/coreclr#22243)
Marek Safar [Tue, 29 Jan 2019 01:16:16 +0000 (02:16 +0100)]
Add Marshal ansi conversion to shared partition (dotnet/coreclr#22243)

* Add Marshal ansi conversion to shared partition

* Ignore bestFit/throwOnUnmappableChar on Unix

* Use same assert in StringToAnsiString

* wideCharLen parameter rename

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

5 years agoFix various fgMorphInitBlock issues (dotnet/coreclr#21820)
mikedn [Mon, 28 Jan 2019 19:38:19 +0000 (21:38 +0200)]
Fix various fgMorphInitBlock issues (dotnet/coreclr#21820)

* Fix various fgMorphInitBlock issues

* Remove unnecessary destAddr variable

* Extend/fix comment headers

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

5 years agoFix finding entry point unwind record for a method with fragmented un… (dotnet/corecl...
Andy Ayers [Mon, 28 Jan 2019 18:45:45 +0000 (10:45 -0800)]
Fix finding entry point unwind record for a method with fragmented un… (dotnet/coreclr#22202)

On Arm and Arm64 unwind records can only cover a limited range of code
(512K and 1MB respectively). So for methods larger than this the jit
will emit multiple "fragment" unwind records to cover the full method code
range. Only the first of these describes the behavior of the method prolog.

When mapping an offset back to a method's entry point unwind, make sure to
find this "root" unwind record instead of one of the internal fragments.

Fixes dotnet/coreclr#19209.

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

5 years agoUpdate PgoData to master-20190128.1 (dotnet/coreclr#22237)
dotnet-maestro-bot [Mon, 28 Jan 2019 14:16:58 +0000 (06:16 -0800)]
Update PgoData to master-20190128.1 (dotnet/coreclr#22237)

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

5 years agostring.EndsWith use SequenceEqual not SequenceCompareTo (dotnet/coreclr#22207)
Ben Adams [Mon, 28 Jan 2019 02:29:19 +0000 (03:29 +0100)]
string.EndsWith use SequenceEqual not SequenceCompareTo (dotnet/coreclr#22207)

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

5 years agoImprove BinaryReader.ReadUInt32() perf by 30% when using MemoryStream (dotnet/coreclr...
TW [Mon, 28 Jan 2019 02:26:53 +0000 (04:26 +0200)]
Improve BinaryReader.ReadUInt32() perf by 30% when using MemoryStream (dotnet/coreclr#22102)

BinaryReader.ReadInt32() has nice optimization which was missing from the ReadUInt32() version. Now both implementations are aligned.

ReadUInt32 and all the 64 bits types are now 30% to 50% faster than original implementation.

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

5 years agoKeep CoreCLR-specific temporary hack under ifdef
Jan Kotas [Sun, 27 Jan 2019 19:48:53 +0000 (11:48 -0800)]
Keep CoreCLR-specific temporary hack under ifdef

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

5 years agoShrink Task.Delay when used without cancellation (dotnet/coreclr#22233)
Ben Adams [Mon, 28 Jan 2019 02:01:22 +0000 (03:01 +0100)]
Shrink Task.Delay when used without cancellation (dotnet/coreclr#22233)

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

5 years agoRemove several uses of VoidTaskResult (dotnet/coreclr#22238)
Stephen Toub [Sun, 27 Jan 2019 19:15:08 +0000 (14:15 -0500)]
Remove several uses of VoidTaskResult  (dotnet/coreclr#22238)

* Remove defunct netstandard code from ValueTask

* Remove several uses of VoidTaskResult

Currently TrySetResult/Canceled/Exception live on `Task<T>`.  There's no reason `TrySetCanceled` and `TrySetException` need to live there, as they only access state from the base `Task`, and so can be moved down.  `TrySetResult` needs the `TResult`, however in a variety of cases `Task<T>` is used with a `VoidTaskResult`, and for such cases we can just have a parameterless `TrySetResult()` on the base class as well, which can be used any time there is no `TResult` or when `default(TResult)` is the desired result.  This lets us switch several cases where we were using `Task<VoidTaskResult>` to just be `Task`, which saves 8 bytes on the task instance on 64-bit.  It also avoids an Interlocked.Exchange as part of the TrySetResult call.

This primarily affects Task.Delay and the non-generic variants of Task.WhenAll, ValueTask.AsTask(), Task.FromCanceled, and Task.FromException.

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

5 years agoMove Timer to shared CoreLib partition. (dotnet/coreclr#22231)
Filip Navara [Sun, 27 Jan 2019 19:12:30 +0000 (20:12 +0100)]
Move Timer to shared CoreLib partition. (dotnet/coreclr#22231)

* Move Timer to shared CoreLib partition.

* Move SignalNoCallbacksRunning back to shared code, add static EventWaitHandle.Set.

* Remove AppDomain references from shared Timer code, reshuffle some code out of SetTimer in non-shared code.

* Change m_ prefix to match code style.

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

5 years agoUpdate PgoData to master-20190126.1 (dotnet/coreclr#22198)
dotnet-maestro-bot [Sun, 27 Jan 2019 04:26:13 +0000 (20:26 -0800)]
Update PgoData to master-20190126.1 (dotnet/coreclr#22198)

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

5 years agoMake ResourceManager use Assembly instead of RuntimeAssembly internally. (dotnet...
Filip Navara [Sun, 27 Jan 2019 04:25:06 +0000 (05:25 +0100)]
Make ResourceManager use Assembly instead of RuntimeAssembly internally. (dotnet/coreclr#21979)

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

5 years agoMove Marshal::ZeroFree* to shared partition (dotnet/coreclr#22230)
Marek Safar [Sun, 27 Jan 2019 01:08:53 +0000 (02:08 +0100)]
Move Marshal::ZeroFree* to shared partition (dotnet/coreclr#22230)

* Move Marshal::ZeroFree* to shared partition

* Add managed version of SysStringByteLen

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

5 years agoCleanup stackoverflow handling leftovers (dotnet/coreclr#22228)
Jan Kotas [Sat, 26 Jan 2019 17:26:16 +0000 (09:26 -0800)]
Cleanup stackoverflow handling leftovers (dotnet/coreclr#22228)

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

5 years agoFactor WinRT GetFolderPath into static accessible via reflection (dotnet/coreclr...
Stephen Toub [Sat, 26 Jan 2019 11:26:35 +0000 (06:26 -0500)]
Factor WinRT GetFolderPath into static accessible via reflection (dotnet/coreclr#34873)

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

5 years agoMove more Marshal methods to shared partition (dotnet/coreclr#22205)
Marek Safar [Sat, 26 Jan 2019 02:32:24 +0000 (03:32 +0100)]
Move more Marshal methods to shared partition (dotnet/coreclr#22205)

* Move more Marshal methods to shared partition

* Implement ThrowExceptionForHR in managed

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

5 years agoSubmit to one Helix queue on pull requests and CI builds. Add CI trigger for master...
Egor Chesakov [Sat, 26 Jan 2019 01:05:33 +0000 (17:05 -0800)]
Submit to one Helix queue on pull requests and CI builds. Add CI trigger for master branch (dotnet/coreclr#22211)

This limits pull request and CI (push) triggered jobs to running only on one *default* Helix queue:

Linux arm32 - Ubuntu.1404.Arm32.Open
Linux arm64 - Ubuntu.1804.Arm64.Open
Linux x64 - Ubuntu.1804.Amd64.Open

Windows_NT x86/x64 - Windows.10.Amd64.Open
Windows_NT arm32/arm64 - we don't run these in AzDO

OSX - OSX.1013.Amd64.Open

Scheduled and manually triggered jobs will use more than one Helix queues for more comprehensive checking.

This enables CI (push) trigger for master branch. During CI build the following scenarios for Pri1 tests are going to run:
- normal
- no_tiered_compilation

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

5 years agoSwitch to dnceng-linux-external-temp pool (dotnet/coreclr#22220)
Egor Chesakov [Sat, 26 Jan 2019 01:02:12 +0000 (17:02 -0800)]
Switch to dnceng-linux-external-temp pool (dotnet/coreclr#22220)

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

5 years agoFix eventsource metadata exception (dotnet/coreclr#21993)
Sung Yoon Whang [Fri, 25 Jan 2019 21:35:37 +0000 (13:35 -0800)]
Fix eventsource metadata exception (dotnet/coreclr#21993)

* Do not throw an exception when we fail to generate metadata for eventsource

* some build failures

* return null directly here

* remove FAILURE_UNSUPPORTED_TYPE

* address PR comments

* address more pr comments

* Fix potential incorrect generation of metadata blob when property metadata generation fails

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

5 years agothis test should not be run under gcstress (dotnet/coreclr#22214)
Sergey Andreenko [Fri, 25 Jan 2019 20:21:09 +0000 (12:21 -0800)]
this test should not be run under gcstress (dotnet/coreclr#22214)

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

5 years agoSkip rangecheck in string.EndsWith(char) (dotnet/coreclr#22206)
Ben Adams [Fri, 25 Jan 2019 19:03:33 +0000 (20:03 +0100)]
Skip rangecheck in string.EndsWith(char) (dotnet/coreclr#22206)

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

5 years agoRemove reflection-based wraper for AssemblyDependencyResolver. (dotnet/coreclr#22195)
Jeremy Koritzinsky [Fri, 25 Jan 2019 16:37:43 +0000 (08:37 -0800)]
Remove reflection-based wraper for AssemblyDependencyResolver. (dotnet/coreclr#22195)

Now that AssemblyDependencyResolver is exposed in CoreFX and has propogated back to CoreCLR, we can remove the reflection-based wrapper for the unit tests for it.

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

5 years agoUse AggressiveOptimization for intrinsics-based SpanHelpers (dotnet/coreclr#22191)
Ben Adams [Fri, 25 Jan 2019 16:17:58 +0000 (17:17 +0100)]
Use AggressiveOptimization for intrinsics-based SpanHelpers (dotnet/coreclr#22191)

* Use AggressiveOptimization for intrinsics-based SpanHelpers

* Remove from LastIndexOfAny

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

5 years agoReduce Task's static ctor dependencies (dotnet/coreclr#22172)
Marek Safar [Fri, 25 Jan 2019 15:58:14 +0000 (16:58 +0100)]
Reduce Task's static ctor dependencies (dotnet/coreclr#22172)

* Reduce Task's static ctor dependencies

* Remove defensive check

* Revert "Remove defensive check"

This reverts commit dotnet/coreclr@df15ab0350e8f44fc5cbb1a18c5211cd1de11989.

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

5 years agoCancel CTS immediately if delay is zero. (dotnet/coreclr#18098)
Elliot Prior [Fri, 25 Jan 2019 13:59:30 +0000 (13:59 +0000)]
Cancel CTS immediately if delay is zero. (dotnet/coreclr#18098)

The intended behaviour on specifying a delay of zero is that the CancellationTokenSource is cancelled immediately - before this change, it would depend on the scheduling of the timer callback which could lead to seeing a non-cancelled token. Now, it marks itself as cancelled immediately, without invoking any callbacks (as this method is called only from within the constructor of the object, before any callbacks could have been registered.

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

5 years agoFixes the desktop build (dotnet/coreclr#22197)
Brian Sullivan [Fri, 25 Jan 2019 11:20:23 +0000 (03:20 -0800)]
Fixes the desktop build (dotnet/coreclr#22197)

* Fixes the desktop build
warning C4311: 'reinterpret_cast': pointer truncation from 'BYTE *' to 'uint32_t'  f:\j6\codegenmirror\src\ndp\clr\src\jit\emit.cpp(5636): warning C4302: 'reinterpret_cast': truncation from 'BYTE *' to 'uint32_t'

* Fix formatting

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

5 years agoSpeedup .SequenceCompareTo(byte, ...) (dotnet/coreclr#22127)
Ben Adams [Fri, 25 Jan 2019 02:48:43 +0000 (03:48 +0100)]
Speedup .SequenceCompareTo(byte, ...) (dotnet/coreclr#22127)

* Speedup .SequenceCompareTo(byte, ...)

* Rename jump location

* Better annotations for clarity

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

5 years agoFix collectible AssemblyLoadContext weak handle (dotnet/coreclr#22193)
Jan Vorlicek [Fri, 25 Jan 2019 01:34:39 +0000 (02:34 +0100)]
Fix collectible AssemblyLoadContext weak handle (dotnet/coreclr#22193)

Native runtime keeps short weak handle for collectible AssemblyLoadContext
until the unload time when it gets converted to a strong one. A test
running with gc stress has recently hit a problem caused by the fact
that the weak handle is "short weak" and thus doesn't track
resurrection. Here is what happened:
* The test code has lost reference to the AssemblyLoadContext
* Finalizer was just invoked on that context due to that and so the weak
  short handle was destroyed.
* Native runtime called AssemblyLoadContext.Resolve with the now dead
  handle, the function tried to get the managed object and failed.

The fix is to change the handle type to long weak so that it doesn't get
destroyed before the finalization.

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

5 years agoUpdating MicrosoftDiagnosticsTracingTraceEventPackageVersion (dotnet/coreclr#22071)
José Rivero [Fri, 25 Jan 2019 01:03:47 +0000 (17:03 -0800)]
Updating MicrosoftDiagnosticsTracingTraceEventPackageVersion (dotnet/coreclr#22071)

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

5 years agoFix argument checks in ThreadPool.RegisterWaitForSingleObject. (dotnet/coreclr#6887...
Dotnet-GitSync-Bot [Fri, 25 Jan 2019 01:02:36 +0000 (17:02 -0800)]
Fix argument checks in ThreadPool.RegisterWaitForSingleObject. (dotnet/coreclr#6887) (dotnet/coreclr#22196)

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

5 years agoRename TplEtwProvider to TplEventSource (dotnet/coreclr#22194)
Jan Kotas [Fri, 25 Jan 2019 01:01:09 +0000 (17:01 -0800)]
Rename TplEtwProvider to TplEventSource (dotnet/coreclr#22194)

* Rename TplEtwProvider to TplEventSource

* Rename etwLog to log

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

5 years agoMove Marshal to shared partition (dotnet/coreclr#22146)
Marek Safar [Fri, 25 Jan 2019 01:00:33 +0000 (02:00 +0100)]
Move Marshal to shared partition (dotnet/coreclr#22146)

* Move Marshal to shared partition

* Moved code optimizations

* Cosmetic changes

* Avoid duplicate arguments checks bys shipping Encoding.UTF8.GetString

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

5 years agoFix SOS GCInfo for Arm/Arm64 (dotnet/coreclr#22188)
Andy Ayers [Fri, 25 Jan 2019 00:18:23 +0000 (16:18 -0800)]
Fix SOS GCInfo for Arm/Arm64 (dotnet/coreclr#22188)

Add missing DECODE_HAS_TAILCALLS flag.

Closes dotnet/coreclr#22163

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

5 years agoFixing some issues with the decimal parser/formatter (dotnet/coreclr#22070)
Tanner Gooding [Thu, 24 Jan 2019 21:58:28 +0000 (13:58 -0800)]
Fixing some issues with the decimal parser/formatter (dotnet/coreclr#22070)

* Fixing the decimal formatting so that -0 prints as 0

* Fixing the decimal parser to consider digits still in the buffer as part of the zero/non-zero tail check

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

5 years agoDisable exception handling on MacOS when DLL like DAC, etc. (dotnet/coreclr#22171)
Mike McLaughlin [Thu, 24 Jan 2019 21:37:47 +0000 (13:37 -0800)]
Disable exception handling on MacOS when DLL like DAC, etc. (dotnet/coreclr#22171)

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

5 years agoMove TaskContinuation to shared partition (dotnet/coreclr#22167)
Marek Safar [Thu, 24 Jan 2019 20:56:41 +0000 (21:56 +0100)]
Move TaskContinuation to shared partition (dotnet/coreclr#22167)

* Move TaskContinuation to shared partition

* Remove TASK_STATE_THREAD_WAS_ABORTED from Task

* Use already existing ThrowAsync

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

5 years agoMerge pull request dotnet/coreclr#14393 from mikedn/float-neg-abs
Carol Eidt [Thu, 24 Jan 2019 20:23:51 +0000 (12:23 -0800)]
Merge pull request dotnet/coreclr#14393 from mikedn/float-neg-abs

Improve `new Vector2/3/4(c1, c2, c3, c4)` codegen

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

5 years agoUpdate SSE2 test
Mike Danes [Thu, 24 Jan 2019 09:28:28 +0000 (11:28 +0200)]
Update SSE2 test

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

5 years agoFix importer spilling in the presence of assignment side effects
Mike Danes [Thu, 13 Sep 2018 19:24:04 +0000 (22:24 +0300)]
Fix importer spilling in the presence of assignment side effects

Atomic ops like GT_CMPXCHG and some HW intrinsic nodes act like assignements so impAppendStmt has to account for them. They can be top level nodes or they can appear in the RHS of a GT_ASG node that perhaps is not considered to have an assignment side effect itself.

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

5 years agoUse .asArray/.asString syntax for scenarios and helixQueues (dotnet/coreclr#22173)
Egor Chesakov [Thu, 24 Jan 2019 18:25:46 +0000 (10:25 -0800)]
Use .asArray/.asString syntax for scenarios and helixQueues (dotnet/coreclr#22173)

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

5 years agoFix test build warning. (dotnet/coreclr#22168)
Eugene Rozenfeld [Thu, 24 Jan 2019 17:26:53 +0000 (09:26 -0800)]
Fix test build warning. (dotnet/coreclr#22168)

I decided to suppress the warning for the test instead of
removing the test for test matrix completeness.

Fixes dotnet/coreclr#21519.

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

5 years agoUpdate PgoData to master-20190124.1 (dotnet/coreclr#22181)
dotnet-maestro-bot [Thu, 24 Jan 2019 17:25:59 +0000 (09:25 -0800)]
Update PgoData to master-20190124.1 (dotnet/coreclr#22181)

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

5 years agoFix UWP VirtualAlloc import (dotnet/corertdotnet/coreclr#6882)
Michal Strehovský [Thu, 24 Jan 2019 15:25:00 +0000 (16:25 +0100)]
Fix UWP VirtualAlloc import (dotnet/corertdotnet/coreclr#6882)

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

5 years agoRemove obsolete thread abortion flags. (dotnet/coreclr#22185)
Filip Navara [Thu, 24 Jan 2019 17:25:33 +0000 (18:25 +0100)]
Remove obsolete thread abortion flags. (dotnet/coreclr#22185)

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

5 years agoDisable PSPSym in filter prolog for CoreRT (dotnet/coreclr#22184)
Andrey Kvochko [Thu, 24 Jan 2019 16:09:34 +0000 (19:09 +0300)]
Disable PSPSym in filter prolog for CoreRT (dotnet/coreclr#22184)

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

5 years agoWork around build failure (dotnet/coreclr#22138)
Koundinya Veluri [Thu, 24 Jan 2019 15:30:31 +0000 (07:30 -0800)]
Work around build failure (dotnet/coreclr#22138)

Fixes https://github.com/dotnet/coreclr/issues/22103
- There were reports of build failure from https://github.com/dotnet/coreclr/pull/21292, worked around it for now with a todo

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

5 years agoIOCompletionCallback moved to shared partition
Jan Kotas [Thu, 24 Jan 2019 06:29:26 +0000 (22:29 -0800)]
IOCompletionCallback moved to shared partition

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

5 years agoMove IOCompletionCallback to shared partition (dotnet/corertdotnet/coreclr#6875)
Marek Safar [Thu, 24 Jan 2019 06:18:48 +0000 (07:18 +0100)]
Move IOCompletionCallback to shared partition (dotnet/corertdotnet/coreclr#6875)

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

5 years agoRemove no-op holder stack validation. (dotnet/coreclr#22182)
Filip Navara [Thu, 24 Jan 2019 12:34:09 +0000 (13:34 +0100)]
Remove no-op holder stack validation. (dotnet/coreclr#22182)

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

5 years agoFix incorrect usage of wcscpy_s/wcscat_s. (dotnet/coreclr#22153)
Filip Navara [Thu, 24 Jan 2019 07:39:36 +0000 (08:39 +0100)]
Fix incorrect usage of wcscpy_s/wcscat_s. (dotnet/coreclr#22153)

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

5 years agoFix accidental assignment inside an assert. (dotnet/coreclr#22148)
Calum Grant [Thu, 24 Jan 2019 07:38:46 +0000 (07:38 +0000)]
Fix accidental assignment inside an assert. (dotnet/coreclr#22148)

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

5 years agoUpdate CoreFx, PgoData to preview.19073.1, master-20190123.4, respectively (dotnet...
dotnet-maestro-bot [Thu, 24 Jan 2019 06:54:32 +0000 (22:54 -0800)]
Update CoreFx, PgoData to preview.19073.1, master-20190123.4, respectively (dotnet/coreclr#22112)

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

5 years agoEnable warnings-as-errors for System.Private.CoreLib (dotnet/coreclr#22164)
Stephen Toub [Thu, 24 Jan 2019 03:47:03 +0000 (22:47 -0500)]
Enable warnings-as-errors for System.Private.CoreLib (dotnet/coreclr#22164)

And disable several NoWarns.

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

5 years agoSpeedup SpanHelpers.IndexOf{Any}(byte, ...) (dotnet/coreclr#22118)
Ben Adams [Thu, 24 Jan 2019 03:33:49 +0000 (04:33 +0100)]
Speedup SpanHelpers.IndexOf{Any}(byte, ...) (dotnet/coreclr#22118)

* Speedup SpanHelpers.IndexOf(byte)

* 128 * 2 alignment

* Move TrailingZeroCountFallback to common SpanHelpers

So it can be used by other types than byte

* Speedup SpanHelpers.IndexOfAny(byte, ...)

* Indent for support flags

* More helpers, constency in local names/formatting, feedback

* Skip bounds check in software fallback

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

5 years agothis test should not be run under gcstress (dotnet/coreclr#22175)
Maoni Stephens [Thu, 24 Jan 2019 03:06:35 +0000 (19:06 -0800)]
this test should not be run under gcstress (dotnet/coreclr#22175)

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

5 years agoImplement IAsyncDisposable.ConfigureAwait (dotnet/coreclr#22160)
Stephen Toub [Thu, 24 Jan 2019 01:51:34 +0000 (20:51 -0500)]
Implement IAsyncDisposable.ConfigureAwait (dotnet/coreclr#22160)

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

5 years agoFix CoreRT build after moving Task.cs to shared partition
Jan Kotas [Wed, 23 Jan 2019 17:52:31 +0000 (09:52 -0800)]
Fix CoreRT build after moving Task.cs to shared partition

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

5 years agoMerge pull request dotnet/coreclr#22003 from adityamandaleeka/writebarrier_updates_arm64
Aditya Mandaleeka [Thu, 24 Jan 2019 01:07:21 +0000 (17:07 -0800)]
Merge pull request dotnet/coreclr#22003 from adityamandaleeka/writebarrier_updates_arm64

Write barrier optimizations for ARM64 Windows

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

5 years agoAdd GC.KeepAlive to keep collectible ALC alive across usage. (dotnet/coreclr#22133)
Jeremy Koritzinsky [Thu, 24 Jan 2019 01:02:09 +0000 (17:02 -0800)]
Add GC.KeepAlive to keep collectible ALC alive across usage. (dotnet/coreclr#22133)

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

5 years agoDisable superpmicollection in r2r jobs until https://github.com/dotnet/coreclr/issues...
Egor Chesakov [Wed, 23 Jan 2019 22:04:12 +0000 (14:04 -0800)]
Disable superpmicollection in r2r jobs until https://github.com/dotnet/coreclr/issues/22027 is fixed (dotnet/coreclr#22085)

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

5 years agoAdd unloadability testing tool (dotnet/coreclr#22064)
Jan Vorlicek [Wed, 23 Jan 2019 21:59:27 +0000 (22:59 +0100)]
Add unloadability testing tool (dotnet/coreclr#22064)

* Add unloadability testing tool

This change adds the unloadability testing tool that can be used to run
coreclr tests or any other .NET core app inside of unloadable
AssemblyLoadContext, unload it after its execution completes and verify
that the unload succeeded. It has also various additional testing
options:
* memory leak testing
* running multiple iterations of the load/run/unload sequence
* optional breaking into debugger at various interesting stages (before
executing the test assembly, after executing it, on unload failure)
* delegated load when the AssemblyLoadContext that loads the test
assembly delegates loading of all the dependencies to another
AssemblyLoadContext

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

5 years agoMove common ThreadPool code to shared CoreLib partition. (dotnet/coreclr#22115)
Filip Navara [Wed, 23 Jan 2019 21:35:11 +0000 (22:35 +0100)]
Move common ThreadPool code to shared CoreLib partition. (dotnet/coreclr#22115)

* Move common ThreadPool code to shared CoreLib partition.

* Move numWorkingThreads counting out of shared code.

* Rename ThreadPoolGlobals.vmTpInitialized to threadPoolInitialized.
Remove exception handling from ThreadPoolWorkQueue.Dispatch.
Remove obsolete code from ThreadPoolWorkQueue.Dispatch.
Rename ThreadPool.EnsureVMInitialized to ThreadPool.EnsureInitialized.

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

5 years agoRemove all traces of FEATURE_STACK_PROBE. (dotnet/coreclr#22149)
Filip Navara [Wed, 23 Jan 2019 21:13:01 +0000 (22:13 +0100)]
Remove all traces of FEATURE_STACK_PROBE. (dotnet/coreclr#22149)

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

5 years agoUpdate parameter names in PInvoke signatures to match MSDN documentation.
Filip Navara [Tue, 22 Jan 2019 17:14:53 +0000 (18:14 +0100)]
Update parameter names in PInvoke signatures to match MSDN documentation.

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

5 years agoBuild fixes.
Filip Navara [Tue, 22 Jan 2019 13:25:08 +0000 (14:25 +0100)]
Build fixes.

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

5 years agoFix possibly unintentional use of bit-wise or operator. (dotnet/coreclr#22152)
Filip Navara [Wed, 23 Jan 2019 20:47:47 +0000 (21:47 +0100)]
Fix possibly unintentional use of bit-wise or operator. (dotnet/coreclr#22152)

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

5 years agoRemove obsolete LEGACY_BACKEND ifdef
Mike Danes [Wed, 23 Jan 2019 20:44:29 +0000 (22:44 +0200)]
Remove obsolete LEGACY_BACKEND ifdef

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

5 years agoDisable OSX.1012.Amd64.Open in Azure DevOps (dotnet/coreclr#22158)
Egor Chesakov [Wed, 23 Jan 2019 20:29:35 +0000 (12:29 -0800)]
Disable OSX.1012.Amd64.Open in Azure DevOps (dotnet/coreclr#22158)

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

5 years agoFix R2R failure in one of ObjectStackAllocation tests.
Eugene Rozenfeld [Sat, 19 Jan 2019 00:15:32 +0000 (16:15 -0800)]
Fix R2R failure in one of ObjectStackAllocation tests.

AllocateSimpleClassAndCheckTypeNoHelper fails because
the object is allocated on the heap in R2R mode. The reason for that is
that we always use a helper for isinst in R2R mode and helper calls
cause us to assume the object escapes.

We don't have to use a helper in this case (even for R2R), dotnet/coreclr#22086 tracks
fixing that.

For now the fix is not to check that the object was allocated on the stack
in this test case.

Fixes dotnet/coreclr#22026.

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

5 years agoFix for JIT\Directed\arglist\vararg test case.
Eugene Rozenfeld [Wed, 23 Jan 2019 00:47:33 +0000 (16:47 -0800)]
Fix for JIT\Directed\arglist\vararg test case.

TestEchoShortNoVararg was failing and disabled. The reason it was
failing was a mismatch between DllImport declaration for echo_short and
the native function: the former specified 2-byte arg and return while
the latter specified 1-byte arg and return. I fixed that and also added
a couple of test cases with 1-byte arg and 2-byte return and
vice versa.

Fixes dotnet/coreclr#19704.

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

5 years agoDon't redirect stdlib wchar functions to our test platform shims. (dotnet/coreclr...
Jeremy Koritzinsky [Wed, 23 Jan 2019 18:34:54 +0000 (10:34 -0800)]
Don't redirect stdlib wchar functions to our test platform shims. (dotnet/coreclr#22072)

* Don't redirect stdlib wchar functions to our test platform shims.

* Fix bad find-replaces.

* Remove unused overload and last wchar shadowing.

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

5 years agoMerge pull request dotnet/coreclr#22053 from BruceForstall/FixSimd12StoreLclFld
Bruce Forstall [Wed, 23 Jan 2019 18:12:30 +0000 (10:12 -0800)]
Merge pull request dotnet/coreclr#22053 from BruceForstall/FixSimd12StoreLclFld

Fix SIMD12 GT_STORE_LCL_FLD

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

5 years agoRemove variable name duplication (dotnet/coreclr#22155)
alexk000 [Wed, 23 Jan 2019 17:36:20 +0000 (12:36 -0500)]
Remove variable name duplication (dotnet/coreclr#22155)

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

5 years agoRemove unused thread abortion methods. (dotnet/coreclr#22147)
Filip Navara [Wed, 23 Jan 2019 17:35:31 +0000 (18:35 +0100)]
Remove unused thread abortion methods. (dotnet/coreclr#22147)

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

5 years agoMove Task to shared partition (dotnet/coreclr#22105)
Marek Safar [Wed, 23 Jan 2019 16:44:56 +0000 (17:44 +0100)]
Move Task to shared partition (dotnet/coreclr#22105)

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