platform/upstream/dotnet/runtime.git
5 years agoFix resource stream for collectible assemblies (dotnet/coreclr#22925)
Jan Vorlicek [Fri, 1 Mar 2019 11:10:49 +0000 (12:10 +0100)]
Fix resource stream for collectible assemblies (dotnet/coreclr#22925)

* Fix resource stream for collectible assemblies

The GetManifestResourceStream was returning a stream that didn't keep
the underlying assembly alive. For collectible assemblies, that means
that an assembly could be collected and the stream still kept,
potentially reading garbage.

The fix is to create a new stream type that stores a reference to the
underlying assembly, thus ensuring the proper lifetime management.

* Make the new stream class sealed

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

5 years agoAnother small tweak to fix Thread behavioral difference (dotnet/coreclr#22943)
Stephen Toub [Fri, 1 Mar 2019 09:35:45 +0000 (04:35 -0500)]
Another small tweak to fix Thread behavioral difference (dotnet/coreclr#22943)

To match existing behavior: https://github.com/dotnet/corefx/blob/dotnet/coreclr@5dc8132370532804a5381b90e2ce87d6c52b61f6/src/Common/src/CoreLib/System/Threading/Thread.Unix.cs#L13

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

5 years agoFix keyword for PinPlugAtGCTime event (dotnet/coreclr#22806)
Sung Yoon Whang [Fri, 1 Mar 2019 05:50:14 +0000 (21:50 -0800)]
Fix keyword for PinPlugAtGCTime event (dotnet/coreclr#22806)

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

5 years agoAdd Rune.DecodeUtf16 / DecodeUtf8 and friends (dotnet/coreclr#22725)
Levi Broderick [Fri, 1 Mar 2019 05:48:01 +0000 (21:48 -0800)]
Add Rune.DecodeUtf16 / DecodeUtf8 and friends (dotnet/coreclr#22725)

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

5 years agoMove COM related attributes to the shared source location of Object class. (dotnet...
Aaron Robinson [Fri, 1 Mar 2019 03:17:13 +0000 (19:17 -0800)]
Move COM related attributes to the shared source location of Object class. (dotnet/coreclr#22942)

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

5 years agoConsume optimization packages using new dependency flow system (dotnet/coreclr#22915)
Juan Hoyos [Fri, 1 Mar 2019 02:55:34 +0000 (18:55 -0800)]
Consume optimization packages using new dependency flow system (dotnet/coreclr#22915)

* Consume optimization packages using new dependency flow system.

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

5 years agoFix CoreFX build scripts2. (dotnet/coreclr#22931)
Sergey Andreenko [Fri, 1 Mar 2019 02:31:44 +0000 (18:31 -0800)]
Fix CoreFX build scripts2. (dotnet/coreclr#22931)

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

5 years agoRemoving the ExtractVector128 and InsertVector128 APIs that take an address. (dotnet...
Tanner Gooding [Fri, 1 Mar 2019 00:28:14 +0000 (16:28 -0800)]
Removing the ExtractVector128 and InsertVector128 APIs that take an address. (dotnet/coreclr#22886)

* Removing the InsertVector128 and ExtractVector128 overloads that take an address from S.P.Corelib

* Removing the ExtractStore and InsertLoad tests.

* Fixing the PacketTracer test to use the appropriate Extract/InsertVector128 overloads

* Removing the JIT support for the Extract/InsertVector128 overloads that take an address.

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

5 years agoRevert "Update added types and methoddefs on ApplyMetadata (dotnet/coreclr#22617...
Jan Kotas [Thu, 28 Feb 2019 23:45:26 +0000 (15:45 -0800)]
Revert "Update added types and methoddefs on ApplyMetadata (dotnet/coreclr#22617)" (dotnet/coreclr#22923)

This reverts commit dotnet/coreclr@ee755e322dabc2fc280e2561b0fbaf6e90aedf54.

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

5 years agoSet the MarshalByRefObject to be ComVisible and (dotnet/coreclr#22930)
Aaron Robinson [Thu, 28 Feb 2019 23:25:17 +0000 (15:25 -0800)]
Set the MarshalByRefObject to be ComVisible and (dotnet/coreclr#22930)

a IDispatch class interface. this is being done
  to ensure WinForms consumers can interact with
  COM based controls.

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

5 years agoSet flag in comp info to signal that a caller has >8 byte struct args (dotnet/coreclr...
Jarret Shook [Thu, 28 Feb 2019 22:30:03 +0000 (14:30 -0800)]
Set flag in comp info to signal that a caller has >8 byte struct args (dotnet/coreclr#22775)

* Set flag in comp info to signal that a caller has >8 byte struct args

This will be used by fgCanFastTailCall to correctly determine whether an arm64
or x64 linux caller/callee can fastTailCall.
It is also a workaround to dotnet/coreclr#12468 to catch early any slot shuffling that would happen in LowerFastTailCall. Which currently assumes all parameters are one slot size.

* Address feedback

* Apply format patch

* Add comment

* apply new format patch

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

5 years agoNativeLibraryTests: Platform restriction on some tests (dotnet/coreclr#22732)
Swaroop Sridhar [Thu, 28 Feb 2019 22:10:46 +0000 (14:10 -0800)]
NativeLibraryTests: Platform restriction on some tests (dotnet/coreclr#22732)

NativeLibraryTests: Platform restriction on some tests

This change adds platform restrictions on two API tests:
* Change the System32 dll loading test from `msi.dll` to `uri.dll`
* Restrict the System32 dll loading test to platforms where `uri.dll` actually exists in the System32 directory.
* Disable double-free tests on Linux, because the OS call doesn't reliably fail.

Use the public version of CoreLib, since the NativeLibrary APIs are
now available.

Fixes dotnet/coreclr#22726

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

5 years agoFix DumpAsync to understand ContinuationWrapper (dotnet/coreclr#22913)
Stephen Toub [Thu, 28 Feb 2019 21:44:26 +0000 (16:44 -0500)]
Fix DumpAsync to understand ContinuationWrapper (dotnet/coreclr#22913)

Continuations created while the debugger is attached or certain EventSource events are enabled end up getting wrapped in an extra ContinuationWrapper object that carries some additional information.  DumpAsync currently isn't unwrapping these but should.  This just teaches it to look for a known field name so that it can "see through" these wrappers while following async "stacks".

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

5 years agoFix GetApartmentState value on Unix to be Unknown (dotnet/coreclr#22928)
Stephen Toub [Thu, 28 Feb 2019 21:42:27 +0000 (16:42 -0500)]
Fix GetApartmentState value on Unix to be Unknown (dotnet/coreclr#22928)

* Fix GetApartmentState value on Unix to be Unknown

The code in corefx is returning ApartmentState.Unknown on Unix.  This new coreclr implementation should do the same.

* Fix visibility on TrySetApartmentStateUnchecked

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

5 years agoJIT: allow slightly more general promotion of structs with struct fields (dotnet...
Andy Ayers [Thu, 28 Feb 2019 20:15:19 +0000 (12:15 -0800)]
JIT: allow slightly more general promotion of structs with struct fields (dotnet/coreclr#22867)

For a while now the jit has been able to promote an outer struct A with an
inner struct field B that itself has a single non-struct field C, provided
that C occupies all of B and that C and B are pointer-sized.

For example, this comes up when supporting promotion of `Span<T>`, as a span
contains a `ByReference<T>` field that itself contains a pointer-sized field.

This change relaxes the constraints slightly, allowing B and C to be less than
pointer sized, provided C still occupies all of B, and B is suitably aligned
within A.

Doing so allows promotion of the new `Range` type, which contains two `Index`
fields that each wrap an `int`. This improves performance for uses of `Range`
for simple examples like those in dotnet/coreclr#22079.

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

5 years agoMake the new stream class sealed
Jan Vorlicek [Thu, 28 Feb 2019 19:59:34 +0000 (20:59 +0100)]
Make the new stream class sealed

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

5 years agoRemove unused packages from init-tools.msbuild (dotnet/coreclr#22884)
Steve MacLean [Thu, 28 Feb 2019 19:47:58 +0000 (14:47 -0500)]
Remove unused packages from init-tools.msbuild (dotnet/coreclr#22884)

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

5 years agoRemove sdmaclea from active arm64 users (dotnet/coreclr#22924)
Steve MacLean [Thu, 28 Feb 2019 19:08:06 +0000 (14:08 -0500)]
Remove sdmaclea from active arm64 users (dotnet/coreclr#22924)

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

5 years agoFix resource stream for collectible assemblies
Jan Vorlicek [Thu, 28 Feb 2019 19:06:57 +0000 (20:06 +0100)]
Fix resource stream for collectible assemblies

The GetManifestResourceStream was returning a stream that didn't keep
the underlying assembly alive. For collectible assemblies, that means
that an assembly could be collected and the stream still kept,
potentially reading garbage.

The fix is to create a new stream type that stores a reference to the
underlying assembly, thus ensuring the proper lifetime management.

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

5 years agoRe-partition MSBuild test groups (dotnet/coreclr#22885)
Egor Chesakov [Thu, 28 Feb 2019 17:55:28 +0000 (09:55 -0800)]
Re-partition MSBuild test groups (dotnet/coreclr#22885)

This changes a tests partitioning scheme of coreclr tests in several different ways:

1. Make the test groups are of equal (to some extent) sizes keeping the number of tests in one group less than 1000;

2. As a resulf of 1) this increases a number of groups needed for Pri0 tests to 3 and decreases a number of groups for Pri1 tests to 10;

3. This also changes a way of tests partitioning scheme is defined - instead of explicitly specifying MSBuild Include-patterns this defines a boundaries between test groups in a form of _StartsWith ItemGroup. Then I use StringComparer.Ordinal to pick tests that belong to a particular group.

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

5 years agoFix CoreRT build break
Jan Kotas [Thu, 28 Feb 2019 07:41:42 +0000 (23:41 -0800)]
Fix CoreRT build break

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

5 years agoChange IBC package layout to match what we generate (dotnet/coreclr#22799)
Michelle McDaniel [Thu, 28 Feb 2019 06:52:30 +0000 (22:52 -0800)]
Change IBC package layout to match what we generate (dotnet/coreclr#22799)

* Change IBC package layout to match what the optimization repo now generates

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

5 years agoMerge pull request dotnet/coreclr#22890 from stephentoub/fixthreadbehavior
Stephen Toub [Thu, 28 Feb 2019 04:23:46 +0000 (23:23 -0500)]
Merge pull request dotnet/coreclr#22890 from stephentoub/fixthreadbehavior

Fix Thread-related behavior changes

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

5 years agoUpdate BuildTools, CoreClr, IbcData, PgoData to preview1-03723-01, preview4-27427...
Juan Hoyos [Thu, 28 Feb 2019 02:27:31 +0000 (18:27 -0800)]
Update BuildTools, CoreClr, IbcData, PgoData to preview1-03723-01, preview4-27427-72, master-20190227.1, master-20190227.1, respectively (master) [Manual] (dotnet/coreclr#22903)

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

5 years agoAddress PR feedback (clean up style in Thread.CoreCLR.cs)
Stephen Toub [Wed, 27 Feb 2019 22:53:25 +0000 (17:53 -0500)]
Address PR feedback (clean up style in Thread.CoreCLR.cs)

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

5 years agoRemove legacy classfactory.cpp implementation for managed COM activation (dotnet...
Aaron Robinson [Thu, 28 Feb 2019 00:49:26 +0000 (16:49 -0800)]
Remove legacy classfactory.cpp implementation for managed COM activation (dotnet/coreclr#22895)

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

5 years agoadded a lightweight GC profiling option (dotnet/coreclr#22866)
Maoni Stephens [Thu, 28 Feb 2019 00:35:03 +0000 (16:35 -0800)]
added a lightweight GC profiling option (dotnet/coreclr#22866)

added a profiling event mask in the high 32-bit, COR_PRF_HIGH_BASIC_GC, for basic GC monitoring. it can be set via `ICorProfilerInfo5::SetEventMask2`. all this gives you is

    * GC start callback

    * GC end callback

    * update generational bounds

note that one different behavior between this and the existing COR_PRF_MONITOR_GC is, aside from the obvious that it doesn't give you any info beyond the above, is that the GC end callback + update generational bounds are enabled for _all_ GCs, not just non concurrent GCs. I kept the behavior the same for COR_PRF_MONITOR_GC because I don't want to risk breaking existing profiling tools that do not anticipate these for concurrent GCs.

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

5 years agoMerge pull request dotnet/coreclr#22736 from dotnet/dev/tomat/copyrights
Tomáš Matoušek [Thu, 28 Feb 2019 00:20:36 +0000 (16:20 -0800)]
Merge pull request dotnet/coreclr#22736 from dotnet/dev/tomat/copyrights

Set copyright and package license

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

5 years agoFix BitOperations using in standalone EventSource build
Stephen Toub [Wed, 27 Feb 2019 13:43:03 +0000 (08:43 -0500)]
Fix BitOperations using in standalone EventSource build

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

5 years agoFix EventSource StubEnvironment
Jan Kotas [Wed, 27 Feb 2019 06:21:32 +0000 (22:21 -0800)]
Fix EventSource StubEnvironment

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

5 years agoFix sync.sh syntax error (dotnet/coreclr#22883)
Steve MacLean [Wed, 27 Feb 2019 21:53:08 +0000 (16:53 -0500)]
Fix sync.sh syntax error (dotnet/coreclr#22883)

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

5 years ago[Test fix] Test failure: tracing_eventsource._eventpipeandetw_eventpipeandetw_eventpi...
José Rivero [Wed, 27 Feb 2019 21:46:54 +0000 (13:46 -0800)]
[Test fix] Test failure: tracing_eventsource._eventpipeandetw_eventpipeandetw_eventpipeandetw_/_eventpipeandetw_eventpipeandetw_eventpipeandetw_cmd (dotnet/coreclr#22870)

- Fixes dotnet/coreclr#19302

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

5 years agoDisabling runtimeeventsource to unblock official build. (dotnet/coreclr#22899)
José Rivero [Wed, 27 Feb 2019 21:41:45 +0000 (13:41 -0800)]
Disabling runtimeeventsource to unblock official build. (dotnet/coreclr#22899)

- Related failures: dotnet/coreclr#18907, dotnet/coreclr#19340, dotnet/coreclr#22441, dotnet/coreclr#22729.

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

5 years agoDisabling windows event log test till further investigation on frequent failures...
Sung Yoon Whang [Wed, 27 Feb 2019 21:34:36 +0000 (13:34 -0800)]
Disabling windows event log test till further investigation on frequent failures (dotnet/coreclr#22889)

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

5 years agoFixing hwintrinsicArm64 to return nullptr for the Base_As intrinsics if featureSimd...
Tanner Gooding [Wed, 27 Feb 2019 20:14:00 +0000 (12:14 -0800)]
Fixing hwintrinsicArm64 to return nullptr for the Base_As intrinsics if featureSimd is false (dotnet/coreclr#22831)

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

5 years agoFix Thread-related breaking changes
Stephen Toub [Wed, 27 Feb 2019 19:51:50 +0000 (14:51 -0500)]
Fix Thread-related breaking changes

- Thread.ExecutionContext needs to return ExecutionContext.Capture() to public callers.
- Fix restoring of culture to be inside of the ExecutionContext callback where applicable

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

5 years agoFix Thread.ExecutionContext breaking change (dotnet/coreclr#22882)
Stephen Toub [Wed, 27 Feb 2019 18:16:11 +0000 (13:16 -0500)]
Fix Thread.ExecutionContext breaking change (dotnet/coreclr#22882)

Its getter is a public API and can't be made internal.

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

5 years agoFix WaitTimeout breaking change (dotnet/coreclr#22881)
Stephen Toub [Wed, 27 Feb 2019 17:40:06 +0000 (12:40 -0500)]
Fix WaitTimeout breaking change (dotnet/coreclr#22881)

WaitHandle.WaitTimeout is a public API.  It can't be made internal.

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

5 years agoRemove BuildTestsAgainstPackages logic
Russ Keldorph [Tue, 26 Feb 2019 19:02:53 +0000 (11:02 -0800)]
Remove BuildTestsAgainstPackages logic

No longer necessary without PipeBuild logic

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

5 years agoAdd blob feed to dependencies.props (dotnet/coreclr#22857)
Jeremy Koritzinsky [Wed, 27 Feb 2019 06:59:33 +0000 (22:59 -0800)]
Add blob feed to dependencies.props (dotnet/coreclr#22857)

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

5 years agoPreserve Marshal.GetLastWin32Error in SafeHandle.DangerousRelease (dotnet/coreclr...
Jan Kotas [Wed, 27 Feb 2019 06:51:21 +0000 (22:51 -0800)]
Preserve Marshal.GetLastWin32Error in SafeHandle.DangerousRelease (dotnet/coreclr#22871)

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

5 years agoMove Thread to shared CoreLib (dotnet/coreclr#22744)
Filip Navara [Wed, 27 Feb 2019 06:48:33 +0000 (07:48 +0100)]
Move Thread to shared CoreLib (dotnet/coreclr#22744)

* Move Thread to shared CoreLib

* Remove all local variables from Thread in shared code

* Remove duplicate checks

* Port back CoreRT changes needed for shared code

* Fix missing culture initialization in ThreadStart()

* Adjust for shared WaitHandle

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

5 years agoMake BitOperations public (CoreCLR) (dotnet/coreclr#22864)
Grant [Wed, 27 Feb 2019 05:04:37 +0000 (21:04 -0800)]
Make BitOperations public (CoreCLR) (dotnet/coreclr#22864)

* Make BitOps public

* Update name to BitOperations

* Change namespace to System.Numerics

* Fix file name

* Alphabetical

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

5 years agoRemove bogus assert in Thread::MarkThreadForAbort (dotnet/coreclr#22869)
Andrew Au [Wed, 27 Feb 2019 04:39:30 +0000 (20:39 -0800)]
Remove bogus assert in Thread::MarkThreadForAbort (dotnet/coreclr#22869)

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

5 years agoUpdate EventCounter spec (dotnet/coreclr#22852)
Noah Falk [Wed, 27 Feb 2019 03:32:34 +0000 (19:32 -0800)]
Update EventCounter spec (dotnet/coreclr#22852)

* Update EventCounter spec

We made a flurry of decisions in our meeting last wednesday.
Partly this fills in areas of the design we didn't adequately decide on and
partly this suggests a few changes after having had time to think on it.

1) My suggestion to use IntervalSec as an identifier for a series doesn't
work. I proposed a new field 'Series' that is used for that same purpose.

2) I am proposing we no longer standardize on the five-tuple of stats.
Although it made sense to me at the time, decisions we made later in the
meeting invalidated the basis for that choice IMO.

3) Aggregating seems like an overly generic name that all counters do, so
I propose 'Incrementing' as a more specific term.

4) I am proposing we stop accepting fractional time intervals because
probably nobody would have used them anyways and now we don't have to worry
about floating point rounding and canonicalization issues when determining
if two clients share the same time series or in round tripping the identifier
back to them.

5) I defined specific fields for 'DisplayName' and 'CounterType' in our
wire protocol. Although not opposed to a generic metadata field for other
purposes, it seemed unnecessary for our current purposes.

6) I switched Incrementing coutner to float, because it it
would be a shame if we had to make a whole new counter in the future
that did exactly the same thing just with floating point values. For example
'GC Seconds Paused'

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

5 years agoFix `optVNConstantPropOnTree`. (dotnet/coreclr#22865)
Sergey Andreenko [Wed, 27 Feb 2019 00:58:37 +0000 (16:58 -0800)]
Fix `optVNConstantPropOnTree`. (dotnet/coreclr#22865)

It should use the same VN that `optVNConstantPropOnTree` uses.

Without this fix `optVNConstantPropOnTree` was doing nothing.

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

5 years agoFix Assembly::Load context for collectible assemblies (dotnet/coreclr#22494)
Jan Vorlicek [Tue, 26 Feb 2019 22:46:00 +0000 (23:46 +0100)]
Fix Assembly::Load context for collectible assemblies (dotnet/coreclr#22494)

* Fix Assembly::Load context for collectible assemblies

This change fixes a problem when Assembly::Load is called from an
assembly in a collectible AssemblyLoadContext. In that case, we ended up
loading it into the default context instead of the context of the
calling assembly.

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

5 years agoFix _IlasmDir definition (dotnet/coreclr#22856)
Eric StJohn [Tue, 26 Feb 2019 22:16:55 +0000 (14:16 -0800)]
Fix _IlasmDir definition (dotnet/coreclr#22856)

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

5 years agoJIT: In morph, only call DefinesLocal on assignments (dotnet/coreclr#22753)
Andy Ayers [Tue, 26 Feb 2019 19:39:46 +0000 (11:39 -0800)]
JIT: In morph, only call DefinesLocal on assignments (dotnet/coreclr#22753)

When checking for local assertions to kill in morph, only call `DefinesLocal` on `GT_ASG` nodes.

Also, assert that we never see LIR style assignments.

Resolves dotnet/coreclr#22747.

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

5 years agoMerge pull request dotnet/coreclr#22841 from josalem/stacktrace-cache-unloading-20179...
John Salem [Tue, 26 Feb 2019 18:11:11 +0000 (10:11 -0800)]
Merge pull request dotnet/coreclr#22841 from josalem/stacktrace-cache-unloading-20179-prechange

Adds collection of `Assembly` objects while walking the stack in `DebugStackTrace::GetStackFrameInternal`
* new field in `StackFrameHelper` in both managed and native (plus mscorlib macro definition)
* retrieved via `methodDesc->GetAssembly()->GetDomainAssembly()->GetExposedAssemblyObject()`

Calls `GetSourceLineInfo` with delegate signature that *does not* consume an `Assembly`.  As a result, this there will be a follow up change to call the updated version after it exists in CoreFX.

dotnet/coreclr#20179

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

5 years agoUpdate added types and methoddefs on ApplyMetadata (dotnet/coreclr#22617)
David Mason [Tue, 26 Feb 2019 16:56:45 +0000 (08:56 -0800)]
Update added types and methoddefs on ApplyMetadata (dotnet/coreclr#22617)

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

5 years agoGCC compatibility fixes dotnet/coreclr#7 (dotnet/coreclr#22810)
Sinan Kaya [Tue, 26 Feb 2019 10:55:05 +0000 (05:55 -0500)]
GCC compatibility fixes dotnet/coreclr#7 (dotnet/coreclr#22810)

* Use thread_local for thread local storage on non MSVC targets

* Use local copy of visitor rather than function parameter

* Remove extra class qualifier

* Replace hex number representation in ASM files

* Reorder STDAPI and DLLEXPORT

* Suppress conversion

Suppress warning during hash

add casting

* Remove anonymous struct

src/vm/codeversion.h:112:16: warning: ‘struct NativeCodeVersion::<anonymous union>::SyntheticStorage’ invalid; an anonymous union can only have non-static data members [-fpermissive]
         struct SyntheticStorage

* Remove class declaration

Remove extra class declaration

* Remove extern C

* Add implicit paranthesis

src/vm/amd64/virtualcallstubcpu.hpp:735:103: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses]
     resolveInit.toMiss1                = offsetof(ResolveStub,miss)-(offsetof(ResolveStub,toMiss1)+1) & 0xFF;
                                                                                                       ^
src/vm/amd64/virtualcallstubcpu.hpp:741:103: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses]
     resolveInit.toMiss2                = offsetof(ResolveStub,miss)-(offsetof(ResolveStub,toMiss2)+1) & 0xFF;

Add parenthesis

src/vm/dataimage.cpp:631:55: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
                  previousRvaInfo->rva == rvaInfo->rva && previousRvaInfo->size >= rvaInfo->size

Add parenthesis

src/debug/daccess/daccess.cpp:6871:29: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
     _ASSERTE(peFile == NULL && reflectionModule != NULL || peFile != NULL && reflectionModule == NULL);

Add parenthesis

src/vm/dataimage.cpp:631:57: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
                  (previousRvaInfo->rva == rvaInfo->rva) && (previousRvaInfo->size >= rvaInfo->size)

* Initialize member 1

src/ilasm/method.cpp:35:36: warning: operation on ‘((Method*)this)->Method::m_ulColumns[0]’ may be undefined [-Wsequence-point]
     m_ulColumns[0]=m_ulColumns[0]=0;

* Remove unknown compiler option

* Abstract DLLEXPORT

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

5 years agoSpec for EventCounter changes (dotnet/coreclr#22811)
Noah Falk [Tue, 26 Feb 2019 08:17:02 +0000 (00:17 -0800)]
Spec for EventCounter changes (dotnet/coreclr#22811)

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

5 years agoAdd the coreclr blob feed as a restore source for test builds. (dotnet/coreclr#22839)
Jeremy Koritzinsky [Tue, 26 Feb 2019 07:54:21 +0000 (23:54 -0800)]
Add the coreclr blob feed as a restore source for test builds. (dotnet/coreclr#22839)

* Add the coreclr blob feed as a restore source for test builds.
* Use one NuGet.config in the root folder for restore targets.

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

5 years agoSpecial-case 1 module per assembly in Assembly.GetTypes/DefinedTypes (dotnet/coreclr...
Stephen Toub [Tue, 26 Feb 2019 03:17:19 +0000 (22:17 -0500)]
Special-case 1 module per assembly in Assembly.GetTypes/DefinedTypes (dotnet/coreclr#22825)

It's very common for an assembly to have only one module, in which case we can avoid unnecessary allocations and copies in Assembly.GetTypes() and Assembly.DefinedTypes.

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

5 years agoRemove buildpipelines (dotnet/coreclr#22835)
Steve MacLean [Tue, 26 Feb 2019 01:57:44 +0000 (20:57 -0500)]
Remove buildpipelines (dotnet/coreclr#22835)

* Remove old buildpipeline

* Remove obsolete publish-packages

* Remove obsolete helix scripts

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

5 years agoAdd platforms template parameter to platform-matrix.yml (dotnet/coreclr#22800)
Egor Chesakov [Tue, 26 Feb 2019 00:41:40 +0000 (16:41 -0800)]
Add platforms template parameter to platform-matrix.yml (dotnet/coreclr#22800)

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

5 years agoFor linux-musl-arm64 use OutputRid (dotnet/coreclr#22840)
Jarret Shook [Mon, 25 Feb 2019 23:50:59 +0000 (15:50 -0800)]
For linux-musl-arm64 use OutputRid (dotnet/coreclr#22840)

This variable was added for linux-musl-x64 in our old official builds,
because our current logic in src/.nuget/dirs.props incorrectly parses
the __DistroRid passed.

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

5 years agoFix and re-enable some finalizer tests (dotnet/coreclr#22771)
Andy Ayers [Mon, 25 Feb 2019 23:50:03 +0000 (15:50 -0800)]
Fix and re-enable some finalizer tests (dotnet/coreclr#22771)

Mark key allocating methods noinline, otherwise they may get inlined
under jit stress and leave jit temps referring to allocations that the test
expects should be collectible.

Resolves dotnet/coreclr#19218.

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

5 years agoRemove support for ICLRExecutionManager and pause/resume code for waits (dotnet/corec...
Filip Navara [Mon, 25 Feb 2019 23:38:54 +0000 (00:38 +0100)]
Remove support for ICLRExecutionManager and pause/resume code for waits (dotnet/coreclr#22834)

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

5 years agoSimplify getting exposed Assembly, and specifies parameter types for GetSourceLineInfo
John Salem [Mon, 25 Feb 2019 22:53:16 +0000 (14:53 -0800)]
Simplify getting exposed Assembly, and specifies parameter types for GetSourceLineInfo

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

5 years agoMove WaitHandle to shared CoreLib (dotnet/coreclr#22634)
Filip Navara [Mon, 25 Feb 2019 17:28:46 +0000 (18:28 +0100)]
Move WaitHandle to shared CoreLib (dotnet/coreclr#22634)

* Move part of WaitHandle to shared CoreLib

* Bring back OpenExistingResult to fix build

* Move reminder of WaitHandle to shared, implement SynchronizationContext logic in managed code, handle SafeHandle referencing in managed code

* Update with changes neeeded for CoreRT

* Span -> ReadOnlySpan

* Remove dead code

* Fix SafeHandle error handling

* Avoid double check on input values in WaitHandle.WaitOne overloads

* Make OpenExistingResult private protected instead of internal

* Make WaitHandle._waitHandle private

* Code style fixes

* Remove unnecessary GC.KeepAlive

* Move ERROR_TOO_MANY_POSTS exception handling to CoreCLR specific code

* Add cache for wait arrays to match previous CoreRT behavior and reduce GC pressure, change unmanaged code to allocate small array on stack

* Address PR feedback

* Reduce allocations/copying by moving stack allocation to managed code

* Address PR feedback

* Minor code reshuffle

* Move thread local access close to each other

* Address code style feedback

* Add const to Wait* constants

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

5 years agoMerge pull request dotnet/coreclr#22796 from ericstj/splitILAsmCopy
Eric StJohn [Mon, 25 Feb 2019 17:19:01 +0000 (09:19 -0800)]
Merge pull request dotnet/coreclr#22796 from ericstj/splitILAsmCopy

Split out copy of Ilasm and make it optional

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

5 years agoRemoved erroneous use of 'PROCESSOR_ARCHITECTURE' Enviroment variable (dotnet/coreclr...
John [Sat, 23 Feb 2019 17:08:00 +0000 (17:08 +0000)]
Removed erroneous use of 'PROCESSOR_ARCHITECTURE' Enviroment variable (dotnet/coreclr#22743)

Removed erroneous use of 'PROCESSOR_ARCHITECTURE' Enviroment variable

Changed all uses of 'Enviroment.GetEnviromentVariable("PROCESSOR_ARCHITECTURE")'
to usage of 'System.Runtime.InteropServices.RuntimeInformation.ProcessArchitecture'
and 'enum System.Runtime.InteropServices.Architecture'.

Fix dotnet/coreclr#22694

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

5 years agofix BSWAP16 intrinsic handling of signed values (dotnet/coreclr#22666)
Clinton Ingram [Sat, 23 Feb 2019 17:06:16 +0000 (09:06 -0800)]
fix BSWAP16 intrinsic handling of signed values (dotnet/coreclr#22666)

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

5 years agoMove AssemblyLoadContext to shared partition (dotnet/coreclr#22685)
Marek Safar [Sat, 23 Feb 2019 10:06:32 +0000 (11:06 +0100)]
Move AssemblyLoadContext to shared partition (dotnet/coreclr#22685)

* Move AssemblyLoadContext to shared partition

* Move static initializer to DefaultAssemblyLoadContext

and remove stream copying from lock scope

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

5 years agoMake System.Runtime.CompilerServices.Unsafe inbox (dotnet/corefxdotnet/coreclr#35526)
Eric StJohn [Sat, 23 Feb 2019 02:20:16 +0000 (18:20 -0800)]
Make System.Runtime.CompilerServices.Unsafe inbox (dotnet/corefxdotnet/coreclr#35526)

* Make System.Runtime.CompilerServices.Unsafe inbox

Fix a couple places where we wanted to use it from other inbox assemblies but couldn't.

Unsafe remains as a package and newer versions of Unsafe will replace the inbox Version,
permitting us to add API over time.

* Update Rune tests to use TryEncodeToUtf8Bytes directly

* Add temporary suppression to package tests

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

5 years agoAdding a missing single-quote (dotnet/coreclr#22809)
Tanner Gooding [Sat, 23 Feb 2019 03:11:32 +0000 (19:11 -0800)]
Adding a missing single-quote (dotnet/coreclr#22809)

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

5 years agoRemove 'from HRESULT' (dotnet/coreclr#22782)
Dan Moseley [Sat, 23 Feb 2019 02:57:02 +0000 (18:57 -0800)]
Remove 'from HRESULT' (dotnet/coreclr#22782)

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

5 years agoChange Environment.Version to return product version (dotnet/coreclr#22664)
Jan Kotas [Sat, 23 Feb 2019 01:56:02 +0000 (17:56 -0800)]
Change Environment.Version to return product version (dotnet/coreclr#22664)

* Change Environment.Version to return product version

- Contributes to https://github.com/dotnet/corefx/issues/31099
- Use AssemblyInformationalVersion attribute as fallback

* Add sanity test for Environment.Version

* Disable CodeDom tests

* Fix test assembly name

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

5 years agoCorrectly build packages for linux-musl-arm64 (dotnet/coreclr#22793)
Jarret Shook [Sat, 23 Feb 2019 00:01:03 +0000 (16:01 -0800)]
Correctly build packages for linux-musl-arm64 (dotnet/coreclr#22793)

* Correctly build packages for linux-musl-arm64

Also add build-package step to PR.

* Correctly add back if

* Fix build-packages

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

5 years agoEnable FEATURE_BASICFREEZE (dotnet/coreclr#22776)
Mukul Sabharwal [Fri, 22 Feb 2019 23:56:28 +0000 (15:56 -0800)]
Enable FEATURE_BASICFREEZE (dotnet/coreclr#22776)

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

5 years agoRestore original delegate use until corresponding corefx changes have gone through
John Salem [Fri, 22 Feb 2019 23:36:23 +0000 (15:36 -0800)]
Restore original delegate use until corresponding corefx changes have gone through

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

5 years agoMirror StackFrameHelperChanges in mscorlib.h and change allocation type to more gener...
John Salem [Fri, 22 Feb 2019 22:29:10 +0000 (14:29 -0800)]
Mirror StackFrameHelperChanges in mscorlib.h and change allocation type to more generic g_pObjectClass

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

5 years agoAdd fatal error details printing (dotnet/coreclr#22789)
Jan Vorlicek [Fri, 22 Feb 2019 22:11:14 +0000 (23:11 +0100)]
Add fatal error details printing (dotnet/coreclr#22789)

Before this change, we were only printing details on fatal errors with
error code COR_E_FAILFAST. For other error codes we were just silently
exiting.
This change enables printing fatal error details for all kinds of fatal
errors.

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

5 years agoUpdate CoreFX Windows Arm32 exclusion list. (dotnet/coreclr#22695)
Sergey Andreenko [Fri, 22 Feb 2019 21:38:50 +0000 (13:38 -0800)]
Update CoreFX Windows Arm32 exclusion list. (dotnet/coreclr#22695)

* Update CoreFX Windows Arm32 exclusion list.

* Exclude System.Globalization.Calendars.Tests.

* Disable System.Net.Sockets.Tests

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

5 years agoSplit out copy of Ilasm and make it optional
Eric St. John [Fri, 22 Feb 2019 21:09:31 +0000 (13:09 -0800)]
Split out copy of Ilasm and make it optional

Allow for a repository to provide its own copy of ILAsm rather than restoring & copying it its own location.

To use, set the ILAsmToolPath proerty to the directory containing ilasm, similar to CscToolPath.

I noticed that these targets left behind the ILAsm files in temp for each project every time it
built when ToolsDir wasn't defined, so I've fixed that by instead copying to obj.

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

5 years agoIgnore EINVAL/EBADF errors from FTruncate in FileStream.Init (dotnet/coreclr#22788)
Stephen Toub [Fri, 22 Feb 2019 21:15:31 +0000 (16:15 -0500)]
Ignore EINVAL/EBADF errors from FTruncate in FileStream.Init (dotnet/coreclr#22788)

They indicate we're working with a special file, where failure to truncate is not a fatal condition.

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

5 years agoDisable IJW tests on Windows 7. (dotnet/coreclr#22779)
Jeremy Koritzinsky [Fri, 22 Feb 2019 20:39:56 +0000 (12:39 -0800)]
Disable IJW tests on Windows 7. (dotnet/coreclr#22779)

Windows 7 loads desktop mscoree.dll when loading System.Private.CoreLib, before we can load our fake mscoree. So, when IJW modules are loaded, they load the real mscoree.dll, which breaks coreclr's IJW loading. Once we have true .NET Core IJW support in the MSVC++ compiler and .NET Core, then we'll be able to reenable these tests on Win7.

Fixes dotnet/coreclr#21796.

cc: @RussKeldorph @echesakovMSFT

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

5 years agoR2RDump - Gracefully handle inability to parse GC Info
Simon Nattress [Thu, 21 Feb 2019 21:37:50 +0000 (13:37 -0800)]
R2RDump - Gracefully handle inability to parse GC Info

The Amd64 GC Info parser is not complete in its implementation and
sometimes will index to a location beyond the size of the image.

If we fail to parse the GC info for a method, continue dumping the rest
of the image.

Emit a warning when this happens so we don't forget about this.

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

5 years agoMore GNUC Fixes (dotnet/coreclr#22687)
Sinan Kaya [Fri, 22 Feb 2019 19:11:19 +0000 (14:11 -0500)]
More GNUC Fixes (dotnet/coreclr#22687)

* Replace __sync_swap with __atomic_exchange_n

__sync_swap() is a clang specific function.

* Remove multiline comment

* Add paranthesis around sum

src/md/hotdata/../inc/streamutil.h:73:34: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses]
     UINT32 aligned = *totalBytes + 3 & ~3;

* Define __int64

* Define windows types for tests

* Remove undefined has_builtin defines and define alloca and inline for GNUC

* Remove __clang__ where possible

* Add implicit casting to help compiler find WCHAR* variant

src/binder/assembly.cpp:294:73: error: no matching function for call to ‘SString::SString(SString)’
         return (pAsmName == nullptr ? nullptr : pAsmName->GetSimpleName());
                                                                         ^
In file included from src/inc/sstring.h:1082:0,
                 from src/inc/ex.h:19,
                 from src/inc/stgpool.h:28,
                 from src/inc/../md/inc/metamodel.h:18,
                 from src/inc/../md/inc/metamodelro.h:19,
                 from src/inc/metadata.h:17,
                 from src/binder/../vm/util.hpp:19,
                 from src/binder/../vm/common.h:110,
                 from src/binder/assembly.cpp:14:
src/inc/sstring.inl:73:8: note: candidate: SString::SString(void*, COUNT_T)
 inline SString::SString(void *buffer, COUNT_T size)
        ^
src/inc/sstring.inl:73:8: note:   candidate expects 2 arguments, 1 provided
src/inc/sstring.inl:436:8: note: candidate: SString::SString(SString::tagLiteral, const WCHAR*, COUNT_T)
 inline SString::SString(tagLiteral dummytag, const WCHAR *literal, COUNT_T count)
        ^
src/inc/sstring.inl:436:8: note:   candidate expects 3 arguments, 1 provided
src/inc/sstring.inl:418:8: note: candidate: SString::SString(SString::tagLiteral, const WCHAR*)
 inline SString::SString(tagLiteral dummytag, const WCHAR *literal)
        ^
src/inc/sstring.inl:418:8: note:   candidate expects 2 arguments, 1 provided
src/inc/sstring.inl:401:8: note: candidate: SString::SString(SString::tagUTF8Literal, const UTF8*)
 inline SString::SString(tagUTF8Literal dummytag, const UTF8 *literal)
        ^
src/inc/sstring.inl:401:8: note:   candidate expects 2 arguments, 1 provided
src/inc/sstring.inl:382:8: note: candidate: SString::SString(SString::tagLiteral, const CHAR*)
 inline SString::SString(tagLiteral dummytag, const ASCII *literal)

* Reorder DLLEXPORT and STDAPI

GNUC wants extern "C" <attribute> format.

* Abstract __FUNCSIG__

* Abstract __debugbreak()

* Move common compiler options out of clang and add Wno-unused-value

* Add paranthesis around || and &&

src/gc/gc.cpp:9084:38: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
                     (!chosen_power2) && (i < free_space_count));

* Set Wno-delete-non-virtual-dtor for CXX files only

* Don't warn on unterminated endif labels

* Suppress unused functions

* Use 0x syntax rather than h syntax on GNU asm files

* Correct constructor call directly

src/ToolBox/superpmi/superpmi-shared/logging.cpp:301:27:   required from here
src/inc/clr_std/string:58:9: error: cannot call constructor ‘std::basic_string<char>::basic_string’ directly
         this->basic_string::basic_string(_Ptr, c_len(_Ptr));

* Suppress NULL used in arithmetic warnings

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

5 years agoDisable tests that fail to build under 3.0.0-preview3 (dotnet/coreclr#22774)
Jarret Shook [Fri, 22 Feb 2019 17:32:38 +0000 (09:32 -0800)]
Disable tests that fail to build under 3.0.0-preview3 (dotnet/coreclr#22774)

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

5 years agoExclude /Interop/COM/NETClients/Events/NETClientEvent for arm32 Windows. (dotnet...
Sergey Andreenko [Fri, 22 Feb 2019 17:27:21 +0000 (09:27 -0800)]
Exclude /Interop/COM/NETClients/Events/NETClientEvent for arm32 Windows. (dotnet/coreclr#22785)

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

5 years agoStore information about partial ngen in R2R images (dotnet/coreclr#22680)
Michal Strehovský [Fri, 22 Feb 2019 14:44:01 +0000 (15:44 +0100)]
Store information about partial ngen in R2R images (dotnet/coreclr#22680)

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

5 years agoUpdate ReJIT/MethodDescBackpatchInfoTracker lock relationship (dotnet/coreclr#22741)
David Mason [Fri, 22 Feb 2019 07:59:54 +0000 (23:59 -0800)]
Update ReJIT/MethodDescBackpatchInfoTracker lock relationship (dotnet/coreclr#22741)

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

5 years agoDelete unused FEATURE flags (dotnet/coreclr#22781)
Jan Kotas [Fri, 22 Feb 2019 06:33:31 +0000 (22:33 -0800)]
Delete unused FEATURE flags (dotnet/coreclr#22781)

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

5 years agoFix CoreFX build break. (dotnet/coreclr#22773)
Sergey Andreenko [Fri, 22 Feb 2019 05:50:06 +0000 (21:50 -0800)]
Fix CoreFX build break. (dotnet/coreclr#22773)

* Fix CoreFX build break.

Introduced by https://github.com/dotnet/corefx/pull/34385.

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

5 years agoCleanup unnecessary COUNTER_ONLY (dotnet/coreclr#22759)
Jan Kotas [Fri, 22 Feb 2019 02:16:16 +0000 (18:16 -0800)]
Cleanup unnecessary COUNTER_ONLY (dotnet/coreclr#22759)

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

5 years agoAdd exception counter (dotnet/coreclr#22734)
Sung Yoon Whang [Fri, 22 Feb 2019 01:48:48 +0000 (17:48 -0800)]
Add exception counter (dotnet/coreclr#22734)

* Add exception counter

* Fix build

* Make FCall return UINT32

* Move GetExceptionCount to Exception

* more PR comments, fix x86 build

* Remove global variable initialization

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

5 years agoCorrect __CrossBuild in build-packages to be 0 or 1 (dotnet/coreclr#22769)
Jarret Shook [Fri, 22 Feb 2019 00:29:59 +0000 (16:29 -0800)]
Correct __CrossBuild in build-packages to be 0 or 1 (dotnet/coreclr#22769)

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

5 years agoMerge pull request dotnet/coreclr#22731 from briansull/issue-22436
Brian Sullivan [Thu, 21 Feb 2019 23:37:55 +0000 (15:37 -0800)]
Merge pull request dotnet/coreclr#22731 from briansull/issue-22436

Fix Issue 22436 - noway_assert  'expTyp == cseLclVarTyp' in optcse.cpp

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

5 years agoDo not use portablebuild=false for linux-musl (dotnet/coreclr#22760)
Jarret Shook [Thu, 21 Feb 2019 22:41:40 +0000 (14:41 -0800)]
Do not use portablebuild=false for linux-musl (dotnet/coreclr#22760)

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

5 years ago[XUnit] Use ParallelRun==Collections on all platforms. (dotnet/coreclr#22746)
Sergey Andreenko [Thu, 21 Feb 2019 22:38:42 +0000 (14:38 -0800)]
[XUnit] Use ParallelRun==Collections on all platforms. (dotnet/coreclr#22746)

* Use ParallelRun==Collections on all platforms.

* Fix formatting

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

5 years agoRemove unused perfcounter code (dotnet/coreclr#22742)
Sung Yoon Whang [Thu, 21 Feb 2019 22:19:27 +0000 (14:19 -0800)]
Remove unused perfcounter code (dotnet/coreclr#22742)

* removing references to COUNTER_ONLY, ENABLE_PERF_COUNTERS in src/vm directory

* removing perfcounters* files

* Fix build

* Remove PerfCounterSupportedBuild

* Some more cleanup on the GC side

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

5 years ago[Unix|*] Rework and share the logic for determining __DistroRid (dotnet/coreclr#22628)
Jarret Shook [Thu, 21 Feb 2019 21:16:33 +0000 (13:16 -0800)]
[Unix|*] Rework and share the logic for determining __DistroRid (dotnet/coreclr#22628)

* [Unix|*] Rework and share the logic for determining __DistroRid

This will consolidate all of our different functions which determine
the __DistroRid into one file. In addition, it will remove the unused
__HostDistroRid file.

Lastly, it corrects the rid choice when crossbuilding musl-arm64 as the
cross-rootfs non-portable build will correctly be picked up.

* Fix typo and use __BuildArch in place of __Arch

* Correct non-portable build decision

* Add error for missing redhat-release

* Fix redhat comparison

* Correct previous rhel or

* Fix cross scenerio

* Fix missed $

* Set __RuntimeId for runtest.proj

* Correct naming convention of file

* Address feedback and support -portablebuild=0

With this change:

1. build.sh and build-test.sh should build portable by default.
2. init-distro-rid.sh checks __PortableBuild=1. If so, then it must force rhel 6 and freebsd to __PortableBuild=0 and use the non-portable build
    - For __PortableBuild=0 init-distro-rid.sh sets the non-portable rid correctly to "${ID}.${VERSION_ID}-${buildArch}"

* Correct arguments

* Fix if to include then

* A few more changes to correct linux-musl-arm64

* Add error for non-cross build and correctly pass ROOTFS_DIR

* Correctly exit instead of echo

* Correct isCrossBuild and use rootfsDir only

* Add documentation

* Address feedback

* Rework rhel if

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

5 years agoincreasing LocalGC version to 3 for 3.0 (dotnet/coreclr#22751)
Maoni Stephens [Thu, 21 Feb 2019 19:54:27 +0000 (11:54 -0800)]
increasing LocalGC version to 3 for 3.0 (dotnet/coreclr#22751)

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

5 years agoClean up unused parameters around Assembly::Load (dotnet/coreclr#22716)
Marek Safar [Thu, 21 Feb 2019 18:54:17 +0000 (19:54 +0100)]
Clean up unused parameters around Assembly::Load (dotnet/coreclr#22716)

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

5 years agoMispelling
Brian Sullivan [Thu, 21 Feb 2019 17:53:40 +0000 (09:53 -0800)]
Mispelling

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

5 years agoSupport COM events (dotnet/coreclr#22721)
Aaron Robinson [Thu, 21 Feb 2019 17:51:10 +0000 (09:51 -0800)]
Support COM events (dotnet/coreclr#22721)

* Add support for COM events
* Add COM Event tests

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

5 years agoAdded enclosing brances for if/then stmts
Brian Sullivan [Thu, 21 Feb 2019 17:29:07 +0000 (09:29 -0800)]
Added enclosing brances for if/then stmts

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