platform/upstream/dotnet/runtime.git
5 years agoNull-terminate buffers that strncpy writes to (dotnet/coreclr#24095)
Omair Majid [Thu, 25 Apr 2019 23:40:19 +0000 (19:40 -0400)]
Null-terminate buffers that strncpy writes to (dotnet/coreclr#24095)

It is possible that the string being copied is so large that strncpy
fills up the destination array and does not write any null characters to
it. That will lead to buffer overflows. Work around that by always
writing a null character at the end of the destination array.

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

5 years agoRemove redundant tests (dotnet/coreclr#24255)
Russ Keldorph [Thu, 25 Apr 2019 23:34:57 +0000 (16:34 -0700)]
Remove redundant tests (dotnet/coreclr#24255)

Tests are technically flaky and have been determined largely redundant with CoreFx.

Fixes dotnet/coreclr#24212

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

5 years agoAdd IsFrozenObject Profiler API (dotnet/coreclr#24239)
Mukul Sabharwal [Thu, 25 Apr 2019 22:34:19 +0000 (15:34 -0700)]
Add IsFrozenObject Profiler API (dotnet/coreclr#24239)

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

5 years agoRemoving EventPipe file polling (EventPipeController+Timer) (dotnet/coreclr#24225)
José Rivero [Thu, 25 Apr 2019 22:13:03 +0000 (15:13 -0700)]
Removing EventPipe file polling (EventPipeController+Timer) (dotnet/coreclr#24225)

* Remove file polling only, and leave the COMPlus_* functionality.
* Fix bug/typo introduced with https://github.com/dotnet/coreclr/pull/21718

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

5 years agoMerge pull request dotnet/coreclr#24242 from janvorli/fix-numa-node-for-disabled...
Jan Vorlicek [Thu, 25 Apr 2019 21:49:48 +0000 (23:49 +0200)]
Merge pull request dotnet/coreclr#24242 from janvorli/fix-numa-node-for-disabled-numa

Fix NUMA node for heap when NUMA is not available

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

5 years agoUsing SList<SListElem<T>> to store the EventPipeProviderCallbackData
Andrew Au [Thu, 25 Apr 2019 17:20:30 +0000 (10:20 -0700)]
Using SList<SListElem<T>> to store the EventPipeProviderCallbackData

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

5 years agoAdd IBCMerge restore source to the restore command. (dotnet/coreclr#24250)
Jeremy Koritzinsky [Thu, 25 Apr 2019 20:16:35 +0000 (13:16 -0700)]
Add IBCMerge restore source to the restore command. (dotnet/coreclr#24250)

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

5 years agoNullable System.Collections.EmptyReadOnlyDictionaryInternal, System.Collections.Objec...
Anirudh Agnihotry [Thu, 25 Apr 2019 18:47:22 +0000 (11:47 -0700)]
Nullable System.Collections.EmptyReadOnlyDictionaryInternal, System.Collections.ObjectModel.* (dotnet/coreclr#24221)

* annotating collections

* annotated collection.cs and readonlycollection.cs

* adding tkey constraint and comments

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

5 years agoMerge pull request dotnet/coreclr#24232 from janvorli/fix-large-version-bubble-2
Jan Vorlicek [Thu, 25 Apr 2019 18:19:50 +0000 (20:19 +0200)]
Merge pull request dotnet/coreclr#24232 from janvorli/fix-large-version-bubble-2

Fix crossgen with large version bubble enabled

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

5 years agoImprove the performance of the type loader (dotnet/coreclr#24177)
David Wrighton [Thu, 25 Apr 2019 17:57:09 +0000 (10:57 -0700)]
Improve the performance of the type loader (dotnet/coreclr#24177)

Improve the performance of the type loader
- Disable interface ambiguity checks in Corelib
- Improve StackingAllocator perf
  - Increase size of allocation blocks
  - Cleanup allocation blocks comletely on gc suspension
- Check for presence of generic parameters to methods in a more efficient manner
  - Querying the count of GenericParameter records requires a binary search in the GenericParams table
  - Checking the generic flag on the method signature is effectively free
- Skip unnecessary checks in EnumerateClassMethods for corelib
- Use Sanity check flag where appropriate
- Use slightly faster hashtable functions in StringLiteralMap
  - Remove pointless string literal entry hash table search
- Change stacking allocator to not be allocated for the lifetime of a thread, but instead its allocated/destroyed around the first frame on the thread that needs the allocator.
  - Allocate at most 1 stacking allocator per thread
  - The allocation is on the stack via _alloca (as managed by the ACQUIRE_STACKING_ALLOCATOR macro
  - This will put an 8KB buffer on the stack, and if there is need for a larger buffer it will allocate off of the heap.
  - Stacking allocator initial block is always present, so the allocation routine for the allocator can be somewhat simpler
  - More logic has been move the the cpp file, to reduce header bloat, and improve iteration when modifying StackingAllocator code
  - Avoid use of alloca for StackingAllocator when less than 512KB of stack is available

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

5 years agoFix verification of 3-byte UTF-8 sequence followed by non-ASCII byte (dotnet/coreclr...
Levi Broderick [Thu, 25 Apr 2019 15:22:39 +0000 (08:22 -0700)]
Fix verification of 3-byte UTF-8 sequence followed by non-ASCII byte (dotnet/coreclr#24235)

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

5 years agoReturn null for unexpected HW intrinsic (dotnet/coreclr#24219)
Carol Eidt [Thu, 25 Apr 2019 14:26:21 +0000 (07:26 -0700)]
Return null for unexpected HW intrinsic (dotnet/coreclr#24219)

Fix dotnet/coreclr#17815

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

5 years agoFixing 23941 (dotnet/coreclr#24199)
Fadi Hanna [Thu, 25 Apr 2019 14:17:19 +0000 (07:17 -0700)]
Fixing 23941 (dotnet/coreclr#24199)

* Fixing 23941

The issue here is that in R2R code, unlike jitted IL code, the pinvoke calls are wrapped by a pair of calls to the JIT_PInvokeBegin and JIT_PInvokeEnd helpers, which link and unlink the InlinedCallFrame to the current thread. We do not initialize and link the ICF in the method prolog, and unlink it in the epilog, like jitted code does. We do this in the JIT helpers, right before/after the pinvoke call.
When an exception is thrown, the JIT_PInvokeEnd helper will be skipped since execution will resume at the nearest valid catch block, and the ICF will remain linked to the thread, which poses a problem if the method attempts another pinvoke operation (it will try to link the ICF which is already the top frame, and we'll end up in an infinite loop). Therefore, for the R2R case, we need to pop the ICF from the chain during exception unwinding.

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

5 years agoNullable: Contract.cs and more interop (dotnet/coreclr#24193)
Stephen Toub [Thu, 25 Apr 2019 14:06:02 +0000 (10:06 -0400)]
Nullable: Contract.cs and more interop (dotnet/coreclr#24193)

* Nullable: Contract.cs and more interop

* Address PR feedback

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

5 years agoFix NUMA node for heap when NUMA is not available
Jan Vorlicek [Thu, 25 Apr 2019 09:32:31 +0000 (11:32 +0200)]
Fix NUMA node for heap when NUMA is not available

The recent refactoring of the GCToOSInterface::GetProcessorForHeap has
accidentally changed the NUMA node returned in case NUMA is disabled
(either via the COMPlus_GCNumaAware or due to the fact that there is
just a single NUMA node on the system) and the CPU groups are disabled.
Before that refactoring, the code was incorrectly returning 0 as the
NUMA node when CPU groups were disabled no matter whether NUMA was
enabled or disabled. The refactoring fixed that by returning the
current CPU group number for the case when NUMA was enabled, however
it still returned incorrect value, this time GroupProcNo::NoGroup as
the NUMA node number in case NUMA was disabled.

This change fixes it by returning the current group number in this case.

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

5 years agoPostponing the managed callback so that they are called after the lock acquistion
Andrew Au [Fri, 29 Mar 2019 00:07:16 +0000 (17:07 -0700)]
Postponing the managed callback so that they are called after the lock acquistion

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

5 years agoSwitch to workstation GC in case of constrained CPU resources (dotnet/coreclr#24194)
Ludovic Henry [Thu, 25 Apr 2019 04:38:57 +0000 (21:38 -0700)]
Switch to workstation GC in case of constrained CPU resources (dotnet/coreclr#24194)

* Switch to workstation GC in case of constrained CPU resources

Right now, if the user sets the configuration so that the server GC is
used, the server GC will be loaded even in conditions where we know the
workstation GC would fare better. An example of such conditions is
constrained environment where there is only 1 or less CPU or with very
low memory.

This can be harmful if users deploy the same projects on different kind
of platforms: deploying to a 20+ cores server and to Azure Functions
will require largely different configurations for the runtime.

There are already multiple ways for the user to specify to use the
server GC or not:
 - setting `COMPlus_gcServer` as an environment variable
 - setting `gcServer` in the configuration file
 - setting `System.GC.Server` passed to `coreclr_initialize`

Fix https://github.com/dotnet/coreclr/issues/23949

* Address review

* Address review

Remove GCToOSInterface::GetCurrentProcessCpuLimit in favor of
GCToOSInterface::GetCurrentProcessCpuCount because the CpuLimit is taken
into account in the CpuCount again.

* Address review

Do the work in src/vm/ceemain.cpp otherwise there will be a disparity
between what the VM and the GC are running. Before, only the GC would be
aware of the switch from server to workstation GC, but not the VM.

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

5 years agoAdded optional/default parameters for StreamWriter/StreamReader (dotnet/coreclr#24056)
Jim [Thu, 25 Apr 2019 02:50:47 +0000 (05:50 +0300)]
Added optional/default parameters for StreamWriter/StreamReader (dotnet/coreclr#24056)

* Added optional/default parameters for StreamWriter/StreamReader

* Disabled outdated test

* Changed default encoding to UTF8NoBOM

* Made encoding parameter nullable

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

5 years agoUnify WIN32_FIND_DATA (dotnet/corefxdotnet/coreclr#37158)
Jan Kotas [Thu, 25 Apr 2019 00:06:30 +0000 (17:06 -0700)]
Unify WIN32_FIND_DATA (dotnet/corefxdotnet/coreclr#37158)

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

5 years agoAdd Medium GC Profiling Mode & ICorProfilerInfo::GetObjectReferences (dotnet/coreclr...
Mukul Sabharwal [Thu, 25 Apr 2019 00:27:06 +0000 (17:27 -0700)]
Add Medium GC Profiling Mode & ICorProfilerInfo::GetObjectReferences (dotnet/coreclr#24156)

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

5 years agoMore multi-appdomain support removal (dotnet/coreclr#23921)
David Wrighton [Thu, 25 Apr 2019 00:01:31 +0000 (17:01 -0700)]
More multi-appdomain support removal (dotnet/coreclr#23921)

More multi-appdomain support removal
- Remove DomainLocalBlock
- Remove DomainModule
- Remove FindDomain(File/Module/Assembly)
- Remove GetDomainModule
- Remove variants of GetDomain(File/Assembly) that take AppDomain parameter
- Adjust contracts to be less strict
  - GetDomainFile/Assembly no longer need a complex contract as multi-domain support does not exist
- Eliminiate uses of encoded ModuleID

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

5 years agoFix crossgen with large version bubble enabled
Jan Vorlicek [Wed, 24 Apr 2019 23:07:42 +0000 (01:07 +0200)]
Fix crossgen with large version bubble enabled

This change fixes about 1483 failing Pri-1 tests when they are
crossgen-ed with large version bubble enabled. Only one failing test
remains.

60% of the test cases were failing due to a failure to find generic
interface in an interface map due to the fact that the interface type
was being passed in canonical form.
The remaining 40% were tests using constrained calls. We were missing
the ENCODE_METHOD_SIG_Constrained in the method flags.

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

5 years agoMerge pull request dotnet/coreclr#24226 from BruceForstall/Disable24224
Bruce Forstall [Wed, 24 Apr 2019 22:50:59 +0000 (15:50 -0700)]
Merge pull request dotnet/coreclr#24226 from BruceForstall/Disable24224

Disable mandelbrot-7 against dotnet/coreclr#24224

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

5 years agoMerge pull request dotnet/coreclr#24227 from BruceForstall/Disable24173
Bruce Forstall [Wed, 24 Apr 2019 22:50:21 +0000 (15:50 -0700)]
Merge pull request dotnet/coreclr#24227 from BruceForstall/Disable24173

Disable _il_dbgu_fld under GCStress against dotnet/coreclr#24173

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

5 years agoFixing issue where LTTng probe check disables GC events (dotnet/coreclr#24198)
Sung Yoon Whang [Wed, 24 Apr 2019 21:00:31 +0000 (14:00 -0700)]
Fixing issue where LTTng probe check disables GC events (dotnet/coreclr#24198)

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

5 years agoDisable _il_dbgu_fld under GCStress against dotnet/coreclr#24173
Bruce Forstall [Wed, 24 Apr 2019 19:57:32 +0000 (12:57 -0700)]
Disable _il_dbgu_fld under GCStress against dotnet/coreclr#24173

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

5 years agoDisable mandelbrot-7 against dotnet/coreclr#24224
Bruce Forstall [Wed, 24 Apr 2019 19:42:57 +0000 (12:42 -0700)]
Disable mandelbrot-7 against dotnet/coreclr#24224

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

5 years agoFix ProjectN build breaks (dotnet/corertdotnet/coreclr#7343)
Michal Strehovský [Wed, 24 Apr 2019 13:24:31 +0000 (15:24 +0200)]
Fix ProjectN build breaks (dotnet/corertdotnet/coreclr#7343)

Porting changes from the non-WinRT files.

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

5 years agoMerge pull request dotnet/coreclr#24222 from BruceForstall/AddCorefxExclusions
Bruce Forstall [Wed, 24 Apr 2019 18:59:52 +0000 (11:59 -0700)]
Merge pull request dotnet/coreclr#24222 from BruceForstall/AddCorefxExclusions

Expand corefx exclusions

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

5 years agoExpand corefx exclusions
Bruce Forstall [Wed, 24 Apr 2019 18:58:38 +0000 (11:58 -0700)]
Expand corefx exclusions

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

5 years agoUpdate IBCMerge and ensure that it runs when in a release build and ibcoptimize is...
Jeremy Koritzinsky [Wed, 24 Apr 2019 18:50:14 +0000 (11:50 -0700)]
Update IBCMerge and ensure that it runs when in a release build and ibcoptimize is set. (dotnet/coreclr#24205)

* Update IBCMerge and ensure that it runs when in a release build and ibcoptimize is set.

* Add major rollforward for ibcmerge.

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

5 years agoMerge pull request dotnet/coreclr#24206 from dotnet-maestro-bot/master-UpdateDependencies
William Godbe [Wed, 24 Apr 2019 18:49:32 +0000 (11:49 -0700)]
Merge pull request dotnet/coreclr#24206 from dotnet-maestro-bot/master-UpdateDependencies

Update CoreClr to preview6-27624-71 (master)

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

5 years agoMerge pull request dotnet/coreclr#24218 from BruceForstall/FixLinuxX64CorefxTesting
Bruce Forstall [Wed, 24 Apr 2019 17:22:28 +0000 (10:22 -0700)]
Merge pull request dotnet/coreclr#24218 from BruceForstall/FixLinuxX64CorefxTesting

Remove extraneous percent character in Linux/x64 corefx testing command

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

5 years agoRemove extraneous percent character in Linux/x64 corefx testing command
Bruce Forstall [Wed, 24 Apr 2019 17:21:00 +0000 (10:21 -0700)]
Remove extraneous percent character in Linux/x64 corefx testing command

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

5 years agoUpdate CoreClr to preview6-27624-71
dotnet-maestro-bot [Wed, 24 Apr 2019 13:05:02 +0000 (06:05 -0700)]
Update CoreClr to preview6-27624-71

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

5 years agoMatch managed DetermineLibraryNameVariations implementation to native DetermineLibNam...
Jeremy Koritzinsky [Wed, 24 Apr 2019 05:01:47 +0000 (22:01 -0700)]
Match managed DetermineLibraryNameVariations implementation to native DetermineLibNameVariations implementation. (dotnet/coreclr#24203)

* Match managed DetermineLibraryNameVariations implementation to native DetermineLibNameVariations implementation.

* Update AssemblyDependencyResolver.cs

* Use ordinal comparison instead of culture-specific comparison

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

5 years agoDelete unnecessary static and update GCSample to VS2019 (dotnet/coreclr#24204)
Jan Kotas [Wed, 24 Apr 2019 03:21:09 +0000 (20:21 -0700)]
Delete unnecessary static and update GCSample to VS2019 (dotnet/coreclr#24204)

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

5 years agoMerge pull request dotnet/coreclr#24201 from BruceForstall/AllowFineGrainedCorefxTest...
Bruce Forstall [Tue, 23 Apr 2019 23:34:57 +0000 (16:34 -0700)]
Merge pull request dotnet/coreclr#24201 from BruceForstall/AllowFineGrainedCorefxTestExclusions

Enable fine-grained and universal exclusions for CoreFX tests

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

5 years agoUpdate CoreClr to preview6-27623-73 (dotnet/coreclr#24200)
dotnet-maestro-bot [Tue, 23 Apr 2019 23:28:07 +0000 (16:28 -0700)]
Update CoreClr to preview6-27623-73 (dotnet/coreclr#24200)

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

5 years agoRevert "Dummy commit" (dotnet/coreclr#24197)
Anirudh Agnihotry [Tue, 23 Apr 2019 22:39:32 +0000 (15:39 -0700)]
Revert "Dummy commit" (dotnet/coreclr#24197)

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

5 years agoEnable fine-grained and universal exclusions for CoreFX tests
Bruce Forstall [Tue, 23 Apr 2019 21:12:32 +0000 (14:12 -0700)]
Enable fine-grained and universal exclusions for CoreFX tests

One problem we've had in coreclr Jenkins when running corefx
tests (in the coreclr outerloop runs -- the ones using the
run-corefx-tests.py harness) is the inability to exclude
failing tests for x86 or x64, and the inability to have
fine-grained exclusions. This has led to problems like
https://github.com/dotnet/coreclr/issues/22442 where
virtually all Windows x86 and x64 corefx runs fail due to
timeouts. And issues like https://github.com/dotnet/coreclr/issues/24159
where all corefx test legs fail, and we have no control
over exclusions to get them all passing again quickly.

Now that the corefx RunTests.cmd/sh wrapper scripts
parse named arguments, including a response file that
is passed on to xunit, and also that the corefx used
xunit has support for this response file as well as
fine-grained exclusions (per-method/per-class/per-namespace),
we can take advantage of it.

This change adds a single, global, corefx xunit exclusion
response file, that will be used for all platforms. Since this
run-corefx-tests.py mechanism is not expected to live much longer,
this seems sufficient.

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

5 years agoFix failures caused by ICU regression (dotnet/coreclr#24190)
Tarek Mahmoud Sayed [Tue, 23 Apr 2019 20:58:54 +0000 (13:58 -0700)]
Fix failures caused by ICU regression (dotnet/coreclr#24190)

Fixes https://github.com/dotnet/corefx/issues/37098

.NET Core depends on ICU when running on Linux/OSX. Recently some people raised some failure on the framework stack. After investigation we found a regression in ICU which is the root cause of this failure. The regression is, when calling ICU to get some date patterns/properties, in some cases ICU return error code U_MISSING_RESOURCE_ERROR. Although the framework code written to fallback to some invariant values at that time, but we had some wrong line of code which assumed we never fail and trying to access the returned value without checking. That cause the framework to throw NullReferenceException.

The fix here is to make the framework resilient against such cases and continue to run nicely. I have contact ICU support members and I learned there is similar issue tracked in ICU repo https://unicode-org.atlassian.net/browse/ICU-20558

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

5 years agoMerge pull request dotnet/coreclr#23932 from briansull/zero-offset-map
Brian Sullivan [Tue, 23 Apr 2019 20:22:16 +0000 (13:22 -0700)]
Merge pull request dotnet/coreclr#23932 from briansull/zero-offset-map

Fixes for tracking struct field sequences

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

5 years agoFix crash after unload with server GC (dotnet/coreclr#24196)
Jan Vorlicek [Tue, 23 Apr 2019 20:14:58 +0000 (22:14 +0200)]
Fix crash after unload with server GC (dotnet/coreclr#24196)

When server GC is on, the DomainAssembly::EnumStaticGCRefs is called to
enumerate GC statics. For collectible assemblies, the GC statics are
stored in managed arrays and so there is no need for a special
enumeration of the GC statics. Attempt to do that was causing a crash
due to the fact that the corresponding DomainLocalModule::m_pGCStatics
is always NULL for collectible assemblies and we were trying to access
it.

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

5 years agoNullable : System.Diagnostics.Eventing (Directory) (dotnet/coreclr#24192)
Anirudh Agnihotry [Tue, 23 Apr 2019 19:56:09 +0000 (12:56 -0700)]
Nullable : System.Diagnostics.Eventing (Directory) (dotnet/coreclr#24192)

*  Eventing directory done

* adding comment and fixing unix build

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

5 years agoAdd test coverage for static members on interfaces (dotnet/coreclr#23928)
Michal Strehovský [Tue, 23 Apr 2019 19:18:25 +0000 (21:18 +0200)]
Add test coverage for static members on interfaces (dotnet/coreclr#23928)

This has been supported since v1 but we don't have much test coverage.

C# is going to enable interfaces to have static members and static constructors so we better start testing it.

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

5 years agoMerge pull request dotnet/coreclr#24195 from Anipik/temp
Anirudh Agnihotry [Tue, 23 Apr 2019 18:21:57 +0000 (11:21 -0700)]
Merge pull request dotnet/coreclr#24195 from Anipik/temp

Dummy commit

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

5 years agoDummy commit
Anipik [Tue, 23 Apr 2019 18:20:03 +0000 (11:20 -0700)]
Dummy commit

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

5 years agoAdded additional comment explaining ChnageOper(GT_LCL_FLD) and NotAField
Brian Sullivan [Tue, 23 Apr 2019 17:00:42 +0000 (10:00 -0700)]
Added additional comment explaining ChnageOper(GT_LCL_FLD) and NotAField

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

5 years agoUpdate CoreClr to preview6-27623-71 (dotnet/coreclr#24152)
dotnet-maestro-bot [Tue, 23 Apr 2019 15:14:44 +0000 (08:14 -0700)]
Update CoreClr to preview6-27623-71 (dotnet/coreclr#24152)

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

5 years agoFix handling of negative numbers in ThreadPool.SetMin/MaxThreads (dotnet/coreclr...
Stephen Toub [Tue, 23 Apr 2019 14:18:46 +0000 (10:18 -0400)]
Fix handling of negative numbers in ThreadPool.SetMin/MaxThreads (dotnet/coreclr#24163)

* Fix handling of negative numbers in ThreadPool.SetMin/MaxThreads

* Fix disabled test name

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

5 years agoImplement APIs for some threading metrics (CoreRT) (dotnet/corertdotnet/coreclr#7066)
Koundinya Veluri [Tue, 23 Apr 2019 06:31:37 +0000 (23:31 -0700)]
Implement APIs for some threading metrics (CoreRT) (dotnet/corertdotnet/coreclr#7066)

* Implement APIs for some threading metrics (CoreRT)

- API review: https://github.com/dotnet/corefx/issues/35500
- May depend on https://github.com/dotnet/coreclr/pull/22754

* Use thread-locals for counting, use finalizer instead of runtime to detect thread exit

* Don't let the count properties throw OOM

* Remove some flushes

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

5 years agoMerge pull request dotnet/coreclr#24176 from BruceForstall/Fix24175
Bruce Forstall [Mon, 22 Apr 2019 23:32:22 +0000 (16:32 -0700)]
Merge pull request dotnet/coreclr#24176 from BruceForstall/Fix24175

Disable 2 GC tests under HeapVerify for arm64

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

5 years agoMerge pull request dotnet/coreclr#24174 from BruceForstall/Fix24172
Bruce Forstall [Mon, 22 Apr 2019 23:01:08 +0000 (16:01 -0700)]
Merge pull request dotnet/coreclr#24174 from BruceForstall/Fix24172

Disable _il_relthread-race test under GCStress

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

5 years agoDisable 2 GC tests under HeapVerify for arm64
Bruce Forstall [Mon, 22 Apr 2019 21:37:08 +0000 (14:37 -0700)]
Disable 2 GC tests under HeapVerify for arm64

They fail due to timeout with `COMPlus_HeapVerify=1` on arm64.

They were already being disabled for HeapVerify for x86 and arm32.

Fixes dotnet/coreclr#24175

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

5 years agoDisable _il_relthread-race test under GCStress
Bruce Forstall [Mon, 22 Apr 2019 20:07:14 +0000 (13:07 -0700)]
Disable _il_relthread-race test under GCStress

It takes too long, and times out in CI.

Fixes dotnet/coreclr#24172

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

5 years agoMerge pull request dotnet/coreclr#24168 from wtgodbe/p6
William Godbe [Mon, 22 Apr 2019 19:13:55 +0000 (12:13 -0700)]
Merge pull request dotnet/coreclr#24168 from wtgodbe/p6

Update branding in master to preview6

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

5 years agoUpdate branding in master to preview6
wtgodbe [Mon, 22 Apr 2019 19:01:18 +0000 (12:01 -0700)]
Update branding in master to preview6

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

5 years agoFix `CORE_LIBRARIES` doc
Steve MacLean [Mon, 22 Apr 2019 18:23:04 +0000 (14:23 -0400)]
Fix `CORE_LIBRARIES` doc

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

5 years agoCorrect iterator (dotnet/coreclr#24160)
Sinan Kaya [Mon, 22 Apr 2019 17:09:21 +0000 (13:09 -0400)]
Correct iterator (dotnet/coreclr#24160)

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

5 years agoDisable failing IJW tests against dotnet/coreclr#23358
Russ Keldorph [Mon, 22 Apr 2019 12:48:33 +0000 (05:48 -0700)]
Disable failing IJW tests against dotnet/coreclr#23358

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

5 years agoRemove create assembly name (dotnet/coreclr#24154)
Steve MacLean [Mon, 22 Apr 2019 14:07:13 +0000 (10:07 -0400)]
Remove create assembly name (dotnet/coreclr#24154)

* Remove RuntimeAssembly.CreateAssemblyName

Fixes dotnet/coreclr#24135

CreateAssemblyName was not compatible with AssemblyLoadContext isolation.

Assembly.Load(string)
Assembly.LoadWithPartialName(string)
Activator.CreateInstance(...)

* Remove unused AssemblyNameNative::Init arguments

* Temp disable corefx CreateInstanceAssemblyResolve

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

5 years agoFix Arm64 UpperVector save/restore (dotnet/coreclr#24043)
Carol Eidt [Mon, 22 Apr 2019 11:04:59 +0000 (04:04 -0700)]
Fix Arm64 UpperVector save/restore (dotnet/coreclr#24043)

* Fix Arm64 UpperVector save/restore

Change the general handling of end-of-block restores so that we always have a RefPosition on which to allocate the register needed on Arm64.

Fix dotnet/coreclr#23885

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

5 years agoFix AssemblyName cache hash and key (dotnet/coreclr#24138)
Steve MacLean [Sun, 21 Apr 2019 22:25:04 +0000 (18:25 -0400)]
Fix AssemblyName cache hash and key (dotnet/coreclr#24138)

* Add ContextualReflection LoadWithPartialName case

* Remove unnecessary MethodImplOptions.NoInlining

* Remove m_assembly warning

* Fix AssemblyName hash function

* AssemblyNative::Load fix stackMark usage

Do not use the stackMark if (ptrLoadContextBinder != NULL)

* Temporarily disable DefaultContextOverrideTPA

Test is failing due to a logic error.
Fix is pending in https://github.com/dotnet/corefx/pull/37071

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

5 years agoFixed link to .NET Core SDK (dotnet/coreclr#24147)
Yoh Deadfall [Sun, 21 Apr 2019 16:59:20 +0000 (19:59 +0300)]
Fixed link to .NET Core SDK (dotnet/coreclr#24147)

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

5 years agoUpdate BuildTools, CoreClr to preview4-03917-01, preview5-27618-71, respectively...
dotnet-maestro-bot [Sun, 21 Apr 2019 03:37:21 +0000 (20:37 -0700)]
Update BuildTools, CoreClr to preview4-03917-01, preview5-27618-71, respectively (master) (dotnet/coreclr#24060)

* Update BuildTools, CoreClr to preview4-03917-01, preview5-27618-71, respectively

* Fix build errors

* Disable warning with pragma and linked issue

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

5 years agoEventpipe Crst ordering fix (dotnet/coreclr#24101)
Sung Yoon Whang [Sat, 20 Apr 2019 22:56:19 +0000 (15:56 -0700)]
Eventpipe Crst ordering fix (dotnet/coreclr#24101)

* Adding PendingTypeLoadEntry to Crst order for EventPipeCrst

* update header file

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

5 years agoTighten asserts (dotnet/coreclr#24124)
Andrew Au [Sat, 20 Apr 2019 20:18:54 +0000 (13:18 -0700)]
Tighten asserts (dotnet/coreclr#24124)

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

5 years agoMerge pull request dotnet/coreclr#24131 from sandreenko/addAReproTest
Sergey Andreenko [Sat, 20 Apr 2019 08:49:30 +0000 (01:49 -0700)]
Merge pull request dotnet/coreclr#24131 from sandreenko/addAReproTest

Add a repro test for dotnet/coreclr#24114.

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

5 years agoFix Timezone whitespace (dotnet/coreclr#24137)
Steve MacLean [Sat, 20 Apr 2019 06:07:42 +0000 (02:07 -0400)]
Fix Timezone whitespace (dotnet/coreclr#24137)

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

5 years agoThe thread triggering finalizer shutdown events should be in an alertable state....
Aaron Robinson [Sat, 20 Apr 2019 05:11:39 +0000 (22:11 -0700)]
The thread triggering finalizer shutdown events should be in an alertable state. (dotnet/coreclr#24133)

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

5 years agoPulling in CoreFX changes and fixing up Sse2.StoreLow to be Sse2.StoreScalar (dotnet...
Tanner Gooding [Sat, 20 Apr 2019 03:33:46 +0000 (20:33 -0700)]
Pulling in CoreFX changes and fixing up Sse2.StoreLow to be Sse2.StoreScalar (dotnet/coreclr#24123)

* Update dependencies from https://github.com/dotnet/corefx build 20190419.5

    - Microsoft.NETCore.Platforms - 3.0.0-preview5.19219.5
    - Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19219.5

* Removing the Sse2.StoreLow(long/ulong*, ...) methods that have been replaced

* Moving the Sse2.StoreLow(long/ulong*, ...) tests to be Sse2.StoreScalar tests

* Fixing some existing usages of Sse2.StoreLow(long/ulong*, ...)

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

5 years agoImplement APIs for some threading metrics (CoreCLR) (dotnet/coreclr#24113)
Koundinya Veluri [Sat, 20 Apr 2019 02:22:53 +0000 (19:22 -0700)]
Implement APIs for some threading metrics (CoreCLR) (dotnet/coreclr#24113)

Implement APIs for some threading metrics (CoreCLR)

API review: https://github.com/dotnet/corefx/issues/35500

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

5 years agoAdd a repro test.
Sergey Andreenko [Fri, 19 Apr 2019 22:42:23 +0000 (15:42 -0700)]
Add a repro test.

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

5 years agoMerge pull request dotnet/coreclr#24126 from sandreenko/fixStmtBug
Sergey Andreenko [Sat, 20 Apr 2019 01:05:58 +0000 (18:05 -0700)]
Merge pull request dotnet/coreclr#24126 from sandreenko/fixStmtBug

Fix bug in impGetStructAddr.

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

5 years agoFix `impGetStructAddr`.
Sergey Andreenko [Fri, 19 Apr 2019 22:49:39 +0000 (15:49 -0700)]
Fix `impGetStructAddr`.

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

5 years agoCode review feedback
Brian Sullivan [Sat, 20 Apr 2019 00:32:35 +0000 (17:32 -0700)]
Code review feedback

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

5 years agoMerge pull request dotnet/coreclr#24127 from sandreenko/fixArmUbuntuCoreFXTesting
Sergey Andreenko [Sat, 20 Apr 2019 00:15:02 +0000 (17:15 -0700)]
Merge pull request dotnet/coreclr#24127 from sandreenko/fixArmUbuntuCoreFXTesting

Fix Arm32 Ubuntu CoreFX script.

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

5 years agoFixes for Zero Offset field sequence tracking
Brian Sullivan [Tue, 16 Apr 2019 16:52:11 +0000 (09:52 -0700)]
Fixes for Zero Offset field sequence tracking
 - A GT_LCL_VAR may have a zeroOffset field
 - Add an assert to prevent building field sequences with duplicates
 - Fix fgMorphField when we have a zero offset field
Improve fgAddFieldSeqForZeroOffset
 - Add JItDump info
 - Handle GT_LCL_FLD

Changing the sign of an int constant also remove any field sequence information.

Added method header comment for fgAddFieldSeqForZeroOffset

Changed when we call fgAddFieldSeqForZeroOffset to be before the call to fgMorphSmpOp.

Prefer calling fgAddFieldSeqForZeroOffset() to GetZeroOffsetFieldMap()->Set()

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

5 years agoFix Arm32 Ubuntu CoreFX script.
Sergey Andreenko [Fri, 19 Apr 2019 23:15:34 +0000 (16:15 -0700)]
Fix Arm32 Ubuntu CoreFX script.

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

5 years ago[master] Update dependencies from dotnet/corefx (dotnet/coreclr#24058)
dotnet-maestro[bot] [Fri, 19 Apr 2019 22:49:32 +0000 (15:49 -0700)]
[master] Update dependencies from dotnet/corefx (dotnet/coreclr#24058)

* Update dependencies from https://github.com/dotnet/corefx build 20190418.11

- Microsoft.NETCore.Platforms - 3.0.0-preview5.19218.11
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19218.11

* Disable outdated test

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

5 years agoLarge Pages on Linux & macOS (dotnet/coreclr#24098)
Mukul Sabharwal [Fri, 19 Apr 2019 21:54:35 +0000 (14:54 -0700)]
Large Pages on Linux & macOS (dotnet/coreclr#24098)

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

5 years agoExclude failing tests on all platforms/architectures (dotnet/coreclr#24121)
Fadi Hanna [Fri, 19 Apr 2019 21:17:18 +0000 (14:17 -0700)]
Exclude failing tests on all platforms/architectures (dotnet/coreclr#24121)

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

5 years agoFix project metadata in test (dotnet/coreclr#24119)
Fadi Hanna [Fri, 19 Apr 2019 21:10:09 +0000 (14:10 -0700)]
Fix project metadata in test (dotnet/coreclr#24119)

* Fix project metadata in test

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

5 years agoRemove commit triggered linux_arm ReadyToRun jobs
Russ Keldorph [Fri, 19 Apr 2019 13:35:55 +0000 (06:35 -0700)]
Remove commit triggered linux_arm ReadyToRun jobs

We don't have the capacity to run these on every commit

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

5 years agoMove CLR_ADDITIONAL_COMPILER_OPTIONS to be set after default options (dotnet/coreclr...
Andrew Wang [Fri, 19 Apr 2019 16:08:12 +0000 (09:08 -0700)]
Move CLR_ADDITIONAL_COMPILER_OPTIONS to be set after default options (dotnet/coreclr#24044)

CLR_ADDITIONAL_COMPILER_OPTIONS was set before visibility settings and
thus adding additional compiler options would be overwritten.

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

5 years agoFix build errors in Interop.Errors
Santiago Fernandez Madero [Fri, 19 Apr 2019 05:45:29 +0000 (22:45 -0700)]
Fix build errors in Interop.Errors

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

5 years agoDisable warning in ValueStringBuilder.ToString
Santiago Fernandez Madero [Fri, 19 Apr 2019 01:43:28 +0000 (18:43 -0700)]
Disable warning in ValueStringBuilder.ToString

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

5 years agoBlock usage of default interfaces feature in COM scenarios (dotnet/coreclr#23970)
Aaron Robinson [Fri, 19 Apr 2019 16:05:23 +0000 (09:05 -0700)]
Block usage of default interfaces feature in COM scenarios (dotnet/coreclr#23970)

* Block default interface usage in COM scenarios

Add additional test cases and move some CCW functions to a more
consolidated layout.

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

5 years agoLook for IBC data outside Windows (dotnet/coreclr#24062)
Michal Strehovský [Fri, 19 Apr 2019 13:59:52 +0000 (15:59 +0200)]
Look for IBC data outside Windows (dotnet/coreclr#24062)

dotnet/coreclr#23363 added a crossplat implementation of `GetWin32Resource`, but forgot to enable places that call it.

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

5 years agoNullable: couple of missing #nullable enable (dotnet/coreclr#24094)
Krzysztof Wicher [Fri, 19 Apr 2019 01:37:37 +0000 (18:37 -0700)]
Nullable: couple of missing #nullable enable (dotnet/coreclr#24094)

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

5 years agoNullable: System.Collections.Concurrent (dotnet/coreclr#24054)
Stephen Toub [Fri, 19 Apr 2019 01:36:10 +0000 (21:36 -0400)]
Nullable: System.Collections.Concurrent (dotnet/coreclr#24054)

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

5 years agoFix performance regression on glibc on Linux (dotnet/coreclr#24099)
Filip Navara [Fri, 19 Apr 2019 13:07:47 +0000 (15:07 +0200)]
Fix performance regression on glibc on Linux (dotnet/coreclr#24099)

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

5 years agoMove R2R-specific code to be outside FEATURE_PREJIT (dotnet/coreclr#24075)
Jan Kotas [Fri, 19 Apr 2019 02:57:17 +0000 (19:57 -0700)]
Move R2R-specific code to be outside FEATURE_PREJIT (dotnet/coreclr#24075)

This refactoring is preparation for disabling fragile NGen support in the runtime. It keeps fragile-NGen specific code under FEATURE_PREJIT and moves the code required to support R2R to be outside FEATURE_PREJIT.

The eventual goal is to compile the runtime without FEATURE_PREJIT defined to avoid fragile-NGen specific overhead.

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

5 years agoAdding Sse2.StoreScalar(long*, V128) which will replace Sse2.StoreLow(long*, V128...
Tanner Gooding [Fri, 19 Apr 2019 00:44:56 +0000 (17:44 -0700)]
Adding Sse2.StoreScalar(long*, V128) which will replace Sse2.StoreLow(long*, V128) (dotnet/coreclr#24102)

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

5 years agoDon't return value types as const (dotnet/coreclr#24103)
Omair Majid [Fri, 19 Apr 2019 00:33:22 +0000 (20:33 -0400)]
Don't return value types as const (dotnet/coreclr#24103)

These types are value types; they are returned by copying. Marking the
return type as const has no effect: since the value is copied, the
caller can modify it anyway.

This resolves all the -Wignored-qualifiers warnings produced by clang 7
(when those warnings are explicitly enabled).

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

5 years agoMerge pull request dotnet/coreclr#24105 from BruceForstall/ReduceLinuxArm32PeriodicJobs
Bruce Forstall [Thu, 18 Apr 2019 23:29:38 +0000 (16:29 -0700)]
Merge pull request dotnet/coreclr#24105 from BruceForstall/ReduceLinuxArm32PeriodicJobs

Reduce the number of Linux arm32 periodic jobs triggered

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

5 years agoAllow UpperVector Save and Restore without base type (dotnet/coreclr#24080)
Carol Eidt [Thu, 18 Apr 2019 23:05:34 +0000 (16:05 -0700)]
Allow UpperVector Save and Restore without base type (dotnet/coreclr#24080)

Fixes an issue with crossgen on Arm64/linux

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

5 years agoReduce the number of Linux arm32 periodic jobs triggered
Bruce Forstall [Thu, 18 Apr 2019 22:45:05 +0000 (15:45 -0700)]
Reduce the number of Linux arm32 periodic jobs triggered

Only the corefx jobs are left. The rest should be done in AzDO,
and scheduling both AzDO and Jenkins is causing too much work
for the few machines we have.

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

5 years agoFix RVA field placement order (dotnet/coreclr#24047)
Fadi Hanna [Thu, 18 Apr 2019 21:16:47 +0000 (14:16 -0700)]
Fix RVA field placement order (dotnet/coreclr#24047)

* Static RVA fields should be placed sequentially after the qsort operation to not break Managed C++ binaries in R2R

* Add regression test

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