platform/upstream/dotnet/runtime.git
5 years agoAdded HVA64_02 test cases
Brian Sullivan [Sat, 16 Mar 2019 00:26:26 +0000 (17:26 -0700)]
Added HVA64_02 test cases

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

5 years agoRestructure the test src/JIT/Directed/VectorABI/VectorMgdMgd.cs
Brian Sullivan [Fri, 15 Mar 2019 23:58:00 +0000 (16:58 -0700)]
Restructure the test src/JIT/Directed/VectorABI/VectorMgdMgd.cs

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

5 years agoMerge pull request dotnet/coreclr#23294 from briansull/fix-format
Brian Sullivan [Fri, 15 Mar 2019 23:49:50 +0000 (16:49 -0700)]
Merge pull request dotnet/coreclr#23294 from briansull/fix-format

Fix formatting error

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

5 years agoFix formatting error
Brian Sullivan [Fri, 15 Mar 2019 22:40:40 +0000 (15:40 -0700)]
Fix formatting error

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

5 years agoMerge pull request dotnet/coreclr#23272 from briansull/VNMap_Overwrite
Brian Sullivan [Fri, 15 Mar 2019 21:55:51 +0000 (14:55 -0700)]
Merge pull request dotnet/coreclr#23272 from briansull/VNMap_Overwrite

Fix for duplicate call to Set when we run out of budget

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

