platform/upstream/dotnet/runtime.git
5 years agoFix broken links (dotnet/coreclr#23748)
Gergely Kalapos [Sat, 6 Apr 2019 01:47:18 +0000 (03:47 +0200)]
Fix broken links (dotnet/coreclr#23748)

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

5 years agoFedora.28.Amd64 queue is dead. Use container instead (dotnet/coreclr#23765)
Tomas Weinfurt [Fri, 5 Apr 2019 22:56:21 +0000 (15:56 -0700)]
Fedora.28.Amd64 queue is dead. Use container instead (dotnet/coreclr#23765)

* Fedora.28.Amd64 queue is dead. Use container instead

* udpate ubuntu to Ubuntu

* do not escape () as rest of the coreclr does not do it either.

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

5 years agoMerge pull request dotnet/coreclr#23728 from briansull/FixConstByref
Brian Sullivan [Fri, 5 Apr 2019 21:48:13 +0000 (14:48 -0700)]
Merge pull request dotnet/coreclr#23728 from briansull/FixConstByref

Fix for Issue dotnet/coreclr#23538

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

5 years agoMerge pull request dotnet/coreclr#23770 from wtgodbe/Preview5
William Godbe [Fri, 5 Apr 2019 21:46:53 +0000 (14:46 -0700)]
Merge pull request dotnet/coreclr#23770 from wtgodbe/Preview5

Update branding to preview5

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

5 years agoReplacing some calls to GetThread with an inlined version (dotnet/coreclr#23771)
Fadi Hanna [Fri, 5 Apr 2019 21:46:02 +0000 (14:46 -0700)]
Replacing some calls to GetThread with an inlined version (dotnet/coreclr#23771)

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

5 years agoWhitespace (dotnet/coreclr#23772)
Steve MacLean [Fri, 5 Apr 2019 21:10:09 +0000 (17:10 -0400)]
Whitespace (dotnet/coreclr#23772)

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

5 years agoFix rounding to UINT32_MAX (dotnet/coreclr#23764)
Ludovic Henry [Fri, 5 Apr 2019 21:07:57 +0000 (14:07 -0700)]
Fix rounding to UINT32_MAX (dotnet/coreclr#23764)

In case you would have UINT32_MAX - 1 CPUs, you would round up to return UINT32_MAX CPUs.

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

5 years agoFix issue 23713: handle TypeDesc field handles (dotnet/coreclr#23767)
Fadi Hanna [Fri, 5 Apr 2019 21:05:17 +0000 (14:05 -0700)]
Fix issue 23713: handle TypeDesc field handles (dotnet/coreclr#23767)

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

5 years agoUpdate CoreClr to preview4-27605-71 (dotnet/coreclr#23710)
dotnet-maestro-bot [Fri, 5 Apr 2019 21:04:30 +0000 (14:04 -0700)]
Update CoreClr to preview4-27605-71 (dotnet/coreclr#23710)

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

5 years agoUpdate the JIT to recognize the IsSupported property for all HWIntrinsics (dotnet...
Tanner Gooding [Fri, 5 Apr 2019 20:58:18 +0000 (13:58 -0700)]
Update the JIT to recognize the IsSupported property for all HWIntrinsics (dotnet/coreclr#23751)

* Moving some JITDUMP calls into Compiler::lookupNamedIntrinsic

* Marking the IsSupported methods as Intrinsic for all HWIntrinsic ISAs

* Updating the hwintrinsic importation to more generally handle IsSupported and ThrowPNSE

* Applying formatting patch.

* Adding using System.Runtime.CompilerServices to the various x86 PlatformNotSupported HWIntrinsic files

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

5 years agoEnable return buffers on Windows ARM64 for struct-returning member functions (dotnet...
Jeremy Koritzinsky [Fri, 5 Apr 2019 19:52:00 +0000 (12:52 -0700)]
Enable return buffers on Windows ARM64 for struct-returning member functions (dotnet/coreclr#23625)

* Enable return buffers on Windows ARM64 for struct-returning member functions. Fixes dotnet/coreclr#23577.

* Update comment to match new condition.

* Enable byref return on all Windows (excluding arm64 HFA. Add more test cases for ThisCall.

* On x86, if we have a normalized return value in an instance method, get back the actual type so that we correctly marshal it via a return buffer.

* Fix param ordering.

* Clean up based on PR feedback.

* Fix accidental variable shadowing.

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

5 years agoUpdate branding to preview5
wtgodbe [Fri, 5 Apr 2019 19:45:25 +0000 (12:45 -0700)]
Update branding to preview5

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

5 years agoDon't null out references in Stream/BinaryReader/Writer (dotnet/coreclr#23725)
Stephen Toub [Fri, 5 Apr 2019 18:30:28 +0000 (14:30 -0400)]
Don't null out references in Stream/BinaryReader/Writer (dotnet/coreclr#23725)

These types null out some fields on Dispose, and some of those fields are accessible directly via exposed properties, which means that nulling them out would either force us to annotate those properties as being nullable or would require us to lie about them being nullable.  Nulling them out also makes it easier to accidentally null ref in the implementation, and prevents us from making the fields readonly.

It should be exceedingly rare that you dispose of one of these objects and then keep it alive while also being concerned about keeping alive the other helper objects the type uses.  So this change just uses a separate flag to track disposal, and avoids nulling out the fields, which is not a common practice elsewhere in the framework.

This will be a visible change in that after Dispose, properties like StreamWriter.BaseStream/Encoding will now return the stream/encoding rather than null.  In theory that could break someone if they were using those properties to determine whether the writer had been disposed, but that seems unlikely / similar fallout from most any bug fix, and objects generally aren't supposed to be touched after Dispose, anyway.

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

5 years agoChange the backing storage for Byref constants in ValueNumber-ing to use size_t.
Brian Sullivan [Thu, 4 Apr 2019 16:56:00 +0000 (09:56 -0700)]
Change the backing storage for Byref constants in ValueNumber-ing to use size_t.
Fixes dotnet/coreclr#23538

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

5 years agoPartially improve support for `--cpus` from Docker CLI (dotnet/coreclr#23747)
Ludovic Henry [Fri, 5 Apr 2019 16:42:47 +0000 (09:42 -0700)]
Partially improve support for `--cpus` from Docker CLI (dotnet/coreclr#23747)

* Round up the value of the CPU limit

In the case where `--cpus` is set to a value very close to the smaller
integer (ex: 1.499999999), it would previously be rounded down. This
would mean that the runtime would only try to take advantage of 1 CPU in
this example, leading to underutilization.

By rounding it up, we augment the pressure on the OS threads scheduler,
but even in the worst case scenario (`--cpus=1.000000001` previously
being rounded to 1, now rounded to 2), we do not observe any
overutilization of the CPU leading to performance degradation.

* Teach the ThreadPool of CPU limits

By making sure we do take the CPU limits into account when computing the
CPU busy time, we ensure we do not have the various heuristic of the
threadpool competing with each other: one trying to allocate more
threads to increase the CPU busy time, and the other one trying to
allocate less threads because there adding more doesn't improve the
throughput.

Let's take the example of a system with 20 cores, and a docker container
with `--cpus=2`. It would mean the total CPU usage of the machine is
2000%, while the CPU limit is 200%. Because the OS scheduler would never
allocate more than 200% of its total CPU budget to the docker container,
the CPU busy time would never get over 200%. From `PAL_GetCpuBusyTime`,
this would indicate that we threadpool threads are mostly doing non-CPU
bound work, meaning we could launch more threads.

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

5 years agoFix invalid use of stack memory (dotnet/coreclr#23758)
Aaron Robinson [Fri, 5 Apr 2019 16:28:48 +0000 (09:28 -0700)]
Fix invalid use of stack memory (dotnet/coreclr#23758)

* Fix invalid use of stack memory

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

5 years agoRevert optimization (dotnet/coreclr#23759)
Grant [Fri, 5 Apr 2019 14:02:23 +0000 (07:02 -0700)]
Revert optimization (dotnet/coreclr#23759)

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

5 years agoDisable marshalling delegates as _Delegate and enable marshalling delegates as IDispa...
Jeremy Koritzinsky [Fri, 5 Apr 2019 05:56:56 +0000 (22:56 -0700)]
Disable marshalling delegates as _Delegate and enable marshalling delegates as IDispatch. (dotnet/coreclr#23738)

* Disable marshalling delegates as _Delegate and enable marshalling delegates as IDispatch.

* ifdef out the new IDispatch marshalling on non-COM-supporting platforms.

* PR feedback.

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

5 years agoImprove performance of Memory<T>.Span property getter (dotnet/coreclr#23750)
Levi Broderick [Fri, 5 Apr 2019 05:46:23 +0000 (22:46 -0700)]
Improve performance of Memory<T>.Span property getter (dotnet/coreclr#23750)

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

5 years agoDisable a couple of S.R.InteropServices tests (dotnet/coreclr#23697)
Koundinya Veluri [Fri, 5 Apr 2019 04:52:38 +0000 (21:52 -0700)]
Disable a couple of S.R.InteropServices tests (dotnet/coreclr#23697)

Disabled the two tests that were fixed in PR https://github.com/dotnet/corefx/pull/34968

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

5 years agoMerge pull request dotnet/coreclr#23633 from dotnet/NullableFeature
Santiago Fernandez Madero [Fri, 5 Apr 2019 04:47:31 +0000 (21:47 -0700)]
Merge pull request dotnet/coreclr#23633 from dotnet/NullableFeature

Nullable feature into master

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

5 years agoFix Debug.Assert in GenericDelegateCache (dotnet/coreclr#23755)
Santiago Fernandez Madero [Fri, 5 Apr 2019 01:38:02 +0000 (18:38 -0700)]
Fix Debug.Assert in GenericDelegateCache (dotnet/coreclr#23755)

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

5 years agoFix SystemV AMD64 Explicit structure classification (dotnet/coreclr#22041)
Jeremy Koritzinsky [Fri, 5 Apr 2019 01:37:57 +0000 (18:37 -0700)]
Fix SystemV AMD64 Explicit structure classification (dotnet/coreclr#22041)

* Don't bail out on enregistering explicit structs if there are no overlapping fields.

* Don't enregister if any unaligned fields.

* Enable passing explicit structs by-value by enregistering on systemv. Some edge cases are likely still broken, but just removing our blanket opt-out makes the current tests pass.

* Enable MarshalstructAsLayoutExp off-Windows.

* Start adding additional tests for explicit layout to try to catch edge cases in SystemV classification.

* Added a test that spans across multiple eightbytes and has an overlap in the second eightbyte.

* Change repro to use an array of floats and an int field in managed and use a float array for padding in native to force an SSE classification on the first byte.

* New algorithm to calculate eightbyte classification by going throw the structure byte-by-byte instead of field-by-field.

* Fix updating eightbyte classifications in the loop to actually used the iterated-upon variable.

* Consider each element of a fixed array as a separate field (to match native implementations).

* Implement correct SystemV classification for fixed buffers in non-blittable structures. Fixed buffers in blittable structures have the managed layout assign classifications, which still is buggy.

* Add tests.

* Correctly classify blittable fixed buffers. Move "is this field a fixed buffer" tracking into one of the unused bits in FieldDesc as code that isn't in marshalers needs to know about it.

* Handle the case where we have a struct that has no fields in an eightbyte that contains (i.e. no fields in the first eight bytes of the structure).

* PR feedback.

* Only look up FixedBufferAttribute when the type is a value class and the type of the field is a value type.

* Use heuristic to determine if a type is a fixed buffer for SystemV classification.

* Revert tracking if a field is a fixed buffer in the FieldDesc.

* Update comments.

* Classify aligned, nonoverlapping, float/double only structures as HFAs even if explicitly laid out

* Enable overlapping fields in HFAs. Update NativeType HFA to check for alignment.

I checked Godbolt to verify that HFAs for overlapping fields are allowed.

* Add HFA tests.

* Fix compile errors from HFA alignment check.

* Non-valuetypes will never have their managed layout used to classify SystemV eightbytes.

* Don't classify a struct with no zero-offset field as an HFA.

* Remove duplicate semicolon.

* PR feedback.

* Add test with 2-field double HFA.

* Clean up and add static asserts for struct size.

* Add define for static_assert_no_msg to the native test headers

* Fix build breaks.

* Remove unneeded "size = X bytes" comments. They were holdovers from the .NET Framework test tree.

* Use GetNumInstanceFieldBytes instead of GetLayoutInfo()->GetManagedSize()

* Fix build break.

* Centralize FieldMarshaler offsettting in ClassifyEightBytesWithNativeLayout.

* Fix signed/unsigned mismatch

* Fix condition to also detect arm64.

* Change ifdef to if defined.

* Remove duplicate declaration (broken in rebase)

* Add some logging in one of the unreproable OSX test failures.

* Mark System.Numerics.Vector as intrinsic and don't use the eightbyte classifier to enregister it.

* Also explicitly opt-out of HFAs for System.Numerics.Vector`1 for consistency.

* Update R2R required version to 3.0.

* Remove debugging prints.

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

5 years agoMerge pull request dotnet/coreclr#23537 from janvorli/remove-gc-cpu-group-knowledge
Jan Vorlicek [Thu, 4 Apr 2019 22:36:34 +0000 (00:36 +0200)]
Merge pull request dotnet/coreclr#23537 from janvorli/remove-gc-cpu-group-knowledge

Remove CPU groups notion from the gc.cpp

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

5 years agoMerge pull request dotnet/coreclr#23735 from safern/merge-master-nullable
Stephen Toub [Thu, 4 Apr 2019 20:19:55 +0000 (16:19 -0400)]
Merge pull request dotnet/coreclr#23735 from safern/merge-master-nullable

Pull master changes into NullableFeature

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

5 years agoRun on Ubuntu.1604.Arm32.Open in pull requests and scheduled builds (dotnet/coreclr...
Egor Chesakov [Thu, 4 Apr 2019 19:07:00 +0000 (12:07 -0700)]
Run on Ubuntu.1604.Arm32.Open in pull requests and scheduled builds (dotnet/coreclr#23729)

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

5 years agoUse BYOC pools in "Publish to BAR" job (dotnet/coreclr#23733)
Egor Chesakov [Thu, 4 Apr 2019 19:05:34 +0000 (12:05 -0700)]
Use BYOC pools in "Publish to BAR" job (dotnet/coreclr#23733)

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

5 years agoFix merge conflicts on Delegate and String.resx
Santiago Fernandez Madero [Thu, 4 Apr 2019 18:53:14 +0000 (11:53 -0700)]
Fix merge conflicts on Delegate and String.resx

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

5 years agoMerge remote-tracking branch 'dotnet/master' into merge-master-nullable
Santiago Fernandez Madero [Thu, 4 Apr 2019 18:51:36 +0000 (11:51 -0700)]
Merge remote-tracking branch 'dotnet/master' into merge-master-nullable

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

5 years agoRuntime support for upcoming .NET Core WinRT Host (dotnet/coreclr#23402)
Jeremy Koritzinsky [Thu, 4 Apr 2019 18:04:13 +0000 (11:04 -0700)]
Runtime support for upcoming .NET Core WinRT Host (dotnet/coreclr#23402)

* First pass at adding winrt host entry-point.

* There's no way to specify HResult-swapping on a function called via hosted-interop so just return the HResult instead.

* Use the WindowsRuntimeMarshal class to create the activation factory and initialize it.

* Implement loading the dependent assemblies of a WinRT assembly into an isolated load context.

* PR Feedback.

* Fail to get the activation factory if the found type is not a managed type exported from a winmd.

* Rearrange parameters based on PR feedback.

* Remove unneeded include.

* Make ActivationFactoryLoader internal.

* Fix null-ref in WinRT-dependent-assembly loading

* Remove extraneous "System."

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

5 years agoSupport simple assembly name in startup hook (dotnet/coreclr#23517)
Jan Kotas [Thu, 4 Apr 2019 17:52:33 +0000 (10:52 -0700)]
Support simple assembly name in startup hook (dotnet/coreclr#23517)

* Add support for specifying only assembly name for startup hook.

* Implement checking for simple assembly names in startuphook.

Also wrap load exceptions.

* Avoid global alloc

* Allow extra path separators in the startup hook variable

* Fixes for extra path separators

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

5 years agoMerge pull request dotnet/coreclr#23721 from janvorli/fix-musl-arm64-crossbuild
Jan Vorlicek [Thu, 4 Apr 2019 17:52:20 +0000 (19:52 +0200)]
Merge pull request dotnet/coreclr#23721 from janvorli/fix-musl-arm64-crossbuild

Fix MUSL ARM64 cross build

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

5 years agoAdd Working Set runtime counter (dotnet/coreclr#23717)
Sung Yoon Whang [Thu, 4 Apr 2019 17:38:14 +0000 (10:38 -0700)]
Add Working Set runtime counter (dotnet/coreclr#23717)

* Add cpu counter

* Fix windows build

* Make the counter just return current CPU usage as %

* Add Unix

* Fix unix build

* Some cleanup

* rename

* fixing some build errors

* some cleanup

* remove unused using

* more cleanup

* newline

* Add working set counter

* Remove old file

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

5 years agoFix build break due to conflicting PRs (dotnet/coreclr#23726)
Stephen Toub [Thu, 4 Apr 2019 16:58:58 +0000 (12:58 -0400)]
Fix build break due to conflicting PRs (dotnet/coreclr#23726)

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

5 years agoImprove Upper Vector Save/Restore (dotnet/coreclr#23344)
Carol Eidt [Thu, 4 Apr 2019 16:53:02 +0000 (09:53 -0700)]
Improve Upper Vector Save/Restore (dotnet/coreclr#23344)

Improve Upper Vector Save/Restore

In order to avoid saving and restore the upper half of large vectors around every
call even if they are not used, separately model the upper half of large vector
lclVars, and track whether the large vector lclVar is partially-spilled, in which
case its upper half resides in its upper half Interval's location.

Fix dotnet/coreclr#18144

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

5 years agoFix prefix of mock hostpolicy on Unix (dotnet/coreclr#23692)
Jeremy Koritzinsky [Thu, 4 Apr 2019 16:33:12 +0000 (09:33 -0700)]
Fix prefix of mock hostpolicy on Unix (dotnet/coreclr#23692)

Fixes dotnet/coreclr#23682

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

5 years agoHandle local struct pointer arithmetic (dotnet/coreclr#23704)
Carol Eidt [Thu, 4 Apr 2019 16:31:30 +0000 (09:31 -0700)]
Handle local struct pointer arithmetic (dotnet/coreclr#23704)

The assert introduced in dotnet/coreclr#23570 was overly aggressive, and didn't account for the fact that pointer arithmetic can exist in the IL, not just introduced by morph.

Fix dotnet/coreclr#23693

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

5 years agoMove parts of delegate to shared partition (dotnet/coreclr#23552)
Marek Safar [Thu, 4 Apr 2019 16:05:08 +0000 (18:05 +0200)]
Move parts of delegate to shared partition (dotnet/coreclr#23552)

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

5 years agoFix MUSL ARM64 cross build
Jan Vorlicek [Thu, 4 Apr 2019 14:53:06 +0000 (07:53 -0700)]
Fix MUSL ARM64 cross build

There were two issues:
* the cross/toolchain.cmake was unconditionally setting the linker to ld.gold.
  This is not wanted in general and the ld.gold cannot link arm64 MUSL stuff
  correctly (it leaves a couple of TLS symbols as undefined)
* the src/vm/arm64/asmhelpers.S was referencing a global variable using absolute
  relocation, which is not allowed in shared libraries on MUSL based Linux distros.

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

5 years agoDon't null out buffer in MemoryStream on Capacity reset (dotnet/coreclr#23700)
Stephen Toub [Thu, 4 Apr 2019 13:23:40 +0000 (09:23 -0400)]
Don't null out buffer in MemoryStream on Capacity reset (dotnet/coreclr#23700)

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

5 years agoModify affinity range config format for Windows
Jan Vorlicek [Thu, 4 Apr 2019 10:46:33 +0000 (12:46 +0200)]
Modify affinity range config format for Windows

Each entry has to be prefixed by group number followed by comma. There
is nothing like global CPU index on Windows, all the APIs that support
more than 64 processors use group, in-group index pair. So specifying
the affinity this way matches what users are used to.

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

5 years agoFixes for extra path separators
Vitek Karas [Thu, 4 Apr 2019 10:37:46 +0000 (03:37 -0700)]
Fixes for extra path separators

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

5 years agoAllow extra path separators in the startup hook variable
Vitek Karas [Thu, 4 Apr 2019 07:25:35 +0000 (00:25 -0700)]
Allow extra path separators in the startup hook variable

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

5 years agoNullable: shared/System/Security (dotnet/coreclr#23623)
Krzysztof Wicher [Thu, 4 Apr 2019 05:29:56 +0000 (22:29 -0700)]
Nullable: shared/System/Security  (dotnet/coreclr#23623)

* Nullable: shared/System/Security

* fix windows

* address feedback

* IIIIdentity.Identity?

* apply feedback

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

5 years agoMerge pull request dotnet/coreclr#23706 from sandreenko/runCoreFXbaseileDaily
Sergey Andreenko [Thu, 4 Apr 2019 05:01:22 +0000 (22:01 -0700)]
Merge pull request dotnet/coreclr#23706 from sandreenko/runCoreFXbaseileDaily

Run CoreFX baseline arm/arm64 Windows/Ubuntu daily.

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

5 years agoAdd CPU runtime counter (dotnet/coreclr#23680)
Sung Yoon Whang [Thu, 4 Apr 2019 03:40:50 +0000 (20:40 -0700)]
Add CPU runtime counter (dotnet/coreclr#23680)

* Add cpu counter

* Fix windows build

* Make the counter just return current CPU usage as %

* Add Unix

* Fix unix build

* Some cleanup

* rename

* fixing some build errors

* some cleanup

* remove unused using

* more cleanup

* newline

* Address PR feedback

* more pr feedback

* More feedback

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

5 years agoNullable: Streams (dotnet/coreclr#23703)
Stephen Toub [Thu, 4 Apr 2019 02:33:29 +0000 (22:33 -0400)]
Nullable: Streams (dotnet/coreclr#23703)

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

5 years agoFix resource loading (dotnet/coreclr#23714)
David Wrighton [Thu, 4 Apr 2019 02:11:00 +0000 (19:11 -0700)]
Fix resource loading (dotnet/coreclr#23714)

- Some resources are generated without setting a Major/Minor version in the resource directory
- This is legal, and we shouldn't skip parsing the resource

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

5 years agoMove null check into separate method to prevent unnecessary conversion of null into...
Filip Navara [Thu, 4 Apr 2019 01:02:15 +0000 (03:02 +0200)]
Move null check into separate method to prevent unnecessary conversion of null into ReadOnlySpan (dotnet/coreclr#23616)

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

5 years agoNullable: System.Threading.Tasks (dotnet/coreclr#23691)
Stephen Toub [Thu, 4 Apr 2019 01:00:16 +0000 (21:00 -0400)]
Nullable: System.Threading.Tasks (dotnet/coreclr#23691)

* Nullable: System.Threading.Tasks

* Address PR feedback

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

5 years agoFix GitHub23672 (dotnet/coreclr#23674)
Fei Peng [Thu, 4 Apr 2019 00:15:45 +0000 (17:15 -0700)]
Fix GitHub23672 (dotnet/coreclr#23674)

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

5 years agoRun CoreFX baseline arm/arm64 Windows/Ubuntu daily.
Sergey Andreenko [Wed, 3 Apr 2019 23:15:14 +0000 (16:15 -0700)]
Run CoreFX baseline arm/arm64 Windows/Ubuntu daily.

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

5 years agoRemove ADID and ADIndex from CoreCLR (dotnet/coreclr#23588)
David Wrighton [Wed, 3 Apr 2019 22:54:05 +0000 (15:54 -0700)]
Remove ADID and ADIndex from CoreCLR (dotnet/coreclr#23588)

- Remove concept of AppDomain from object api in VM
- Various infrastructure around entering/leaving appdomains is removed
- Add small implementation of GetAppDomain for use by DAC (to match existing behavior)
- Simplify finalizer thread operations
- Eliminate AppDomain::Terminate
- Remove use of ADID from stresslog
- Remove thread enter/leave tracking from AppDomain
- Remove unused asm constants across all architectures
- Re-order header inclusion order to put gcenv.h before handletable
- Remove retail only sync block code involving appdomain index

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

5 years agoAvoid global alloc
vitek-karas [Tue, 2 Apr 2019 14:55:35 +0000 (07:55 -0700)]
Avoid global alloc

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

5 years agoImplement checking for simple assembly names in startuphook.
vitek-karas [Tue, 2 Apr 2019 13:28:09 +0000 (06:28 -0700)]
Implement checking for simple assembly names in startuphook.

Also wrap load exceptions.

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

5 years agoAdd support for specifying only assembly name for startup hook.
Vitek Karas [Thu, 28 Mar 2019 12:12:47 +0000 (05:12 -0700)]
Add support for specifying only assembly name for startup hook.

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

5 years agoFix Arm64 intrinsic lookup (dotnet/coreclr#23673)
Carol Eidt [Wed, 3 Apr 2019 21:33:58 +0000 (14:33 -0700)]
Fix Arm64 intrinsic lookup (dotnet/coreclr#23673)

Fix dotnet/coreclr#23669

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

5 years agoFix interop test cases to pass doubles for native varargs. (dotnet/coreclr#23690)
Andy Ayers [Wed, 3 Apr 2019 21:22:07 +0000 (14:22 -0700)]
Fix interop test cases to pass doubles for native varargs. (dotnet/coreclr#23690)

Remove these tests from the windows exclude list. Also move one
other exclude entry from its own section into the general exclude list.

Closes dotnet/coreclr#22974

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

5 years agoChange Auto charset to mean UTF-8 off-Windows (dotnet/coreclr#23664)
Jeremy Koritzinsky [Wed, 3 Apr 2019 21:08:06 +0000 (14:08 -0700)]
Change Auto charset to mean UTF-8 off-Windows (dotnet/coreclr#23664)

Match Mono's behavior by changing the Auto character set to mean UTF-8 on non-Windows platforms (new behavior) and UCS-2/UTF-16 on Windows (current behavior).

Fixes dotnet/coreclr#23464
Fixes dotnet/corefxdotnet/coreclr#32442

Impact of breaking change: It is highly unlikely that anyone is actively using current behavior since it is inconsistent with Mono and doesn't match any native system APIs on non-Windows platforms (they're all UTF-8 based).

We will need to update our documentation to reflect this updated behavior.

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

5 years agoMerge pull request dotnet/coreclr#23671 from BruceForstall/ImproveJitFunctionTraceOutput
Bruce Forstall [Wed, 3 Apr 2019 20:06:18 +0000 (13:06 -0700)]
Merge pull request dotnet/coreclr#23671 from BruceForstall/ImproveJitFunctionTraceOutput

Improve COMPlus_JitFunctionTrace

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

5 years agoFix flipped error codes
Jan Vorlicek [Wed, 3 Apr 2019 18:02:18 +0000 (20:02 +0200)]
Fix flipped error codes

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

5 years agoUse the GCHeapAffinitizeRanges / GCHeapAffinitizeMask exclusively
Jan Vorlicek [Tue, 2 Apr 2019 21:35:09 +0000 (23:35 +0200)]
Use the GCHeapAffinitizeRanges / GCHeapAffinitizeMask exclusively

The GCHeapAffinitizeRanges are now used only when CPU groups are enabled
and the GCHeapAffinitizeMask when CPU groups are disabled.

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

5 years agoReflect PR feedback
Jan Vorlicek [Fri, 29 Mar 2019 11:46:55 +0000 (12:46 +0100)]
Reflect PR feedback

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

5 years agoRemove CPU groups handling from the gc.cpp
Jan Vorlicek [Mon, 25 Mar 2019 19:52:07 +0000 (20:52 +0100)]
Remove CPU groups handling from the gc.cpp

This change removes all explicit manipulation and handling of CPU groups
from the gc.cpp and hides it behind the GCToOSInterface. This is a step
to prepare for removing the CPU groups emulation on Unix. In fact, I've
already updated the standalone Unix GC to be able to affinitize GC
threads to any subset of CPUs and added previously missing support for
the affinity setting itself. The NUMA support still remains missing there.

It also adds a new way to specify GC thread affinitization that is not
limited to 64 threads. Instead of affinity mask stored in 64 bit
integer, we now use a bitset that can contain as many processors as
GC can support. And there is a new GC config to specify the affinity in
a form of a range list.

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

5 years agoFix typo in zapimage.cpp (dotnet/coreclr#23698)
Egor Chesakov [Wed, 3 Apr 2019 19:09:09 +0000 (12:09 -0700)]
Fix typo in zapimage.cpp (dotnet/coreclr#23698)

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

5 years agoNullable: All remaining exceptions (dotnet/coreclr#23676)
Santiago Fernandez Madero [Wed, 3 Apr 2019 18:50:58 +0000 (11:50 -0700)]
Nullable: All remaining exceptions (dotnet/coreclr#23676)

* Nullable: All remaining exceptions

* Fix build break and PR Feedback

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

5 years agoMerge pull request dotnet/coreclr#23553 from janvorli/fix-accidental-non-collectible...
Jan Vorlicek [Wed, 3 Apr 2019 18:13:39 +0000 (20:13 +0200)]
Merge pull request dotnet/coreclr#23553 from janvorli/fix-accidental-non-collectible-alc-unloading

Fix accidental non-collectible context unloading

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

5 years agoMerge pull request dotnet/coreclr#23670 from BruceForstall/FixArmAltjitAsmDiffs
Bruce Forstall [Wed, 3 Apr 2019 17:02:27 +0000 (10:02 -0700)]
Merge pull request dotnet/coreclr#23670 from BruceForstall/FixArmAltjitAsmDiffs

Fix arm altjit asm diffs

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

5 years agoEmit event for calls to ReadyToRunInfo::GetEntryPoint. (dotnet/coreclr#23662)
Brian Robbins [Wed, 3 Apr 2019 15:48:26 +0000 (08:48 -0700)]
Emit event for calls to ReadyToRunInfo::GetEntryPoint. (dotnet/coreclr#23662)

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

5 years agoUpdate CoreClr to preview4-27603-71 (dotnet/coreclr#23679)
dotnet-maestro-bot [Wed, 3 Apr 2019 15:31:52 +0000 (08:31 -0700)]
Update CoreClr to preview4-27603-71 (dotnet/coreclr#23679)

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

5 years ago[Preview 4] Disable tier 0 JIT (quick JIT) by default, rename config option (dotnet...
Koundinya Veluri [Wed, 3 Apr 2019 13:51:43 +0000 (06:51 -0700)]
[Preview 4] Disable tier 0 JIT (quick JIT) by default, rename config option (dotnet/coreclr#23599)

Disable tier 0 JIT (quick JIT) by default, rename config option

- Tier 0 JIT is being called quick JIT in config options, renamed DisableTier0Jit to StartupTierQuickJit
- Disabled quick JIT by default, the current plan is to do that for preview 4
  - Concerns were that code produced by quick JIT may be slow, may allocate more, may use more stack space, and may be much larger than optimized code, and there there may be many cases where these things lead to regressions when the span of time between startup and steady-state is important
  - The thought was that with quick JIT disabled, tiering overhead from call counting and backgorund jitting with optimizations would be less, and perf during any point in time would be closer to 2.x releases
  - This mostly loses the startup perf gains from tiering. It may also be slightly slower compared with tiering off due to some overhead. When quick JIT is disabled for the startup tier, made a change to disable tiered compilation for methods in modules that are not R2R'ed since they will not be tiered currently anyway. The overhead and regression in R2R'ed modules will be looked into separately to see if it can be reduced.

Fixes https://github.com/dotnet/coreclr/issues/22998
Fixes https://github.com/dotnet/coreclr/issues/19751

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

5 years agoNullable: ReaderWriterLockSlim (dotnet/coreclr#23657)
Stephen Toub [Wed, 3 Apr 2019 13:40:20 +0000 (09:40 -0400)]
Nullable: ReaderWriterLockSlim (dotnet/coreclr#23657)

* Nullable: ReaderWriterLockSlim

* Address PR feedback

* Audit System.Threading for unannotated statics

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

5 years agoTreat WinMDs as having been loaded in the default ALC for AssemblyLoadContext.GetLoad...
Jeremy Koritzinsky [Wed, 3 Apr 2019 11:21:16 +0000 (04:21 -0700)]
Treat WinMDs as having been loaded in the default ALC for AssemblyLoadContext.GetLoadContext (dotnet/coreclr#23678)

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

5 years agoAvoid unnecessary SetLastError on PInvokes (dotnet/corefxdotnet/coreclr#36544)
Jan Kotas [Tue, 2 Apr 2019 21:41:49 +0000 (14:41 -0700)]
Avoid unnecessary SetLastError on PInvokes (dotnet/corefxdotnet/coreclr#36544)

These console PInvokes are used in nearly every app. Omitting unnecessary SetLastError
will save us from generating marshalling stub for them.

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

5 years agoMerge pull request dotnet/coreclr#23668 from briansull/pipeline-work
Brian Sullivan [Wed, 3 Apr 2019 00:57:00 +0000 (17:57 -0700)]
Merge pull request dotnet/coreclr#23668 from briansull/pipeline-work

Remove a few Check builds and Check tests for PullRequests

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

5 years agoUpdating the HWIntrinsic x86 codegen to handle indir nodes. (dotnet/coreclr#23629)
Tanner Gooding [Wed, 3 Apr 2019 00:06:27 +0000 (17:06 -0700)]
Updating the HWIntrinsic x86 codegen to handle indir nodes. (dotnet/coreclr#23629)

* Updating the SimpleBinOpTest.template to cover some additional containment scenarios

* Regenerating the x86 HWIntrinsic tests from their templates

* Updating the HWIntrinsic x86 codegen to handle indir nodes.

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

5 years agoDisable *.Arm32.Open in PullRequest and remove two queues from scheduled builds ...
Egor Chesakov [Tue, 2 Apr 2019 23:57:20 +0000 (16:57 -0700)]
Disable *.Arm32.Open in PullRequest and remove two queues from scheduled builds (dotnet/coreclr#23677)

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

5 years agoChange tests to not modify Core_Root (dotnet/coreclr#23470)
Jeremy Koritzinsky [Tue, 2 Apr 2019 23:39:11 +0000 (16:39 -0700)]
Change tests to not modify Core_Root (dotnet/coreclr#23470)

Redesign tests that needed to modify Core_Root to no longer do so.

- Loader.FromNativePaths: Use `CORE_LIBRARIES` instead of `COREROOT`
- Loader.AssemblyDependencyResolver: Split out the invalid hosting test that needs hostpolicy to not be preloaded. Have `CoreRun` and `CoreShim` preload hostpolicy when a path to a hostpolicy is specified in the `MOCK_HOSTPOLICY` environment variable.
- Add a `CLRTest.MockHosting.targets` file that is imported when a test requires hostpolicy. It adds the reference to the mock hostpolicy and ensures that the `MOCK_HOSTPOLICY` environment variable is correctly set in the test scripts.

Fixes dotnet/coreclr#23429.

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

5 years agoFix spill check for struct lclVars (dotnet/coreclr#23570)
Carol Eidt [Tue, 2 Apr 2019 22:54:26 +0000 (15:54 -0700)]
Fix spill check for struct lclVars (dotnet/coreclr#23570)

* Fix spill check for struct lclVars

With the 1st class struct changes, the `SPILL_APPEND` check for the case of an assignment to a lclVar needs to handle block ops as well as lclVar lhs.

Fix dotnet/coreclr#23545

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

5 years agoImprove COMPlus_JitFunctionTrace
Bruce Forstall [Tue, 2 Apr 2019 22:27:29 +0000 (15:27 -0700)]
Improve COMPlus_JitFunctionTrace

Indicated if the generated function was generated by altjit.
This helps when there is code generated by both altjit and non-altjit.

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

5 years agoFix arm altjit asm diffs
Bruce Forstall [Tue, 2 Apr 2019 22:22:17 +0000 (15:22 -0700)]
Fix arm altjit asm diffs

At shutdown, the VM iterates over generated code as part of ETW
"rundown". This currently includes altjit generated code. It calls
functions which interprets the code as native code, e.g., arm32
GC info as x86 GC info.

The fix is to make a call to BackoutJitData(), which was already
suggested in the comments. This removes the altjit generated code
from the "nibble map", and hence from the iteration.

Fixes dotnet/coreclr#23393

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

5 years agoMerge pull request dotnet/coreclr#23521 from k15tfu/fix-issue-20784
Jan Vorlicek [Tue, 2 Apr 2019 22:08:58 +0000 (00:08 +0200)]
Merge pull request dotnet/coreclr#23521 from k15tfu/fix-issue-20784

Move C/C++ and platform headers to pal/inc/rt/cpp folder

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

5 years agoNullable: System.Threading (dotnet/coreclr#23663)
Stephen Toub [Tue, 2 Apr 2019 22:05:59 +0000 (18:05 -0400)]
Nullable: System.Threading (dotnet/coreclr#23663)

Finishes off annotation of the System.Threading namespace, not including subnamespaces.

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

5 years agoReduce Check build and Check tests for PullRequest to
Brian Sullivan [Tue, 2 Apr 2019 21:46:27 +0000 (14:46 -0700)]
Reduce Check build and Check tests for PullRequest to
        - Linux_arm
        - Linux_arm64
        - Linux_musl_x64
        - Linux_x64
        - OSX_x64
        - Windows_NT_arm
        - Windows_NT_arm64
        - Windows_NT_x64
        - Windows_NT_x86

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

5 years agoMerge pull request dotnet/coreclr#23565 from briansull/pipeline-work
Brian Sullivan [Tue, 2 Apr 2019 21:05:16 +0000 (14:05 -0700)]
Merge pull request dotnet/coreclr#23565 from briansull/pipeline-work

Move to outerloop - several  azure-pipeline jobs

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

5 years agoNullable: Interlocked, Volatile (dotnet/coreclr#23655)
Stephen Toub [Tue, 2 Apr 2019 18:53:47 +0000 (14:53 -0400)]
Nullable: Interlocked, Volatile (dotnet/coreclr#23655)

Also fixing the class? annotation on public LazyInitializer methods.

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

5 years agoNullable: Overlapped and friends (dotnet/coreclr#23656)
Stephen Toub [Tue, 2 Apr 2019 18:37:26 +0000 (14:37 -0400)]
Nullable: Overlapped and friends (dotnet/coreclr#23656)

* Nullable: Overlapped and friends

* Address PR feedback

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

5 years agoMerge pull request dotnet/coreclr#23601 from dotnet-maestro-bot/master-UpdateDependencies
William Godbe [Tue, 2 Apr 2019 18:22:19 +0000 (11:22 -0700)]
Merge pull request dotnet/coreclr#23601 from dotnet-maestro-bot/master-UpdateDependencies

Update CoreClr to preview4-27602-71 (master)

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

5 years agoMerge pull request dotnet/coreclr#23659 from safern/merge-master-nullable
Stephen Toub [Tue, 2 Apr 2019 18:15:12 +0000 (14:15 -0400)]
Merge pull request dotnet/coreclr#23659 from safern/merge-master-nullable

Merge master into NullableFeature

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

5 years agoOutput error messages to stderr. This provides a better integration with the .NET...
Fadi Hanna [Tue, 2 Apr 2019 17:41:49 +0000 (10:41 -0700)]
Output error messages to stderr. This provides a better integration with the .NET SDK (dotnet/coreclr#23658)

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

5 years agoMerge remote-tracking branch 'dotnet/master' into merge-master-nullable
Santiago Fernandez Madero [Tue, 2 Apr 2019 17:32:53 +0000 (10:32 -0700)]
Merge remote-tracking branch 'dotnet/master' into merge-master-nullable

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

5 years agoNullable: System.Enum
buyaa-n [Tue, 2 Apr 2019 17:11:27 +0000 (10:11 -0700)]
Nullable: System.Enum

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

5 years agoNullable: globalization remainder (dotnet/coreclr#23526)
Krzysztof Wicher [Tue, 2 Apr 2019 16:07:08 +0000 (09:07 -0700)]
Nullable: globalization remainder (dotnet/coreclr#23526)

* Nullable: remainder of globalization

* annotate windows specific files

* add TODO-NULLABLE next to TODO suggesting comments

* fixes after merging other globalization annotations, apply feedback

* fix windows

* address feedback

* fix windows

* fixes

* apply feedback

* remove workaround

* s_Invariant?, couple of Debug.Asserts

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

5 years agoJIT: prolog zeroing accounting changes (dotnet/coreclr#23498)
Andy Ayers [Tue, 2 Apr 2019 16:06:32 +0000 (09:06 -0700)]
JIT: prolog zeroing accounting changes (dotnet/coreclr#23498)

Stop double-counting some locals when computing how many slots need to be
zeroed in the prolog.

Bump threshold for rep stosb style init from 16 bytes to 32 bytes on x64.

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

5 years ago[EventPipe] Streaming events out-of-proc using IPC (dotnet/coreclr#23448)
José Rivero [Tue, 2 Apr 2019 14:06:42 +0000 (07:06 -0700)]
[EventPipe] Streaming events out-of-proc using IPC (dotnet/coreclr#23448)

- There was a race condition on EventPipe::Disable where we deallocated the s_pSession and set it to NULL, but there was still a thread waiting to write and dereference the null pointer. Now, we check that the session is not null.
- Added a new attach event to be handled to the Diagnostic server: Add streaming functionality (Syncronus) dotnet/coreclr#23299
- On Linux, IPC was failing when delete was invoked because we were using new (std::nothrow) instead of new (nothrow) when allocating the newly connected clients/streams. I have replaced the call with new. This fixed dotnet/coreclr#23580
- Move multiFileTraceLengthInSeconds out of the EventPipeSession.
- Unlink previously existing socket.
- EventPipeBlock: _ASSERTE was updated not to fail when data is not aligned if an error has already occurred.
- Update _ASSERTE in fastserializer.cpp to take into account the the write operation could have failed.

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

5 years agoNullable: System.Buffers (dotnet/coreclr#23619)
Stephen Toub [Tue, 2 Apr 2019 13:59:00 +0000 (09:59 -0400)]
Nullable: System.Buffers (dotnet/coreclr#23619)

* Nullable: System.Buffers

* Address PR feedback

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

5 years agoUpdate CoreClr to preview4-27602-71
dotnet-maestro-bot [Tue, 2 Apr 2019 13:19:22 +0000 (06:19 -0700)]
Update CoreClr to preview4-27602-71

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

5 years agoRemove test exclusion for 23262 (dotnet/coreclr#23405)
Michal Strehovský [Tue, 2 Apr 2019 12:48:47 +0000 (14:48 +0200)]
Remove test exclusion for 23262 (dotnet/coreclr#23405)

The commit that added the test was rolled back.

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

5 years agoMove C/C++ and platform headers to pal/inc/rt/cpp folder
Ilia K [Thu, 28 Mar 2019 17:28:47 +0000 (20:28 +0300)]
Move C/C++ and platform headers to pal/inc/rt/cpp folder

Affected files: assert.h, emmintrin.h, and xmmintrin.h

Bug: 20784

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

5 years agoNullable: AsyncLocal (dotnet/coreclr#23618)
Stephen Toub [Tue, 2 Apr 2019 02:55:23 +0000 (22:55 -0400)]
Nullable: AsyncLocal (dotnet/coreclr#23618)

* Nullable: AsyncLocal

* Address PR feedback

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