platform/upstream/dotnet/runtime.git
5 years agoJIT: don't optimize struct copies for call args in debug or minopts (dotnet/coreclr...
Andy Ayers [Fri, 4 Jan 2019 19:05:43 +0000 (11:05 -0800)]
JIT: don't optimize struct copies for call args in debug or minopts (dotnet/coreclr#21792)

The jit will opportunistically optimize away copies for some struct call
arguments, if that argument is a "last use" for the struct (and some other
conditions apply).

In cases like dotnet/coreclr#21544 this leads to confusing debug experiences as inputs
to a call appear to be modified by the call.

Also we really should not be optimizing the code this way in debug or in
minopts codegen modes. So, block this optimization for debug and minopts.

Closes dotnet/coreclr#21544.

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

5 years agoFix Windows arm32/arm64 testing (dotnet/coreclr#21809)
Bruce Forstall [Fri, 4 Jan 2019 19:03:25 +0000 (11:03 -0800)]
Fix Windows arm32/arm64 testing (dotnet/coreclr#21809)

* Fix Windows arm32/arm64 testing

After the conversion to runtest.py, we were not getting any
JIT or GC stress mode testing:
1. The generated test env batch file didn't have a ".bat" extension,
so Windows wouldn't execute it.
2. The Python generated temp file was locked, so couldn't be read.

Added more logging.

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

5 years agoSpecify value of __RuntimeId for non-portable Linux test builds in build-test.sh...
Egor Chesakov [Fri, 4 Jan 2019 18:44:00 +0000 (10:44 -0800)]
Specify value of __RuntimeId for non-portable Linux test builds in build-test.sh (dotnet/coreclr#21777)

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

5 years agoAdd StringExtensions.Concat to fix Microsoft.IO.Redist assembly
Stephen Toub [Fri, 4 Jan 2019 02:26:46 +0000 (21:26 -0500)]
Add StringExtensions.Concat to fix Microsoft.IO.Redist assembly

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

5 years agoEventPipePayloadDecoder clean-up (dotnet/coreclr#21716)
Pent Ploompuu [Fri, 4 Jan 2019 15:07:46 +0000 (17:07 +0200)]
EventPipePayloadDecoder clean-up (dotnet/coreclr#21716)

* Remove ReadUnalignedGuid

* Make EventPipePayloadDecoder unconditionally little-endian

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

5 years agoRemoves AppDomain dependency from TPLETWProvider (dotnet/coreclr#21709)
Marek Safar [Fri, 4 Jan 2019 15:06:00 +0000 (16:06 +0100)]
Removes AppDomain dependency from TPLETWProvider (dotnet/coreclr#21709)

which always returns 1, to make code sharing easier

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

5 years agoSkip additional cast from common EC.Run calls (dotnet/coreclr#21789)
Ben Adams [Fri, 4 Jan 2019 14:52:21 +0000 (15:52 +0100)]
Skip additional cast from common EC.Run calls (dotnet/coreclr#21789)

* Skip additional cast from common EC.Run calls

* Unsafe.As

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

5 years agoReflection performance tweaks & cleanup (dotnet/coreclr#21737)
Jan Kotas [Fri, 4 Jan 2019 09:05:49 +0000 (23:05 -1000)]
Reflection performance tweaks & cleanup (dotnet/coreclr#21737)

- Delete internal "Unsafe" field getters/setters. They performance was very close (within 10%) of the regular getters/setters.
- Made a few performance tweaks in reflection to make reflection faster overall. The regular field getters/setters are faster than what the unsafe ones used to be with this change.

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

5 years agoUse ValueStringBuilder instead of StringBuilderCache in PathInternal.Windows.cs
Stephen Toub [Thu, 3 Jan 2019 16:34:52 +0000 (11:34 -0500)]
Use ValueStringBuilder instead of StringBuilderCache in PathInternal.Windows.cs

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

5 years agoAdd test for StringBuilder null terminator implementation detail (dotnet/coreclr...
Jeremy Koritzinsky [Fri, 4 Jan 2019 05:35:53 +0000 (21:35 -0800)]
Add test for StringBuilder null terminator implementation detail (dotnet/coreclr#21800)

* Remove some commented out code.

* Add test verifying that we put a null terminator 2-past the end of the native buffer allocated for a StringBuilder.

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

5 years agoMerge pull request dotnet/coreclr#21803 from BruceForstall/FixTypo
Bruce Forstall [Fri, 4 Jan 2019 05:12:50 +0000 (21:12 -0800)]
Merge pull request dotnet/coreclr#21803 from BruceForstall/FixTypo

Fix batch script errors running JitOptimizationSensitive tests

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

5 years agoFix batch script errors running JitOptimizationSensitive tests
Bruce Forstall [Fri, 4 Jan 2019 03:11:47 +0000 (19:11 -0800)]
Fix batch script errors running JitOptimizationSensitive tests

Simple typo: REN instead of REM, leading to:

"The syntax of the command is incorrect."

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

5 years agoUse Kernel32 instead of api-ms-win-core-* in DllImports in SafeFileHandle.cs
Egor Chesakov [Thu, 3 Jan 2019 20:13:13 +0000 (12:13 -0800)]
Use Kernel32 instead of api-ms-win-core-* in DllImports in SafeFileHandle.cs

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

5 years agoEliminate some bounds checks in Path (dotnet/coreclr#21721)
Egor Bogatov [Fri, 4 Jan 2019 01:34:39 +0000 (04:34 +0300)]
Eliminate some bounds checks in Path (dotnet/coreclr#21721)

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

5 years agoAdds portable version of EncodingTable (dotnet/coreclr#21735)
Marek Safar [Fri, 4 Jan 2019 01:34:03 +0000 (02:34 +0100)]
Adds portable version of EncodingTable (dotnet/coreclr#21735)

* Adds portable version of EncodingTable

Most of the implementation is extracted from CoreRT

* Use string comparer directly

* Remove no longer used COMNlsInfo

* Adds localization support

* Removes FeatureCoreFxGlobalization configuration

* Remove redudant encodings look up from GetEncoding

* Keep Hashtable for nameToCodePage as it does not lock on read

* Replace locked dictionary lookup with short switch

* Include comment with msbuild task link used to generate the data file

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

5 years agoMerge pull request dotnet/coreclr#21619 from CarolEidt/FixDesktopSIMD
Carol Eidt [Fri, 4 Jan 2019 00:28:47 +0000 (16:28 -0800)]
Merge pull request dotnet/coreclr#21619 from CarolEidt/FixDesktopSIMD

Fix desktop SIMD failures

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

5 years agoMerge pull request dotnet/coreclr#21776 from fiigii/fixAs
Carol Eidt [Thu, 3 Jan 2019 22:52:01 +0000 (14:52 -0800)]
Merge pull request dotnet/coreclr#21776 from fiigii/fixAs

Fix Vector128/256 As<U> intrinsic recognition and exception

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

5 years agoImprove performance of Path.ChangeExtension (dotnet/coreclr#21766)
Stephen Toub [Thu, 3 Jan 2019 21:34:56 +0000 (16:34 -0500)]
Improve performance of Path.ChangeExtension (dotnet/coreclr#21766)

In the common case where it need to replace a non-empty extension with a non-empty extension, it currently incurs a substring without the original extension prior to then concatenating with the new extension.  This PR avoids that.

(As the Path implementation is in corelib, this uses string.FastAllocateString and then formats into it with a span; if we wanted to avoid that, string.Create could also be used.)

* Add internal String.Concat overloads for spans

* Use span-based string.Concat overloads in several places

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

5 years agoMerge pull request dotnet/coreclr#21774 from hoyosjs/juhoyosa/event_size
Juan Hoyos [Thu, 3 Jan 2019 21:14:23 +0000 (13:14 -0800)]
Merge pull request dotnet/coreclr#21774 from hoyosjs/juhoyosa/event_size

Add payload size case for GC events

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

5 years agoFix Vector128/256 As<U> intrinsic recognition and exception
Fei Peng [Thu, 3 Jan 2019 20:55:35 +0000 (12:55 -0800)]
Fix Vector128/256 As<U> intrinsic recognition and exception

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

5 years agoFix GC for collectible array of pure value types (dotnet/coreclr#21782)
Jan Vorlicek [Thu, 3 Jan 2019 20:20:59 +0000 (21:20 +0100)]
Fix GC for collectible array of pure value types (dotnet/coreclr#21782)

For collectible arrays, we enter the mark_object_simple1 method even if
the array contains no pointers so that the reference to LoaderAllocator
can be walked. But we were missing skipping the call to go_through_object
which is both not necessary and it also doesn't work correctly for
objects without pointers (the loop over the fields reports the first 8
bytes of each array element as if it was a pointer).
The fix is to skip the call to go_through_object for objects without
pointers in the mark_object_simple1 and background_mark_simple1.

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

5 years agoReduce allocation in Index/Range.ToString (dotnet/coreclr#21755)
Stephen Toub [Thu, 3 Jan 2019 20:07:57 +0000 (15:07 -0500)]
Reduce allocation in Index/Range.ToString (dotnet/coreclr#21755)

* Reduce allocation in Index/Range.ToString

* Address PR feedback

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

5 years agoRemove vc-runtime package dependency (dotnet/coreclr#21643)
Egor Chesakov [Thu, 3 Jan 2019 18:06:22 +0000 (10:06 -0800)]
Remove vc-runtime package dependency (dotnet/coreclr#21643)

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

5 years agoBring Debug CRT DLLs when build IJW tests (dotnet/coreclr#21699)
Egor Chesakov [Thu, 3 Jan 2019 17:28:33 +0000 (09:28 -0800)]
Bring Debug CRT DLLs when build IJW tests (dotnet/coreclr#21699)

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

5 years agoRemoves the code moved to shared partition
Marek Safar [Thu, 3 Jan 2019 10:51:17 +0000 (11:51 +0100)]
Removes the code moved to shared partition

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

5 years agoMoves Attribute instance bits to shared location (dotnet/corertdotnet/coreclr#6747)
Marek Safar [Wed, 2 Jan 2019 15:25:34 +0000 (16:25 +0100)]
Moves Attribute instance bits to shared location (dotnet/corertdotnet/coreclr#6747)

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

5 years agoDisable the [Intrinsic] check for desktop SIMD
Carol Eidt [Wed, 2 Jan 2019 20:34:57 +0000 (12:34 -0800)]
Disable the [Intrinsic] check for desktop SIMD

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

5 years agoFix desktop SIMD failures
Carol Eidt [Thu, 20 Dec 2018 19:08:10 +0000 (11:08 -0800)]
Fix desktop SIMD failures

Fix ISA checking to work with desktop.
Also fix Value Numbering jitdump to not assert for struct types without a handle.

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

5 years agoCleanup current culture handling in the unmanaged runtime (dotnet/coreclr#21706)
Jan Kotas [Thu, 3 Jan 2019 13:52:30 +0000 (03:52 -1000)]
Cleanup current culture handling in the unmanaged runtime (dotnet/coreclr#21706)

Large portion of the current culture handling in the unmanaged runtime inherited from desktop has been no-op. The nativeInitCultureAccessors QCall that it used to depend on desktop got (almost) never called in CoreCLR.

- Delete resetting of current culture on threadpool threads. It was needed in desktop because of a very tricky flow of current culture between appdomains. It is superseded by the flowing the current culture via AsyncLocal in CoreCLR.
- Comment out fetch of managed current culture for unmanaged resource lookup. It has number of problems that are not easy to fix. We are not localizing the unmanaged runtime currently anyway, so it is ok to just comment it out.
- Fix the rest to call CultureInfo directly without going through Thread.CurrentThread

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

5 years agoRemove substring allocation in MethodBase.AppendParameters (dotnet/coreclr#21770)
Stephen Toub [Thu, 3 Jan 2019 13:50:00 +0000 (08:50 -0500)]
Remove substring allocation in MethodBase.AppendParameters (dotnet/coreclr#21770)

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

5 years agoRemove unnecessary propagation of stack crawl marks. (dotnet/coreclr#21781)
Filip Navara [Thu, 3 Jan 2019 13:46:57 +0000 (14:46 +0100)]
Remove unnecessary propagation of stack crawl marks. (dotnet/coreclr#21781)

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

5 years agoMerge pull request dotnet/coreclr#21669 from kvochko/arm_cfi_code_offsets
Bruce Forstall [Thu, 3 Jan 2019 02:30:00 +0000 (18:30 -0800)]
Merge pull request dotnet/coreclr#21669 from kvochko/arm_cfi_code_offsets

[Linux/ARM] Fix CFI code offsets in funclet prolog

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

5 years agoRefactor Send to Helix step in Azure DevOps (dotnet/coreclr#21700)
Egor Chesakov [Thu, 3 Jan 2019 01:16:44 +0000 (17:16 -0800)]
Refactor Send to Helix step in Azure DevOps (dotnet/coreclr#21700)

* Move all the test job submission logic into separate file eng/send-to-helix-step.yml.

* Pass IsExternal=true and Creator for public submissions.

* Pass IsExternal=false and HelixAccessToken for internal submissions.

* Pass the parameters to MSBuild via environment.

* Make all the properties names passed to MSBuild "from outside" starting with underscore.

* Specify HelixArchitecture and HelixConfiguration properties.

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

5 years agoAvoid some unnecessary allocation in MethodBuilder.ToString (dotnet/coreclr#21758)
Stephen Toub [Thu, 3 Jan 2019 00:57:49 +0000 (19:57 -0500)]
Avoid some unnecessary allocation in MethodBuilder.ToString (dotnet/coreclr#21758)

This method already allocates a ton, and it's not going to be hot-path, but it's annoying me showing up in queries for string.Concat usage, so I'm fixing it :)

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

5 years agoReplace string.Format(SR. with SR.Format(SR. (dotnet/coreclr#21763)
Stephen Toub [Thu, 3 Jan 2019 00:57:17 +0000 (19:57 -0500)]
Replace string.Format(SR. with SR.Format(SR. (dotnet/coreclr#21763)

We use SR.Format in almost all places where we format resource strings (without a format provider), but there were a few stragglers.

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

5 years agoChange a couple string.Replace("a", "b") to string.Replace('a', 'b') (dotnet/coreclr...
Stephen Toub [Thu, 3 Jan 2019 00:56:46 +0000 (19:56 -0500)]
Change a couple string.Replace("a", "b") to string.Replace('a', 'b') (dotnet/coreclr#21768)

The latter is functionally the same but less overhead.

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

5 years agoUse Alpine container with Node.js in Azure DevOps (dotnet/coreclr#21568)
Egor Chesakov [Wed, 2 Jan 2019 23:36:05 +0000 (15:36 -0800)]
Use Alpine container with Node.js in Azure DevOps (dotnet/coreclr#21568)

* Use Alpine container with Node.js in azure-pipelines.yml
* Enable the dependsOn build_Linux_musl_x64_release in azure-pipelines.yml

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

5 years agoUse StringBuilderCache in PathInternal.NormalizeDirectorySeparators (dotnet/coreclr...
Stephen Toub [Wed, 2 Jan 2019 23:16:56 +0000 (18:16 -0500)]
Use StringBuilderCache in PathInternal.NormalizeDirectorySeparators (dotnet/coreclr#21760)

When we do need to normalize, we're currently allocating the StringBuilder/char[] for the full path length.  As long as the path length is less than the max cacheable size (360), we'll now use a cached builder.

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

5 years agoAdditional ifdef changes which are ES_BUILD_STANDALONE specific for System.Diagnostic...
Marek Safar [Wed, 2 Jan 2019 19:44:49 +0000 (20:44 +0100)]
Additional ifdef changes which are ES_BUILD_STANDALONE specific for System.Diagnostics.Tracing (dotnet/coreclr#21748)

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

5 years agoReplace Array.Copy(src, dst, int) calls with Array.Copy(src, 0, dst, 0, int) (dotnet...
Stephen Toub [Wed, 2 Jan 2019 19:44:24 +0000 (14:44 -0500)]
Replace Array.Copy(src, dst, int) calls with Array.Copy(src, 0, dst, 0, int) (dotnet/coreclr#21756)

The former calls GetLowerBound(0) on both src and dst, which is unnecessary when the arrays are T[] and thus always have a lower bound of 0.

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

5 years agoRemove dummy globalization implementation. (dotnet/corertdotnet/coreclr#6756)
Filip Navara [Wed, 2 Jan 2019 15:00:14 +0000 (16:00 +0100)]
Remove dummy globalization implementation. (dotnet/corertdotnet/coreclr#6756)

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

5 years agoAvoid boxing allocation and object[] allocation in BuildTraceFileName (dotnet/coreclr...
Stephen Toub [Wed, 2 Jan 2019 18:41:48 +0000 (13:41 -0500)]
Avoid boxing allocation and object[] allocation in BuildTraceFileName (dotnet/coreclr#21752)

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

5 years agoTemporary remove OSX.1012.Amd64.Open and OSX.1012.Amd64 Helix queues in eng/platform...
Egor Chesakov [Wed, 2 Jan 2019 17:10:05 +0000 (09:10 -0800)]
Temporary remove OSX.1012.Amd64.Open and OSX.1012.Amd64 Helix queues in eng/platform-matrix.yml (dotnet/coreclr#21642)

Related issue: https://github.com/dotnet/core-eng/issues/4856

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

5 years agoDelete lstrlen from Unix PAL (dotnet/coreclr#21745)
Jan Kotas [Wed, 2 Jan 2019 14:46:32 +0000 (04:46 -1000)]
Delete lstrlen from Unix PAL (dotnet/coreclr#21745)

strlen/wcslen works just fine.

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

5 years agoRemove second 'license' word for readability (dotnet/coreclr#21747)
Marlon Regenhardt [Wed, 2 Jan 2019 14:02:20 +0000 (15:02 +0100)]
Remove second 'license' word for readability (dotnet/coreclr#21747)

The license name already has 'license' in the end, the second one is unnecessary.

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

5 years agoSimplify and improve integer overflow checks in Interop (dotnet/coreclr#21732)
Jan Kotas [Wed, 2 Jan 2019 13:12:27 +0000 (03:12 -1000)]
Simplify and improve integer overflow checks in Interop (dotnet/coreclr#21732)

- Delete unnecessary CheckStringLength calls for result of string.Length. Managed strings are guaranteed to be under 2GB bytes, so these checks were unnecessary.
- Add `checked(...)` around buffer size computations that may hit potential integer overflow. It does not look like any of these would cause a bug that would lead to buffer overrun, but it is better to catch these early.

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

5 years agoUpdate CoreClr, CoreFx to preview-27302-01, preview.19051.1, respectively (dotnet...
dotnet-maestro-bot [Wed, 2 Jan 2019 07:42:13 +0000 (23:42 -0800)]
Update CoreClr, CoreFx to preview-27302-01, preview.19051.1, respectively (dotnet/coreclr#21674)

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

5 years agoAppContext moved to shared partition - CoreRT specific changes
Jan Kotas [Tue, 1 Jan 2019 20:31:41 +0000 (12:31 -0800)]
AppContext moved to shared partition - CoreRT specific changes

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

5 years agostrlen to managed code and vectorize (dotnet/coreclr#21729)
Ben Adams [Wed, 2 Jan 2019 02:21:11 +0000 (03:21 +0100)]
strlen to managed code and vectorize (dotnet/coreclr#21729)

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

5 years agoCleanup ArgumentNull_Obj references in unmanaged runtime (dotnet/coreclr#21738)
Jan Kotas [Tue, 1 Jan 2019 22:15:49 +0000 (12:15 -1000)]
Cleanup ArgumentNull_Obj references in unmanaged runtime (dotnet/coreclr#21738)

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

5 years agoTweaks permissions ifdefs in System.Diagnostics.Tracing (dotnet/coreclr#21733)
Marek Safar [Tue, 1 Jan 2019 22:15:36 +0000 (23:15 +0100)]
Tweaks permissions ifdefs in System.Diagnostics.Tracing (dotnet/coreclr#21733)

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

5 years agoMoves AppContext to shared location (dotnet/coreclr#21734)
Marek Safar [Tue, 1 Jan 2019 20:13:31 +0000 (21:13 +0100)]
Moves AppContext to shared location (dotnet/coreclr#21734)

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

5 years agoDelete useless ArgumentNullException message (dotnet/coreclr#21728)
Jan Kotas [Tue, 1 Jan 2019 05:37:11 +0000 (19:37 -1000)]
Delete useless ArgumentNullException message (dotnet/coreclr#21728)

"Object cannot be null" does not add anything over the default "Value cannot be null"

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

5 years agoRemove EventPipeController static constructor (dotnet/coreclr#21718)
Ben Adams [Mon, 31 Dec 2018 17:57:19 +0000 (18:57 +0100)]
Remove EventPipeController static constructor (dotnet/coreclr#21718)

* Remove EventPipeController static constructor

* Don't cache DefaultProviderConfiguration

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

5 years agoMoves ExceptionDispatchInfo to shared location (dotnet/coreclr#21725)
Marek Safar [Mon, 31 Dec 2018 17:56:57 +0000 (18:56 +0100)]
Moves ExceptionDispatchInfo to shared location (dotnet/coreclr#21725)

* Moves ExceptionDispatchInfo to shared location

* Use struct for Exception.DispatchState, avoid TLAs in names, misc cleanup

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

5 years agoImprove MdUtf8String (dotnet/coreclr#21720)
Ben Adams [Mon, 31 Dec 2018 15:16:54 +0000 (16:16 +0100)]
Improve MdUtf8String (dotnet/coreclr#21720)

* Move MdUtf8String::EqualsCaseSensitive to managed code

* Move MdUtf8String.ToString to safe code

* Use Encoding.UTF8.GetString

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

5 years agoAdd license, keep more of the CriticalHandle logic in the shared file
Jan Kotas [Mon, 31 Dec 2018 07:18:23 +0000 (23:18 -0800)]
Add license, keep more of the CriticalHandle logic in the shared file

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

5 years agoMoves CriticalHandle to shared location
Marek Safar [Sun, 30 Dec 2018 22:29:35 +0000 (23:29 +0100)]
Moves CriticalHandle to shared location

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

5 years agoFix CoreRT build breaks
Jan Kotas [Sun, 30 Dec 2018 09:30:48 +0000 (01:30 -0800)]
Fix CoreRT build breaks

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

5 years agoReadability improvement in MemoryStream (dotnet/coreclr#21710)
Marek Safar [Mon, 31 Dec 2018 05:58:29 +0000 (06:58 +0100)]
Readability improvement in MemoryStream (dotnet/coreclr#21710)

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

5 years agoDon't Sleep(1) in some spin-wait loops (dotnet/coreclr#21722)
Koundinya Veluri [Mon, 31 Dec 2018 05:56:54 +0000 (21:56 -0800)]
Don't Sleep(1) in some spin-wait loops (dotnet/coreclr#21722)

- In spin-wait loops that are not expected to last too long, Sleep(1) significantly delays threads from completing the operation
- From eliminating Sleep(1) in such spin-wait loops, there can be a tradeoff, better fairness vs worse throughput, because Sleep(1) removes threads from contention and in some cases fewer threads can make faster progress at the cost of delaying the Sleep(1) threads relatively significantly. Eliminating the Sleep(1) in such spin-wait loops seems to be a good tradeoff.

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

5 years agoRemove parsing from GUID constants (dotnet/coreclr#21717)
Pent Ploompuu [Mon, 31 Dec 2018 05:43:09 +0000 (07:43 +0200)]
Remove parsing from GUID constants (dotnet/coreclr#21717)

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

5 years agoRemove Environment static constructor (dotnet/coreclr#21715)
Ben Adams [Mon, 31 Dec 2018 05:22:08 +0000 (06:22 +0100)]
Remove Environment static constructor (dotnet/coreclr#21715)

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

5 years agoFix CoreCLR build breaks
Jan Kotas [Sun, 30 Dec 2018 09:08:19 +0000 (01:08 -0800)]
Fix CoreCLR build breaks

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

5 years agoDelete file moved to shared partition
Jan Kotas [Sat, 29 Dec 2018 23:26:54 +0000 (15:26 -0800)]
Delete file moved to shared partition

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

5 years agoMoves ThrowHelper to shared location (dotnet/corertdotnet/coreclr#6741)
Marek Safar [Sat, 29 Dec 2018 23:16:18 +0000 (00:16 +0100)]
Moves ThrowHelper to shared location (dotnet/corertdotnet/coreclr#6741)

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

5 years agoShorter ExecutionContext.Capture (dotnet/coreclr#21707)
Ben Adams [Sun, 30 Dec 2018 16:54:44 +0000 (17:54 +0100)]
Shorter ExecutionContext.Capture (dotnet/coreclr#21707)

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

5 years agoUse EventSource guid ctor for RuntimeEventSource (dotnet/coreclr#21714)
Ben Adams [Sun, 30 Dec 2018 15:35:42 +0000 (16:35 +0100)]
Use EventSource guid ctor for RuntimeEventSource (dotnet/coreclr#21714)

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

5 years agoMoves generic comparers to shared CoreLib (dotnet/coreclr#21649)
Marek Safar [Sun, 30 Dec 2018 07:38:06 +0000 (08:38 +0100)]
Moves generic comparers to shared CoreLib (dotnet/coreclr#21649)

* Moves generic comparer to shared CoreLib

* Keep Index/LastIndexOf optimizations in CoreCLR only

* Moved runtime-specific enum helper to runtime-specific partial type

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

5 years agoSeparate ThreadPool...ThreadLocals get from initalization (dotnet/coreclr#21704)
Ben Adams [Sun, 30 Dec 2018 03:06:16 +0000 (04:06 +0100)]
Separate ThreadPool...ThreadLocals get from initalization (dotnet/coreclr#21704)

* Seperate ThreadPool...ThreadLocals get from initalization

* Assert null

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

5 years agoMove CultureInfo to shared CoreLib (dotnet/coreclr#21672)
Filip Navara [Sat, 29 Dec 2018 14:00:31 +0000 (14:00 +0000)]
Move CultureInfo to shared CoreLib (dotnet/coreclr#21672)

* Move thread CurrentCulture and CurrentUICulture variables to CultureInfo.

* Move CultureInfo to shared CoreLib

* Code style fixes for consistency.

* Fold down APPX code into CultureInfo.CurrentCulture/CurrentUICulture.

* Remove unnecessary parentheses around return statements.

* Remove GetCurrentUICultureNoAppX.

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

5 years agoFix warning causing error in warning as error (Windows) (dotnet/coreclr#21697)
Ben Adams [Sat, 29 Dec 2018 07:08:53 +0000 (08:08 +0100)]
Fix warning causing error in warning as error (Windows) (dotnet/coreclr#21697)

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

5 years agoRemove usages of GetCurrentUICultureNoAppX from ResourceManager (dotnet/coreclr#21691)
Filip Navara [Sat, 29 Dec 2018 04:59:13 +0000 (04:59 +0000)]
Remove usages of GetCurrentUICultureNoAppX from ResourceManager (dotnet/coreclr#21691)

* Remove usages of GetCurrentUICultureNoAppX from ResourceManager to make GetString and GetObject internally consistent. This matches the current behaviour of CoreRT.

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

5 years agoReplace Interop.ReadDir.cs with Interop.ReadDir.cs from System.IO.FileSystem (dotnet...
Egor Bogatov [Fri, 28 Dec 2018 18:58:42 +0000 (21:58 +0300)]
Replace Interop.ReadDir.cs with Interop.ReadDir.cs from System.IO.FileSystem (dotnet/coreclr#21622)

* Use Interop.ReadDir.cs from FileSystem (corefx)

* Use ArrayPool

* Remove ReadBufferSize (and static cctor)

* use NameBufferSize for 256 const

* Delete ReadDir and SafeDirectoryHandle.Unix.cs

* Introduce GetDirectoryEntryFullPath, remove uint casts

* Refactor EnumerateFilesRecursively

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

5 years agoRemove dead Guid parsing code (dotnet/coreclr#21123)
Hugh Bellamy [Fri, 28 Dec 2018 17:52:41 +0000 (17:52 +0000)]
Remove dead Guid parsing code (dotnet/coreclr#21123)

* Remove dead checks in Guid parsing

* Minor cleanups in Guid

* Delete unused failureMessageFormatArgument

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

5 years agoUse common copy of System.Numerics.Hashing.HashHelpers
Jan Kotas [Thu, 27 Dec 2018 07:36:20 +0000 (23:36 -0800)]
Use common copy of System.Numerics.Hashing.HashHelpers

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

5 years agoDelete file moved to shared partition
Jan Kotas [Thu, 27 Dec 2018 14:48:36 +0000 (06:48 -0800)]
Delete file moved to shared partition

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

5 years agoMove Contracts.cs (CoreCLR version) to shared CoreLib and update code to compile...
Filip Navara [Thu, 27 Dec 2018 14:12:19 +0000 (15:12 +0100)]
Move Contracts.cs (CoreCLR version) to shared CoreLib and update code to compile. (dotnet/coreclr#6734)

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

5 years agoDelete file moved to shared CoreLib.
Filip Navara [Wed, 26 Dec 2018 21:04:17 +0000 (22:04 +0100)]
Delete file moved to shared CoreLib.

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

5 years agoMove System/Numerics/Hashing to shared CoreLib. (dotnet/corertdotnet/coreclr#6732)
Filip Navara [Wed, 26 Dec 2018 19:04:52 +0000 (20:04 +0100)]
Move System/Numerics/Hashing to shared CoreLib. (dotnet/corertdotnet/coreclr#6732)

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

5 years agodesktop port (dotnet/coreclr#21523)
Maoni Stephens [Wed, 26 Dec 2018 21:13:21 +0000 (13:13 -0800)]
desktop port (dotnet/coreclr#21523)

+alloc lock split into SOH and LOH
+provisional mode to fix too many gen2 GCs triggered in low mem situation when the heap has heavy pinning fragmentation
+better free list usage
+premature OOM fixes
+3 new configs: GCHeapAffinitizeMask, GCHighMemPercent, GCLOHThreshold (will be documented)
YieldProcessor scaling factor is different on core due to the different implementation on core.

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

5 years agoFix windows build
Andrey Kvochko [Tue, 25 Dec 2018 10:32:59 +0000 (13:32 +0300)]
Fix windows build

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

5 years agoFix CFI code offsets in prolog on ARM
Andrey Kvochko [Mon, 24 Dec 2018 16:23:55 +0000 (19:23 +0300)]
Fix CFI code offsets in prolog on ARM

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

5 years agoUpdate CoreClr, CoreFx to preview-27225-01, preview.18624.2, respectively (dotnet...
dotnet-maestro-bot [Tue, 25 Dec 2018 05:55:04 +0000 (21:55 -0800)]
Update CoreClr, CoreFx to preview-27225-01, preview.18624.2, respectively (dotnet/coreclr#21663)

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

5 years agoMakes CultureInfo.get_Parent thread safe. (dotnet/coreclr#21671)
Filip Navara [Tue, 25 Dec 2018 04:55:30 +0000 (05:55 +0100)]
Makes CultureInfo.get_Parent thread safe. (dotnet/coreclr#21671)

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

5 years agoMove DebugProvider.Windows to shared CoreLib. (dotnet/coreclr#21657)
Filip Navara [Mon, 24 Dec 2018 02:16:32 +0000 (03:16 +0100)]
Move DebugProvider.Windows to shared CoreLib. (dotnet/coreclr#21657)

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

5 years agoFix warning causing error in warning as error (Windows) (dotnet/coreclr#21656)
Ben Adams [Mon, 24 Dec 2018 02:09:46 +0000 (02:09 +0000)]
Fix warning causing error in warning as error (Windows) (dotnet/coreclr#21656)

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

5 years agoUse TZCNT and LZCNT for Locate{First|Last}Found{Byte|Char} (dotnet/coreclr#21073)
Ben Adams [Mon, 24 Dec 2018 00:26:58 +0000 (00:26 +0000)]
Use TZCNT and LZCNT for Locate{First|Last}Found{Byte|Char} (dotnet/coreclr#21073)

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

5 years agoAdd Module Override Recognition to R2RDump (dotnet/coreclr#21617)
Andon Andonov [Sun, 23 Dec 2018 23:51:05 +0000 (15:51 -0800)]
Add Module Override Recognition to R2RDump (dotnet/coreclr#21617)

This was added to help debug work with large version bubbles. The changes should allow R2RDump to have some rudimentary understanding of ENCODE_METHOD_OVERRIDE.

The big TODO here is allow loading of external dependency assemblies to be able to resolve the tokens coming after the override.

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

5 years agoFix ProjectN regression in `ByReference<T>` (dotnet/corertdotnet/coreclr#6713)
Michal Strehovský [Sun, 23 Dec 2018 16:09:39 +0000 (17:09 +0100)]
Fix ProjectN regression in `ByReference<T>` (dotnet/corertdotnet/coreclr#6713)

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

5 years agoUpdate CoreClr, CoreFx to preview-27223-02, preview.18623.1, respectively (dotnet...
dotnet-maestro-bot [Sun, 23 Dec 2018 20:47:37 +0000 (12:47 -0800)]
Update CoreClr, CoreFx to preview-27223-02, preview.18623.1, respectively (dotnet/coreclr#21658)

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

5 years agoAdd optimization in GetHashCode for Int16 and SByte (dotnet/coreclr#21652)
ichensky [Sun, 23 Dec 2018 12:47:25 +0000 (14:47 +0200)]
Add optimization in GetHashCode for Int16 and SByte (dotnet/coreclr#21652)

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

5 years agoDelete CoreLib.FixupCoreLibName (dotnet/coreclr#21655)
Jan Kotas [Sun, 23 Dec 2018 12:47:11 +0000 (04:47 -0800)]
Delete CoreLib.FixupCoreLibName (dotnet/coreclr#21655)

This method doing blind find&replace of "mscorlib" with "System.Private.CoreLib". It is both incorrect (e.g. if the typename happened to contain "mscorlib" string) and inefficient (unnecessary allocations and use of reflection).

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

5 years agoFix ArrayStack's call to default constructor for <T>. (dotnet/coreclr#21624)
Sergey Andreenko [Sun, 23 Dec 2018 06:42:44 +0000 (22:42 -0800)]
Fix ArrayStack's call to default constructor for <T>. (dotnet/coreclr#21624)

* Add ArrayStack::Empty

* Add ArrayStack::BottomRef

* Delete unused `ReverseTop`.

* do not use default constructor.

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

5 years agoUpdate CoreClr, CoreFx to preview-27223-01, preview.18622.2, respectively (master...
dotnet-maestro-bot [Sun, 23 Dec 2018 05:51:18 +0000 (21:51 -0800)]
Update CoreClr, CoreFx to preview-27223-01, preview.18622.2, respectively (master) (dotnet/coreclr#21620)

* Update CoreClr, CoreFx to preview-27223-01, preview.18622.2, respectively

* Update issues json

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

5 years agoExtracts public IThreadPoolWorkItem interface to shared CoreLib (dotnet/coreclr#21653)
Marek Safar [Sun, 23 Dec 2018 03:20:39 +0000 (04:20 +0100)]
Extracts public IThreadPoolWorkItem interface to shared CoreLib (dotnet/coreclr#21653)

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

5 years agoMoves CoreLib to shared location (dotnet/coreclr#21654)
Marek Safar [Sun, 23 Dec 2018 02:36:33 +0000 (03:36 +0100)]
Moves CoreLib to shared location (dotnet/coreclr#21654)

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

5 years agoSpanHelpers deal with nullable reference types (dotnet/coreclr#21232)
Ben Adams [Sat, 22 Dec 2018 20:08:22 +0000 (20:08 +0000)]
SpanHelpers deal with nullable reference types (dotnet/coreclr#21232)

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

5 years agoMove some Task related files to shared CoreLib partition (dotnet/coreclr#21650)
Jan Kotas [Sat, 22 Dec 2018 18:01:00 +0000 (10:01 -0800)]
Move some Task related files to shared CoreLib partition (dotnet/coreclr#21650)

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

5 years agoSynchronize Task, Awaiter and ThreadPool implementation with CoreCLR (dotnet/coreclr...
Jan Kotas [Sat, 22 Dec 2018 06:49:21 +0000 (22:49 -0800)]
Synchronize Task, Awaiter and ThreadPool implementation with CoreCLR (dotnet/coreclr#6706)

Synchronized the code as much as possible with CoreCLR. The one major piece that I have excluded is tracing. I will look into doing that separately.

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