5 years agoPort AMSI scanning for assembly loads (dotnet/coreclr#23231)
Elinor Fung [Fri, 15 Mar 2019 19:33:43 +0000 (12:33 -0700)]
Port AMSI scanning for assembly loads (dotnet/coreclr#23231)

* Port AMSI scanning for assembly loads

* Define PLATFORM_WINDOWS for Windows build

* Remove check for LOAD_LIBRARY_SEARCH_SYSTEM32 support

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

5 years agoFix GetFullAffinityMask for cpuCount==64 (dotnet/coreclr#23276)
Jan Vorlicek [Fri, 15 Mar 2019 19:32:48 +0000 (20:32 +0100)]
Fix GetFullAffinityMask for cpuCount==64 (dotnet/coreclr#23276)

The function was incorrectly assuming that shifting 64 bit
constant 1 by 64 bits to the left gets result 0.

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

5 years agoFixed small typo in path to crossgen (dotnet/coreclr#23286)
Fawad Halim [Fri, 15 Mar 2019 19:32:11 +0000 (14:32 -0500)]
Fixed small typo in path to crossgen (dotnet/coreclr#23286)

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

5 years agoAdd `Schedule` and 'Manual' as possible triggers for outerloop jobs. (dotnet/coreclr...
Sergey Andreenko [Fri, 15 Mar 2019 17:38:47 +0000 (10:38 -0700)]
Add `Schedule` and 'Manual' as possible triggers for outerloop jobs. (dotnet/coreclr#23271)

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

5 years agoExclude tracing/keyword/TwoKeywords test from running on all platforms (dotnet/corecl...
Egor Chesakov [Fri, 15 Mar 2019 17:35:25 +0000 (10:35 -0700)]
Exclude tracing/keyword/TwoKeywords test from running on all platforms (dotnet/coreclr#23267)

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

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

5 years agoIn CLRLifoSemaphore, start the underlying semaphore with 0 for the initial signal...
Koundinya Veluri [Fri, 15 Mar 2019 16:12:27 +0000 (09:12 -0700)]
In CLRLifoSemaphore, start the underlying semaphore with 0 for the initial signal count (dotnet/coreclr#22632)

- Port of a fix from https://github.com/dotnet/corert/pull/6955
- The underlying semaphore is only used to wake up waiters, initially there are no waiters and the signal count should be zero. This was already the case on Windows, this fixes the Unix side. The actual initial signal count is tracked in the upper layer counts.
- The initial signal count passed in is zero anyway in the places where it's used, so it makes no difference for now, just some cleanup

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

5 years agoCollection<T>: Validate parameters in the public methods (dotnet/coreclr#23166)
Justin Van Patten [Fri, 15 Mar 2019 14:52:31 +0000 (07:52 -0700)]
Collection<T>: Validate parameters in the public methods (dotnet/coreclr#23166)

I was looking over the new Range methods on `Collection<T>` and it occurred to me that for all existing methods, parameter validation is done in the *public* methods before calling the *protected virtual* methods. This changes the new Range methods to do the same.

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

5 years agoUpdate performance-guidelines.md (dotnet/coreclr#23183)
Han Lee [Fri, 15 Mar 2019 14:43:28 +0000 (07:43 -0700)]
Update performance-guidelines.md (dotnet/coreclr#23183)

so that it uses run-xunit-perf.py command. run-xunit-perf.cmd is no longer there.

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

5 years agoFix Ubuntu arm build break. (dotnet/coreclr#23270)
Jeremy Koritzinsky [Fri, 15 Mar 2019 05:24:15 +0000 (22:24 -0700)]
Fix Ubuntu arm build break. (dotnet/coreclr#23270)

* Add platformdefines.h include to fix build break.

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

5 years agoMove TypeLoadException to shared (dotnet/coreclr#23238)
Egor Bogatov [Fri, 15 Mar 2019 03:41:05 +0000 (06:41 +0300)]
Move TypeLoadException to shared (dotnet/coreclr#23238)

* fix coding-style

* shorter form for TypeName property

* move coreclr-specific ctor to TypeLoadException

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

5 years agoMake ILProj work in Visual Studio (dotnet/coreclr#23264)
Eric StJohn [Fri, 15 Mar 2019 02:13:11 +0000 (19:13 -0700)]
Make ILProj work in Visual Studio (dotnet/coreclr#23264)

CPS depends the targets defined here and will fail to load a project if these aren't imported.

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

5 years agoDisable failing test against dotnet/coreclr#23262 (dotnet/coreclr#23263)
Jan Kotas [Fri, 15 Mar 2019 01:36:41 +0000 (18:36 -0700)]
Disable failing test against dotnet/coreclr#23262 (dotnet/coreclr#23263)

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

5 years agoFix for duplicate call to Set when we run out of budget
Brian Sullivan [Thu, 14 Mar 2019 23:19:07 +0000 (16:19 -0700)]
Fix for duplicate call to Set when we run out of budget

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

5 years agoMerge pull request dotnet/coreclr#23260 from BruceForstall/AlwaysArchiveCrossgenCompa...
Bruce Forstall [Thu, 14 Mar 2019 22:51:30 +0000 (15:51 -0700)]
Merge pull request dotnet/coreclr#23260 from BruceForstall/AlwaysArchiveCrossgenComparisonResults

Archive crossgen comparison job results even if job fails

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

5 years agoMerge pull request dotnet/coreclr#23180 from franksinankaya/gcc_cleanup_12
Jan Vorlicek [Thu, 14 Mar 2019 22:31:25 +0000 (23:31 +0100)]
Merge pull request dotnet/coreclr#23180 from franksinankaya/gcc_cleanup_12

Fix conversion and signedness issues in Event Tracer

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

5 years ago Fix the calling convention for P/Invokes and delegates to hostpolicy (dotnet/coreclr...
Aaron Robinson [Thu, 14 Mar 2019 22:15:56 +0000 (15:15 -0700)]
 Fix the calling convention for P/Invokes and delegates to hostpolicy (dotnet/coreclr#23249)

* Fix the calling convention for P/Invokes and delegates

* Update mock library to match official hostpolicy calling conventions

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

5 years agoFix GetProcessAffinityMask (dotnet/coreclr#23247)
Jan Vorlicek [Thu, 14 Mar 2019 21:30:00 +0000 (22:30 +0100)]
Fix GetProcessAffinityMask (dotnet/coreclr#23247)

The function was returning mask not expected by runtime for coreclr
built with NUMA enabled on machines with multiple NUMA nodes.
The mask was 0 in case the current process was affinitized to CPUs
from multiple NUMA nodes. It was following MSDN doc, however the
doc turned out to be ambiguous. Moreover, the runtime depended
on the fact that on Windows, a process is never run on multiple
NUMA nodes unless is explicitly calls APIs to set ideal processor
for threads. But on Unix, there is no such case and by default, a
process is affinitized to all existing processors over all NUMA
nodes.

And there was one more issue. The GetProcessAffinityMask was returning
a mask within a single CPU group, which is a transformed view of
NUMA node on Windows. So the CPU indices in the mask didn't necessarily
correspond to the native Unix CPU indices. But, the SetThreadAffinityMask
was using the native Unix CPU indices.

To fix the problem, the GetProcessAffinityMask is changed so that
it always returns a mask corresponding to the native Unix CPU indices
(reporting upto 64 processors as the mask is 64 bit wide). Thus it
corresponds to what the SetThreadAffinityMask expects. And it also exactly
matches the behavior when NUMA support is not compiled in.
Moreover, the COMPlus_GCHeapAffinitizeMask bits now correspond to
the native Unix CPU indices.

The GetProcessAffinityMask is used by GC and thread pool only when
NUMA is not enabled using the COMPlus_GCCpuGroup env variable.

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

5 years agoFix DisableTier0Jit when multi-core JIT is enabled (dotnet/coreclr#23200)
Koundinya Veluri [Thu, 14 Mar 2019 20:51:25 +0000 (13:51 -0700)]
Fix DisableTier0Jit when multi-core JIT is enabled (dotnet/coreclr#23200)

- With multi-core JIT, a method may be jitted before it is called, in which case the call counting entry would not already exist

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

5 years agoUpdate CoreFX Linux Arm64 exclusion list. (dotnet/coreclr#22697)
Sergey Andreenko [Thu, 14 Mar 2019 20:36:03 +0000 (13:36 -0700)]
Update CoreFX Linux Arm64 exclusion list. (dotnet/coreclr#22697)

* Update CoreFX Linux Arm64 exclusion list.

* Exclude System.Globalization.Calendars.Tests.

* Exclude System.Threading.Tasks.Tests.

* Exclude dotnet/coreclr#23242

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

5 years agoArchive crossgen comparison job results even if job fails
Bruce Forstall [Thu, 14 Mar 2019 20:34:53 +0000 (13:34 -0700)]
Archive crossgen comparison job results even if job fails

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

5 years agoMerge pull request dotnet/coreclr#23203 from janvorli/fix-no-return-false-positives
Jan Vorlicek [Thu, 14 Mar 2019 09:22:44 +0000 (10:22 +0100)]
Merge pull request dotnet/coreclr#23203 from janvorli/fix-no-return-false-positives

Fix no-return false positives in static analyzer build

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

5 years agoDelete suspicious code in delegate construction (dotnet/coreclr#22830)
Michal Strehovský [Thu, 14 Mar 2019 08:33:59 +0000 (09:33 +0100)]
Delete suspicious code in delegate construction (dotnet/coreclr#22830)

Delegate construction is trying to do some weird special casing around closed delegates to interface methods that is breaking non-virtual delegates to default interface methods. The special casing has suspicious comments indicating people didn't know why it's needed in the first place, so I'm going with a theory that it's a cargo cult (e.g. why the reasons specified in the comments don't apply to normal virtual methods?).

Fixes dotnet/coreclr#22728.

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

5 years agoDisable tracing/inducedgc test on all Unix platforms (dotnet/coreclr#23240)
Sung Yoon Whang [Thu, 14 Mar 2019 02:42:28 +0000 (19:42 -0700)]
Disable tracing/inducedgc test on all Unix platforms (dotnet/coreclr#23240)

* Disabling tracing/tracevalidation/inducedgc test on all unix

* Leave the exclusion list on arm64 there

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

5 years agoFix/clean compNoGCHelperCallKillSet for arm. (dotnet/coreclr#23078)
Sergey Andreenko [Thu, 14 Mar 2019 01:31:27 +0000 (18:31 -0700)]
Fix/clean compNoGCHelperCallKillSet for arm. (dotnet/coreclr#23078)

* Add an assert to compNoGCHelperCallKillSet.

That registers that lose GC or byref values also are in compHelperCallKillSet return set.

* Move compNoGCHelperCallKillSet from compiler to emitter.

* Rename `compNoGCHelperCallKillSet` to `emitGetGCRegsKilledByNoGCCall`.

* Fix GCRegsKill sets for arm CORINFO_HELP_PROF_FCN_ENTER and CORINFO_HELP_PROF_FCN_LEAVE.

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

5 years agoChoose the SString constructor explicitly
Sinan Kaya [Mon, 11 Mar 2019 17:58:42 +0000 (17:58 +0000)]
Choose the SString constructor explicitly

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

5 years agosignedness conversion
Sinan Kaya [Mon, 11 Mar 2019 18:12:01 +0000 (18:12 +0000)]
signedness conversion

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

5 years agofix conversion issues
Sinan Kaya [Mon, 11 Mar 2019 17:31:46 +0000 (17:31 +0000)]
fix conversion issues

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

5 years agoMerge pull request dotnet/coreclr#23109 from briansull/gh-21231
Brian Sullivan [Thu, 14 Mar 2019 00:33:25 +0000 (17:33 -0700)]
Merge pull request dotnet/coreclr#23109 from briansull/gh-21231

Fix for Issue 21231

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

5 years agoAdd OperationStatus-based UTF8 transcoding APIs (dotnet/coreclr#23219)
Levi Broderick [Wed, 13 Mar 2019 22:43:25 +0000 (15:43 -0700)]
Add OperationStatus-based UTF8 transcoding APIs (dotnet/coreclr#23219)

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

5 years agoMerge pull request dotnet/coreclr#23220 from BruceForstall/FixArm64HfaJmpCallNyi
Bruce Forstall [Wed, 13 Mar 2019 22:38:41 +0000 (15:38 -0700)]
Merge pull request dotnet/coreclr#23220 from BruceForstall/FixArm64HfaJmpCallNyi

Arm64: Implement JMP call for HFA register arguments

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

5 years agoFix for Issue 21231
Brian Sullivan [Thu, 7 Mar 2019 22:20:44 +0000 (14:20 -0800)]
Fix for Issue 21231

When transferring a Zero offset from one GenTree node to another, we need to check if there already is a FieldSeq and append to it.
Added third parameter 'kind' to JitHashTable::Set, and Added enum SetKind
Only allow Set to overwrite an existing entry when kind is set to Overwrite.
Added validation for all calls to JitHashTable::Set
asserting that we don't expect the key to already exist or that we passed Overwrite indicating that we expect to handle it properly.

Added two test cases for Issue 21231

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

5 years agoUpdate documentation: make docker images point to the registry. (dotnet/coreclr#23243)
Juan Hoyos [Wed, 13 Mar 2019 21:38:41 +0000 (14:38 -0700)]
Update documentation: make docker images point to the registry. (dotnet/coreclr#23243)

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

5 years agoFix SIMD handle issues (dotnet/coreclr#23193)
Carol Eidt [Wed, 13 Mar 2019 21:26:51 +0000 (14:26 -0700)]
Fix SIMD handle issues (dotnet/coreclr#23193)

* Fix SIMD handle issues

PR dotnet/coreclr#23052 was overly aggressive at applying the provided class handle (which defaults to NO_CLASS_HANDLE). In addition, make a small change to `SIMDIntrinsicWiden`, as it doesn't need to go through the complexity of inferring a class handle when it already exists on the node it's duplicating.

Fix dotnet/coreclr#23159

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

5 years agoMerge pull request dotnet/coreclr#23212 from CarolEidt/VectorABITest
Carol Eidt [Wed, 13 Mar 2019 21:19:17 +0000 (14:19 -0700)]
Merge pull request dotnet/coreclr#23212 from CarolEidt/VectorABITest

Preliminary Vector ABI test

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

5 years agoexclude tracing/keyword/TwoKeywords/TwoKeywords on WIndows x86. (dotnet/coreclr#23237)
Sergey Andreenko [Wed, 13 Mar 2019 20:08:38 +0000 (13:08 -0700)]
exclude tracing/keyword/TwoKeywords/TwoKeywords on WIndows x86. (dotnet/coreclr#23237)

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

5 years agoFix missed RelocatedType annotation
Michal Strehovsky [Wed, 13 Mar 2019 12:30:44 +0000 (05:30 -0700)]
Fix missed RelocatedType annotation

[tfs-changeset: 1735855]

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

5 years agoEnable FeatureDefaultInterfaces unconditionally (dotnet/coreclr#23225)
Michal Strehovský [Wed, 13 Mar 2019 18:50:13 +0000 (19:50 +0100)]
Enable FeatureDefaultInterfaces unconditionally (dotnet/coreclr#23225)

Fixes dotnet/coreclr#22940.

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

5 years agoFix issue 23151 (Cleanup TODO introduced by PR dotnet/coreclr#23148)
Andrew Au [Wed, 13 Mar 2019 16:56:41 +0000 (09:56 -0700)]
Fix issue 23151 (Cleanup TODO introduced by PR dotnet/coreclr#23148)

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

5 years agoAdd new counter APIs (dotnet/coreclr#23077)
Sung Yoon Whang [Wed, 13 Mar 2019 08:10:35 +0000 (01:10 -0700)]
Add new counter APIs (dotnet/coreclr#23077)

* Refactor EventCounter and add PollingCounter

* Add PollingCounter

* Add IncrementingEventCounter and IncrementingPollingCounter

* Add MetaData API to Counters

* Some more refactoring

* removing commented out code

* some more cleanup

* build fix and addressing some PR comments

* Addressing PR feedback

* use StringBuilder to generate metadata string

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

5 years agoDefault Interface COM testing project (dotnet/coreclr#23195)
Aaron Robinson [Wed, 13 Mar 2019 03:34:45 +0000 (20:34 -0700)]
Default Interface COM testing project (dotnet/coreclr#23195)

* Add tests for native COM client consuming managed COM server that
  consumes interfaces with default implementation.

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

5 years agoArm64: Implement JMP call for HFA register arguments
Bruce Forstall [Sat, 9 Mar 2019 01:58:54 +0000 (17:58 -0800)]
Arm64: Implement JMP call for HFA register arguments

Add the code to load up HFA register arguments into their correct registers
before a JMP call.

Removes remaining NYI.

Fixes dotnet/coreclr#23147

Add a test case with several variants of HFA and JMP call.

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

5 years agoMove ANALYZER_NORETURN after function return type.
Jan Vorlicek [Wed, 13 Mar 2019 00:07:00 +0000 (01:07 +0100)]
Move ANALYZER_NORETURN after function return type.

GCC doesn't like attributes before the extern keyword.

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

5 years agoDon't retain modifiers for instantation stub signatures (dotnet/coreclr#23210)
Andy Ayers [Tue, 12 Mar 2019 23:46:24 +0000 (16:46 -0700)]
Don't retain modifiers for instantation stub signatures (dotnet/coreclr#23210)

`ConvToJitSig` is not expecting to see modifiers for return types in sigs,
so don't bother preserving them when creating instantiation stubs.

This comes up for instantiation stubs for methods of `ReadOnlySpan<T>`.

Also, if we are preserving modifiers in a sig, make sure to prefix their type
handles with `ELEM_TYPE_INTERNAL`.

Fixes dotnet/coreclr#23136.

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

5 years agoFixing a couple of issues in the Utf8Parsing/Formatting code (dotnet/coreclr#23134)
Tanner Gooding [Tue, 12 Mar 2019 21:29:38 +0000 (14:29 -0700)]
Fixing a couple of issues in the Utf8Parsing/Formatting code (dotnet/coreclr#23134)

* Fixing NumberToSingle and NumberToDouble to handle DigitsCount == 0

* Fixing Utf8Formatter.Float to transcode non ASCII bytes

* Responding to PR feedback

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

5 years agoPreliminary Vector ABI test
Carol Eidt [Tue, 12 Mar 2019 18:28:10 +0000 (11:28 -0700)]
Preliminary Vector ABI test

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

5 years agoFix syntax bug: bash requires spaces around brackets for tests (dotnet/coreclr#23017)
John Salem [Tue, 12 Mar 2019 16:39:50 +0000 (09:39 -0700)]
Fix syntax bug: bash requires spaces around brackets for tests (dotnet/coreclr#23017)

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

5 years agoFix issue 21089 (Add tests for the `EventPipe support for "Parameters"` feature.)
Andrew Au [Fri, 1 Mar 2019 18:12:48 +0000 (10:12 -0800)]
Fix issue 21089 (Add tests for the `EventPipe support for "Parameters"` feature.)

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

5 years agoReplace Delegate.CreateDelegate (dotnet/corertdotnet/coreclr#7147)
Michal Strehovský [Mon, 11 Mar 2019 20:57:29 +0000 (21:57 +0100)]
Replace Delegate.CreateDelegate (dotnet/corertdotnet/coreclr#7147)

Replacing this with a pattern that is easier to statically analyze. We use the GetType/GetMethod/CreateDelegate pattern in several places already.

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

5 years agoMerge pull request dotnet/coreclr#23141 from CarolEidt/Fix23059
Carol Eidt [Mon, 11 Mar 2019 23:11:50 +0000 (16:11 -0700)]
Merge pull request dotnet/coreclr#23141 from CarolEidt/Fix23059

Fix handling of struct setup assignments

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

5 years agoFix NRE in EqualStringArrays (dotnet/coreclr#23174)
Hugh Bellamy [Mon, 11 Mar 2019 20:59:13 +0000 (20:59 +0000)]
Fix NRE in EqualStringArrays (dotnet/coreclr#23174)

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

5 years agoFix bad test (dotnet/coreclr#23173)
Michal Strehovský [Mon, 11 Mar 2019 20:58:20 +0000 (21:58 +0100)]
Fix bad test (dotnet/coreclr#23173)

The test was testing that a non-virtual call to an abstract method that is methodimpl on the same type will land in the methodimpl. This behavior is not specced and cannot be hit with any mainstream .NET languages. We are making non-virtual calls to abstract methods throw a BadImageFormatException instead.

Fixes dotnet/coreclr#23096.

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

5 years agoMerge pull request dotnet/coreclr#23187 from BruceForstall/AlwaysArchiveCoreFxTestRes...
Bruce Forstall [Mon, 11 Mar 2019 20:36:45 +0000 (13:36 -0700)]
Merge pull request dotnet/coreclr#23187 from BruceForstall/AlwaysArchiveCoreFxTestResultsXml

Always archive corefx testresults.xml files

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

5 years agoAlways archive corefx testresults.xml files
Bruce Forstall [Mon, 11 Mar 2019 20:10:43 +0000 (13:10 -0700)]
Always archive corefx testresults.xml files

These were only being archived for successful runs, which is
when they are the least interesting. Archive them for all test runs.

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

5 years agoFix no-return false positives in static analyzer build
Jan Vorlicek [Mon, 11 Mar 2019 16:49:05 +0000 (09:49 -0700)]
Fix no-return false positives in static analyzer build

There were about 800 false positive issues in the clang status analyzer
build caused by the fact that various forms of asserts were not considered
by the analyzer as not returning.

This change adds __attribute__((analyzer_noreturn)) (wrapped in a macro) to
those assertion functions.

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

5 years agoAdd EntryPointFilter option (dotnet/coreclr#23054)
Steve MacLean [Mon, 11 Mar 2019 16:26:57 +0000 (12:26 -0400)]
Add EntryPointFilter option (dotnet/coreclr#23054)

* Add EntryPointFilter

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

5 years agoAdd a target to get native resources from another DLL to ILProj SDK (dotnet/coreclr...
Eric StJohn [Mon, 11 Mar 2019 15:53:46 +0000 (08:53 -0700)]
Add a target to get native resources from another DLL to ILProj SDK (dotnet/coreclr#23117)

We use a similar target in CoreFx and I'll need it for another project that is planning on
using this SDK.

When ILResourceReference it will be disassembled to get native resources (EG: fileversion)
to pass to ILasm.

If ILResourceReference is not specified then it does nothing.

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

5 years agoRemove 2 suffix step 1 (dotnet/corefxdotnet/coreclr#35904)
Dan Moseley [Sat, 9 Mar 2019 21:54:04 +0000 (13:54 -0800)]
Remove 2 suffix step 1 (dotnet/corefxdotnet/coreclr#35904)

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

5 years agoMerge pull request dotnet/coreclr#23093 from franksinankaya/gcc_warnings_9
Jan Vorlicek [Mon, 11 Mar 2019 15:08:50 +0000 (16:08 +0100)]
Merge pull request dotnet/coreclr#23093 from franksinankaya/gcc_warnings_9

GCC Signed compare and Narrowing warnings

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

5 years agoMerge pull request dotnet/coreclr#23111 from am11/gcc-configuration
Jan Vorlicek [Mon, 11 Mar 2019 13:59:27 +0000 (14:59 +0100)]
Merge pull request dotnet/coreclr#23111 from am11/gcc-configuration

Improve gcc configuration

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

5 years agoMerge pull request dotnet/coreclr#23099 from janvorli/remove-pal-cleanup
Jan Vorlicek [Mon, 11 Mar 2019 12:23:25 +0000 (13:23 +0100)]
Merge pull request dotnet/coreclr#23099 from janvorli/remove-pal-cleanup

Remove init_count zeroing from PAL cleanup at process exit

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

5 years agoMerge pull request dotnet/coreclr#23121 from janvorli/enable-clang-staticanalyzer...
Jan Vorlicek [Mon, 11 Mar 2019 11:08:26 +0000 (12:08 +0100)]
Merge pull request dotnet/coreclr#23121 from janvorli/enable-clang-staticanalyzer-build

Enable build with clang static analyzer

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

5 years agoRemove conditions around CMAKE_REQUIRED_LIBRARIES
Adeel [Mon, 11 Mar 2019 09:38:32 +0000 (02:38 -0700)]
Remove conditions around CMAKE_REQUIRED_LIBRARIES

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

5 years agoRefactor Encoding to split fast-path and fallback logic (dotnet/coreclr#23098)
Levi Broderick [Mon, 11 Mar 2019 04:40:27 +0000 (21:40 -0700)]
Refactor Encoding to split fast-path and fallback logic (dotnet/coreclr#23098)

This refactoring is limited to ASCIIEncoding at the moment, but it can easily be applied to UTF-8 / UTF-16 / UTF-32.

High-level changes:
- Fallback logic has been split from the fast-path, improving performance of GetBytes and similar routines.
- All of the plumbing of when to invoke the fallback logic and how to manage leftover data has been moved into the base class.
- Almost all of the logic except for the fast-path is now written in terms of verifiable code (Span and ReadOnlySpan).
- Minor bug fixes in EncoderNLS.Convert (see https://github.com/dotnet/coreclr/issues/23020).

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

5 years agoMove Buffer to shared (dotnet/coreclr#23157)
Egor Bogatov [Sat, 9 Mar 2019 21:55:43 +0000 (00:55 +0300)]
Move Buffer to shared (dotnet/coreclr#23157)

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

5 years agoTwo more instances
Andrew Au [Sat, 9 Mar 2019 00:07:39 +0000 (16:07 -0800)]
Two more instances

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

5 years agoEliminate SampleProfilerEventInstance
Andrew Au [Fri, 8 Mar 2019 23:13:58 +0000 (15:13 -0800)]
Eliminate SampleProfilerEventInstance

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

5 years agoAvoid StackWalk in EventPipeEventInstance constructor
Andrew Au [Sat, 9 Mar 2019 00:00:36 +0000 (16:00 -0800)]
Avoid StackWalk in EventPipeEventInstance constructor

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

5 years agoAdd stack depth check to all Task continuations (dotnet/coreclr#23152)
Stephen Toub [Sat, 9 Mar 2019 16:41:43 +0000 (11:41 -0500)]
Add stack depth check to all Task continuations (dotnet/coreclr#23152)

Currently Task has a stack depth check that avoids stack overflows on very deep stack continuation chains, but it only applies to Task.ContinueWith, not to other kinds of continuations.  This changes that to have it apply to all.

As part of this, this also deletes the current StackGuard type used to achieve the check.  The type was meant to avoid expensive calls to check where we are on the stack, but now that we're using TryEnsureSufficientExecutionStack, it's actually faster to just call that rather than access the current StackGuard from a ThreadLocal.  This then also cleans up the call sites nicely, as they no longer need finally blocks to undo the increment performed on the StackGuard.

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

5 years agoMove part of RuntimeHelpers to shared partition (dotnet/coreclr#23130)
Marek Safar [Sat, 9 Mar 2019 05:32:53 +0000 (06:32 +0100)]
Move part of RuntimeHelpers to shared partition (dotnet/coreclr#23130)

* Move part of RuntimeHelpers to shared partition

* Remove FormatterServices.cs

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

5 years agoProperly override IsEquivalentTo() API in RuntimeType (dotnet/coreclr#23137)
Aaron Robinson [Sat, 9 Mar 2019 01:36:37 +0000 (17:36 -0800)]
Properly override IsEquivalentTo() API in RuntimeType (dotnet/coreclr#23137)

* Properly override IsEquivalentTo() API in RuntimeType
* Add tests for API validation

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

5 years agoUpdate eventcounter spec (dotnet/coreclr#23142)
Sung Yoon Whang [Fri, 8 Mar 2019 22:54:38 +0000 (14:54 -0800)]
Update eventcounter spec (dotnet/coreclr#23142)

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

5 years agoMerge pull request dotnet/coreclr#23140 from BruceForstall/RemoveArm64NYI
Bruce Forstall [Fri, 8 Mar 2019 22:45:11 +0000 (14:45 -0800)]
Merge pull request dotnet/coreclr#23140 from BruceForstall/RemoveArm64NYI

Remove unneeded arm64 NYI

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

5 years agoUse 4 core external build queues (dotnet/coreclr#23079)
Jarret Shook [Fri, 8 Mar 2019 22:43:53 +0000 (14:43 -0800)]
Use 4 core external build queues (dotnet/coreclr#23079)

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

5 years agoFix missing RunTests.sh in CoreFX Linux jobs. (dotnet/coreclr#23135)
Sergey Andreenko [Fri, 8 Mar 2019 22:24:17 +0000 (14:24 -0800)]
Fix missing RunTests.sh in CoreFX Linux jobs. (dotnet/coreclr#23135)

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

5 years agoFix handling of struct setup assignments
Carol Eidt [Fri, 8 Mar 2019 21:09:41 +0000 (13:09 -0800)]
Fix handling of struct setup assignments

In dotnet/coreclr#22791 I was creating struct assignments with COMMAs on the rhs, but that isn't handled downstream.

Fix dotnet/coreclr#23059

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

5 years agoRemove unneeded arm64 NYI
Bruce Forstall [Fri, 8 Mar 2019 20:43:54 +0000 (12:43 -0800)]
Remove unneeded arm64 NYI

InitVarDscInfo::alignReg is only used by `_TARGET_ARM_`, so put
it under that ifdef.

Contributes to dotnet/coreclr#18178

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

5 years agoMerge pull request dotnet/coreclr#23086 from BruceForstall/Arm64ChangeIntFloatSaveOrder
Bruce Forstall [Fri, 8 Mar 2019 20:25:21 +0000 (12:25 -0800)]
Merge pull request dotnet/coreclr#23086 from BruceForstall/Arm64ChangeIntFloatSaveOrder

Arm64: always save int registers at higher addresses than float regs

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

5 years agoOptimized RemoveItemsRange to call the list.RemoveRange if the items is of type List<T>
Andrew Hoefling [Thu, 7 Mar 2019 23:08:22 +0000 (18:08 -0500)]
Optimized RemoveItemsRange to call the list.RemoveRange if the items is of type List<T>

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

5 years agoSimplified the RemoveItem logic since we have more robust validation
Andrew Hoefling [Thu, 7 Mar 2019 00:34:57 +0000 (19:34 -0500)]
Simplified the RemoveItem logic since we have more robust validation

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

5 years agoInsertItemsRange API now checks if the underlying items.IsReadOnly first then collect...
Andrew Hoefling [Wed, 6 Mar 2019 17:57:09 +0000 (12:57 -0500)]
InsertItemsRange API now checks if the underlying items.IsReadOnly first then collection == null

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

5 years agoRemoved (Int64) cast statements from RemoveItemsRange when checking for overflow...
Andrew Hoefling [Wed, 6 Mar 2019 17:47:03 +0000 (12:47 -0500)]
Removed (Int64) cast statements from RemoveItemsRange when checking for overflow errors

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

5 years agoAdded new RemoveRange validation check to see if the resulting range (index + count...
Andrew Hoefling [Wed, 6 Mar 2019 01:31:19 +0000 (20:31 -0500)]
Added new RemoveRange validation check to see if the resulting range (index + count) > items.Count and if it is true throw ArgumentException

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

5 years agoUpdated InsertItemsRange to simplify the expression and added performance improvement...
Andrew Hoefling [Wed, 6 Mar 2019 00:00:01 +0000 (19:00 -0500)]
Updated InsertItemsRange to simplify the expression and added performance improvements. If the underlying `items` is using List<T> we should use it's InsertRange method since it is optimized, othersie we use InsertItem

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

5 years agoUpdated RemoveAt->RemoveItem. This change removes redundent validation checks that...
Andrew Hoefling [Tue, 5 Mar 2019 23:46:05 +0000 (18:46 -0500)]
Updated RemoveAt->RemoveItem. This change removes redundent validation checks that happen using the RemoveAt API. RemoveItem gives us direct access to invoke the command

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

5 years agoUpdated RemoveRange invocation of RemoveAt to use index instead of i, because the...
Andrew Hoefling [Tue, 5 Mar 2019 23:15:08 +0000 (18:15 -0500)]
Updated RemoveRange invocation of RemoveAt to use index instead of i, because the array changes with each iteration of the for loop and will cause side-effects which may include index out of range exceptions. This needs to be index because as the array shrinks the index is always at the correct position.

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

5 years agoAdded ArgumentOutOfRangeException exception in RemoveRange if the count is less than 0
Andrew Hoefling [Tue, 5 Mar 2019 23:14:01 +0000 (18:14 -0500)]
Added ArgumentOutOfRangeException exception in RemoveRange if the count is less than 0

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

5 years agoUpdated RemoveItemsRange to properly remove each item and not just the index items
Andrew Hoefling [Tue, 5 Mar 2019 05:26:08 +0000 (00:26 -0500)]
Updated RemoveItemsRange to properly remove each item and not just the index items

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

5 years agoUpdated RemoveItemsRange to prevent int.MaxValue overflow errors
Andrew Hoefling [Tue, 5 Mar 2019 04:50:36 +0000 (23:50 -0500)]
Updated RemoveItemsRange to prevent int.MaxValue overflow errors

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

5 years agoRemove ternary operator from invocation as it is the same as inputing items.Count
Andrew Hoefling [Tue, 5 Mar 2019 04:44:19 +0000 (23:44 -0500)]
Remove ternary operator from invocation as it is the same as inputing items.Count

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

5 years agoAdded ReplaceItemsRange API and updated ReplaceRange to invoke the protected method
Andrew Hoefling [Tue, 5 Mar 2019 03:28:05 +0000 (22:28 -0500)]
Added ReplaceItemsRange API and updated ReplaceRange to invoke the protected method

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

5 years agoAdding braces on for loop
Andrew Hoefling [Tue, 5 Mar 2019 02:54:41 +0000 (21:54 -0500)]
Adding braces on for loop

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

5 years agoUpdated foreach to use T instead of var
Andrew Hoefling [Tue, 5 Mar 2019 02:53:52 +0000 (21:53 -0500)]
Updated foreach to use T instead of var

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

5 years agoUpdated index out of range exception check to be a single comparison
Andrew Hoefling [Tue, 5 Mar 2019 02:53:26 +0000 (21:53 -0500)]
Updated index out of range exception check to be a single comparison

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

5 years agoAdded new Range Manipulation APIs for Collection<T> which propogate up to ObservableC...
Andrew Hoefling [Tue, 5 Mar 2019 01:16:16 +0000 (20:16 -0500)]
Added new Range Manipulation APIs for Collection<T> which propogate up to ObservableCollection<T>. AddRange, InsertRange, RemoveRange and Replace Range

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

5 years agoUse CLR_LINK
Adeel [Fri, 8 Mar 2019 19:04:43 +0000 (11:04 -0800)]
Use CLR_LINK

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