platform/upstream/dotnet/runtime.git
6 years agoPEImageLayout: flush instruction cache only for pages with relocs. (dotnet/coreclr...
Konstantin Baladurin [Mon, 14 May 2018 16:55:18 +0000 (19:55 +0300)]
PEImageLayout: flush instruction cache only for pages with relocs. (dotnet/coreclr#17773)

We need to flush instruction cache only for pages that have relocations
instead of full sections because otherwise application's shared clean
memory is increased in some cases on Linux.

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

6 years agoReflection: Allow ParameterBuilder.SetConstant(nonNullValue) for nullable enum parame...
stakx [Mon, 14 May 2018 14:20:53 +0000 (16:20 +0200)]
Reflection: Allow ParameterBuilder.SetConstant(nonNullValue) for nullable enum parameters (dotnet/coreclr#17977)

* ParameterBuilder.SetConstant(nonNull) for TEnum?

This change makes it possible to use `ParameterBuilder.SetConstant`
to set a non-null default value for parameters having a nullable enum
type.

* ParameterInfo.DefaultValue for TEnum?

Add a note to `MdConstant.GetValue` (which sits behind `ParameterInfo.
[Raw]DefaultValue`) explaining why changing its behavior to mirror the
change in `TypeBuilder.SetConstantValue` would be a breaking change.

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

6 years agoUpdate CoreClr, CoreFx to preview1-26514-01, preview1-26514-01, respectively (dotnet...
dotnet-maestro-bot [Mon, 14 May 2018 05:23:27 +0000 (00:23 -0500)]
Update CoreClr, CoreFx to preview1-26514-01, preview1-26514-01, respectively (dotnet/coreclr#17982)

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

6 years agoUpdate CoreClr, CoreFx to preview1-26513-04, preview1-26513-04, respectively (dotnet...
dotnet-maestro-bot [Sun, 13 May 2018 22:27:29 +0000 (17:27 -0500)]
Update CoreClr, CoreFx to preview1-26513-04, preview1-26513-04, respectively (dotnet/coreclr#17974)

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

6 years agoAdd explicit null check for VSD via tail call stub. (dotnet/coreclr#17960)
Sergey Andreenko [Sun, 13 May 2018 16:58:32 +0000 (09:58 -0700)]
Add explicit null check for VSD via tail call stub. (dotnet/coreclr#17960)

* fix

* update test lists for arm and x64

* update failure reason on arm64

* fix comment

* Use NYI_ARM64

It makes it easier to find them.

* exclude arm64 tail call tests

that have prefix tail calls, but jit can't make it.

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

6 years agoMerge pull request dotnet/coreclr#17971 from CarolEidt/FixCpBlkBug
Carol Eidt [Sun, 13 May 2018 15:28:03 +0000 (08:28 -0700)]
Merge pull request dotnet/coreclr#17971 from CarolEidt/FixCpBlkBug

Don't eliminate a cpblk when offsets are different

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

6 years agoMerge pull request dotnet/coreclr#17948 from mikedn/delegate-contain-this
Carol Eidt [Fri, 11 May 2018 23:28:51 +0000 (16:28 -0700)]
Merge pull request dotnet/coreclr#17948 from mikedn/delegate-contain-this

Call ContainCheckIndir on the newly created indir

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

6 years agoPR feedback and fix test.
Carol Eidt [Fri, 11 May 2018 22:03:35 +0000 (15:03 -0700)]
PR feedback and fix test.

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

6 years agoDon't eliminate a cpblk when offsets are different
Carol Eidt [Fri, 11 May 2018 21:08:30 +0000 (14:08 -0700)]
Don't eliminate a cpblk when offsets are different

When `fgMorphCopyBlock()` encounters a cpblk between two different offsets of the same local, if both fields are not recognizable to the JIT (i.e. the FieldSeqNode returned by IsLocalAddrExpr() and/or the gtFieldSeq field of a GT_LCL_FLD is FieldSeqStore::NotAField()), they should not be considered equal (and therefore should not be morphed to a `GT_NOP`).

Fixes dotnet/coreclr#17969

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

6 years agoUpdate CoreClr, CoreFx to preview1-26511-05, preview1-26511-04, respectively (dotnet...
dotnet-maestro-bot [Fri, 11 May 2018 17:32:04 +0000 (12:32 -0500)]
Update CoreClr, CoreFx to preview1-26511-05, preview1-26511-04, respectively (dotnet/coreclr#17961)

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

6 years agoMove StringBuilderCache to shared (dotnet/coreclr#17964)
Stephen Toub [Fri, 11 May 2018 17:31:46 +0000 (13:31 -0400)]
Move StringBuilderCache to shared (dotnet/coreclr#17964)

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

6 years agoSwitch to Word2Vec fork (dotnet/coreclr#17945)
Adam Sitnik [Fri, 11 May 2018 15:47:21 +0000 (17:47 +0200)]
Switch to Word2Vec fork (dotnet/coreclr#17945)

* update git repo url, remove the patch file (not needed anymore)

* refactoring: there is no need to have an abstract class if only 1 class derives from it

* use CurrentCulture.NumberFormat.NumberDecimalSeparator instead of hardcoded dot (it's , for polish UI and it fails for me)

* use .NET Standard way of accessing CurrentCulture to fix the build

* updated repor url to our fork + removed dead code

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

6 years agoFix Avx.ConvertToSingle flags (dotnet/coreclr#17954)
mikedn [Fri, 11 May 2018 04:41:43 +0000 (07:41 +0300)]
Fix Avx.ConvertToSingle flags (dotnet/coreclr#17954)

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

6 years agoMerge pull request dotnet/corefxdotnet/coreclr#29636 from stephentoub/formatmessage
Stephen Toub [Fri, 11 May 2018 02:27:53 +0000 (22:27 -0400)]
Merge pull request dotnet/corefxdotnet/coreclr#29636 from stephentoub/formatmessage

Improvements to FormatMessage

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

6 years agoupdate profiler API status to reflect that dotnet/coreclr#13153 is resolved (dotnet...
Sung Yoon Whang [Fri, 11 May 2018 02:57:47 +0000 (19:57 -0700)]
update profiler API status to reflect that dotnet/coreclr#13153 is resolved (dotnet/coreclr#17953)

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

6 years agoMerge pull request dotnet/coreclr#17941 from dotnet-maestro-bot/master-UpdateDependencies
Wes Haggard [Fri, 11 May 2018 00:48:08 +0000 (17:48 -0700)]
Merge pull request dotnet/coreclr#17941 from dotnet-maestro-bot/master-UpdateDependencies

Update BuildTools, CoreClr, CoreFx to preview1-02810-02, preview1-26510-06, preview1-26510-05, respectively (master)

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

6 years agoJIT: fix case with slow generic delegate creation (dotnet/coreclr#17802)
Andy Ayers [Fri, 11 May 2018 00:22:10 +0000 (17:22 -0700)]
JIT: fix case with slow generic delegate creation (dotnet/coreclr#17802)

The jit has been using IR pattern matching to find the information needed for
optimizing delegate construction. This missed one case, causing the code to
use a very slow construction path.

to convey this information to the optimization. With this change the jit now
now relies on the token cache for all the other cases too.

This initial commit preserves the pattern match code and verifies that when
it fires it reaches the same conclusion as the token cache does.

This cross-validation revealed one case where the token information was less
specific than the pattern match so we now also update the method handle in
the token from the call info.

A subsequent commit will remove the pattern matching when we are confident the
new token cache logic handles all the cases correctly.

Closes dotnet/coreclr#12264.

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

6 years agoadd test with tail call of VSD stub with AV. (dotnet/coreclr#17920)
Sergey Andreenko [Fri, 11 May 2018 00:10:57 +0000 (17:10 -0700)]
add test with tail call of VSD stub with AV. (dotnet/coreclr#17920)

* add test with tail call of VSD stub with AV.

* exclude new failing test

* fix names/types

* forbid inlining

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

6 years agoUpdate BuildTools, CoreClr, CoreFx to preview1-02810-02, preview1-26510-06, preview1...
dotnet-maestro-bot [Thu, 10 May 2018 22:25:59 +0000 (15:25 -0700)]
Update BuildTools, CoreClr, CoreFx to preview1-02810-02, preview1-26510-06, preview1-26510-05, respectively

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

6 years agoValue number identities for compares and subs (dotnet/coreclr#17919)
Andy Ayers [Thu, 10 May 2018 21:43:03 +0000 (14:43 -0700)]
Value number identities for compares and subs (dotnet/coreclr#17919)

Improve value number support for various subtracts and unsigned compares.
For instance for non-float values, x - x == 0.

Closes dotnet/coreclr#15491.

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

6 years agoMerge pull request dotnet/coreclr#17784 from adityamandaleeka/add_jit_hfa_passing_test
Aditya Mandaleeka [Thu, 10 May 2018 19:01:17 +0000 (12:01 -0700)]
Merge pull request dotnet/coreclr#17784 from adityamandaleeka/add_jit_hfa_passing_test

Add a test case for HFA passing

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

6 years agoSpecify ordering between CrstUniqueStack and CrstReadyToRunEntryPointToMethodDescMap...
Sung Yoon Whang [Thu, 10 May 2018 16:04:52 +0000 (09:04 -0700)]
Specify ordering between CrstUniqueStack and CrstReadyToRunEntryPointToMethodDescMap (dotnet/coreclr#17938)

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

6 years agoCall ContainCheckIndir on the newly created indir
Mike Danes [Thu, 10 May 2018 15:47:51 +0000 (18:47 +0300)]
Call ContainCheckIndir on the newly created indir

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

6 years agoFix alternate stack for Alpine docker on SELinux (dotnet/coreclr#17936)
Jan Vorlicek [Thu, 10 May 2018 13:33:54 +0000 (15:33 +0200)]
Fix alternate stack for Alpine docker on SELinux (dotnet/coreclr#17936)

For some reason, the Alpine docker container running on a SELinux host maps
heap as RWX. When we allocate alternate stack from the heap, we also
change the protection of the first page to PROT_NONE so that it can
serve as a guard page to catch stack overflow. And when we free the
alternate stack, we restore the protection back to PROT_READ |
PROT_WRITE. The restoration fails in Alpine docker container running on
a SELinux host with EPROT failure and the SELinux log reports that an
attempt to change heap to executable was made. So it looks like the
kernel has added the PERM_EXEC to the permissions we have passed to the
mprotect call. There is a code in the mprotect implementation that can
do that, although I don't fully understand the conditions under which it
happens. This is driven by the VM_MAYEXEC flag in the internal VMA block
structure.
To fix that, I've modified the alternate stack allocation to use mmap /
munmap instead of C heap allocation.

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

6 years agoReplace easy Substrings with AsSpan/Slices (dotnet/coreclr#17916)
Stephen Toub [Thu, 10 May 2018 01:36:19 +0000 (21:36 -0400)]
Replace easy Substrings with AsSpan/Slices (dotnet/coreclr#17916)

* Replace several Substrings with AsSpan/Slices

* Address PR feedback

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

6 years agoFix lst file for new test additions.
Aditya Mandaleeka [Wed, 9 May 2018 21:40:31 +0000 (14:40 -0700)]
Fix lst file for new test additions.

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

6 years agofix semicolon and priorities for new excluded tests (dotnet/coreclr#17934)
Sergey Andreenko [Thu, 10 May 2018 00:14:24 +0000 (17:14 -0700)]
fix semicolon and priorities for new excluded tests (dotnet/coreclr#17934)

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

6 years agoMerge pull request dotnet/coreclr#17911 from CarolEidt/Fix16377
Carol Eidt [Wed, 9 May 2018 22:09:26 +0000 (15:09 -0700)]
Merge pull request dotnet/coreclr#17911 from CarolEidt/Fix16377

Arm64: Pass promoted struct using GT_FIELD_LIST

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

6 years agoAdd regression test for passing HFA params.
Aditya Mandaleeka [Wed, 25 Apr 2018 21:46:26 +0000 (14:46 -0700)]
Add regression test for passing HFA params.

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

6 years agoImprove checking of GTF_CALL flag. (dotnet/coreclr#17857)
Eugene Rozenfeld [Wed, 9 May 2018 20:16:10 +0000 (13:16 -0700)]
Improve checking of GTF_CALL flag. (dotnet/coreclr#17857)

The checker ensures that GTF_CALL is set only where
it's needed: on GT_CALL nodes, on GT_INTRINSIC nodes where
intrinsics are implemented by user calls, and on nodes that
have a child with GT_CALL flag set.

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

6 years agoUpdate CoreClr, CoreFx to preview1-26509-05, preview1-26509-05, respectively (dotnet...
dotnet-maestro-bot [Wed, 9 May 2018 18:35:36 +0000 (13:35 -0500)]
Update CoreClr, CoreFx to preview1-26509-05, preview1-26509-05, respectively (dotnet/coreclr#17930)

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

6 years agoReduce allocation in StringBuilder marshaling (dotnet/coreclr#17928)
Stephen Toub [Wed, 9 May 2018 18:35:14 +0000 (14:35 -0400)]
Reduce allocation in StringBuilder marshaling (dotnet/coreclr#17928)

When marshaling back results for a StringBuilder argument in a P/Invoke:
- for UTF8 it's allocating a new char[], pinning it, and then handing that off to StringBuilder.ReplaceBufferInternal, which itself then allocates a new char[], and all of that happens even if the StringBuilder's char[] is already big enough to handle the results, which is commonly the case due to the StringBuilder having been sized appropriately from the get-go.
- for both Unicode and Ansi, it's similarly allocating a new char[] invariably, even if the existing buffer is already sufficient.

This commit cleans that up.

While ideally we wouldn't use StringBuilders at all in coreclr/corefx for marshaling, we still do in some places, e.g. Dns.GetHostName.  While we should separately fix that to avoid using a StringBuilder at all, it's useful to demonstrate the impact of the change here:
```C#
[Benchmark]
public static string GetHostName() => Dns.GetHostName();
```
on my machine results in:
```
      Method |  Gen 0 | Allocated |
------------ |-------:|----------:|
 Before      | 0.2668 |   1.09 KB |
 After       | 0.1392 |     584 B |
```

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

6 years agoRestrict what we archive for perf testing (dotnet/coreclr#17918)
Michelle McDaniel [Wed, 9 May 2018 16:55:39 +0000 (09:55 -0700)]
Restrict what we archive for perf testing (dotnet/coreclr#17918)

* Restrict what we archive for perf testing

* change all perf legs archival

* Change txt save to *_log.txt

* Reduce number of days to keep artifacts

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

7 years agoUpdate arm/arm64 test lists (dotnet/coreclr#17855)
Sergey Andreenko [Wed, 9 May 2018 04:32:14 +0000 (21:32 -0700)]
Update arm/arm64 test lists (dotnet/coreclr#17855)

* update arm64list

* exclude JIT\HardwareIntrinsics\X86 for arm64

We do not want to spend arm64 machine resourses on them.

JIT\HardwareIntrinsics\X86\Sse\LoadAlignedVector128_ro was left enabled to test the failing path.

* update arm test list

* exclude JIT\HardwareIntrinsics\X86 for arm

* exclude failing tests for arm32

* exclude failing tests for arm64

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

7 years agoUpdate BuildTools, CoreClr, CoreFx to preview1-02808-01, preview1-26509-01, preview1...
dotnet-maestro-bot [Wed, 9 May 2018 03:33:20 +0000 (22:33 -0500)]
Update BuildTools, CoreClr, CoreFx to preview1-02808-01, preview1-26509-01, preview1-26509-01, respectively (dotnet/coreclr#17923)

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

7 years agoRename mscorlib to System.Private.Corelib (dotnet/coreclr#17926)
Maryam Ariyan [Wed, 9 May 2018 03:30:54 +0000 (20:30 -0700)]
Rename mscorlib to System.Private.Corelib (dotnet/coreclr#17926)

* diff from just renaming folder mscorlib to System.Private.CoreLib

* Updating build.proj to reflect name change

Fixes: dotnet/coreclr#17905
Commit migrated from https://github.com/dotnet/coreclr/commit/85374ceaed177f71472cc4c23c69daf7402e5048

7 years agoHandle SIMD field of GT_FIELD_LIST in codegen.
Carol Eidt [Wed, 9 May 2018 00:20:04 +0000 (17:20 -0700)]
Handle SIMD field of GT_FIELD_LIST in codegen.
Add header to test case.

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

7 years agoUpdate DotnetCLIVersion.txt (dotnet/coreclr#17925)
Michelle McDaniel [Tue, 8 May 2018 22:57:06 +0000 (15:57 -0700)]
Update DotnetCLIVersion.txt (dotnet/coreclr#17925)

The current version is broken for RHEL. This change revs up the version
to 2.1.300-rtm-008820, which is fixed for RHEL.

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

7 years agoDelete irrelevant comment (dotnet/coreclr#17921)
Jan Kotas [Tue, 8 May 2018 22:50:23 +0000 (15:50 -0700)]
Delete irrelevant comment (dotnet/coreclr#17921)

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

7 years agoPartial implementation of Thread.GetApartmentState (dotnet/corertdotnet/coreclr#5781)
Jan Kotas [Tue, 8 May 2018 16:52:25 +0000 (09:52 -0700)]
Partial implementation of Thread.GetApartmentState (dotnet/corertdotnet/coreclr#5781)

Related to dotnet/coreclr#5776

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

7 years agoReflection: Fix DefaultValue exception with enums (dotnet/coreclr#17917)
stakx [Tue, 8 May 2018 17:42:25 +0000 (19:42 +0200)]
Reflection: Fix DefaultValue exception with enums (dotnet/coreclr#17917)

This is related to dbcfd2f9d1, but about enums instead of `DateTime`.

Given e.g. a generic method with a parameter `T arg = default(T)`
where `T` is the generic type parameter, if that is instantiated with
some enum as the generic type argument, then querying the default
value of `arg` using `ParameterInfo.[Raw]DefaultValue` will throw a
`FormatException`.

(The use of generics means that the C# compiler always records a
`null` constant in metadata, which isn't usually the case for enums.)

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

7 years agoUpdate CoreClr, CoreFx to preview1-26508-05, preview1-26508-04, respectively (dotnet...
dotnet-maestro-bot [Tue, 8 May 2018 17:18:15 +0000 (12:18 -0500)]
Update CoreClr, CoreFx to preview1-26508-05, preview1-26508-04, respectively (dotnet/coreclr#17913)

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

7 years agoPR feedback
Carol Eidt [Tue, 8 May 2018 15:50:49 +0000 (08:50 -0700)]
PR feedback

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

7 years agoFix failing System.Reflection.Emit tests (dotnet/coreclr#17915)
stakx [Tue, 8 May 2018 14:39:17 +0000 (16:39 +0200)]
Fix failing System.Reflection.Emit tests (dotnet/coreclr#17915)

Commit fceac03e82 removed a test from `TypeBuilder.SetConstantValue`
that is too strict when called from `ParameterBuilder`, but that both
`FieldBuilder` and `EnumBuilder` require. Add the same test back, but
in `FieldBuilder.SetConstant`.

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

7 years agoMove ConcurrentExclusiveSchedulerPair to shared CoreLib partition (dotnet/coreclr...
Jan Kotas [Tue, 8 May 2018 11:08:31 +0000 (04:08 -0700)]
Move ConcurrentExclusiveSchedulerPair to shared CoreLib partition (dotnet/coreclr#17914)

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

7 years ago Remove ConcurrentDictionary from System.Private.CoreLib (dotnet/coreclr#17908)
Stephen Toub [Tue, 8 May 2018 05:18:44 +0000 (01:18 -0400)]
 Remove ConcurrentDictionary from System.Private.CoreLib (dotnet/coreclr#17908)

* Delete stale PRENET45 conditional code

* Remove ConcurrentDictionary dependency from ConcurrentExclusiveSchedulerPair

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

7 years agoSpeed up Array.Reverse by using ref reassignment (dotnet/coreclr#17891)
Levi Broderick [Tue, 8 May 2018 03:50:33 +0000 (20:50 -0700)]
Speed up Array.Reverse by using ref reassignment (dotnet/coreclr#17891)

* Speed up Array.Reverse by using ref reassignment

* Optimize MemoryExtensions.Reverse

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

7 years agoArm64 debugger step into behavior (dotnet/coreclr#17912)
David Wrighton [Tue, 8 May 2018 03:48:30 +0000 (20:48 -0700)]
Arm64 debugger step into behavior (dotnet/coreclr#17912)

- Fix #ifdef in StubManagerHelpers::StubGetSecondArg that erroneously referred to TARGET_ARM instead of TARGET_ARM64
- Add condition in StubManagerHelpers::GetTailCallTarget to refer to X12 as is used by the various helpers that can pause in the midst of stepping
  - Fix StubDispatchFixupStub to use X12 as tail call register instead of X9 to match the other tail-calling stubs

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

7 years agoArm64: Pass promoted struct using GT_FIELD_LIST
Carol Eidt [Mon, 7 May 2018 23:27:30 +0000 (16:27 -0700)]
Arm64: Pass promoted struct using GT_FIELD_LIST

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

7 years agoMerge pull request dotnet/coreclr#17910 from jashook/vc_runtime
Jarret Shook [Mon, 7 May 2018 19:51:52 +0000 (12:51 -0700)]
Merge pull request dotnet/coreclr#17910 from jashook/vc_runtime

Add vcruntime to core_root for arm(64) jobs.

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

7 years agoAdd vcruntime to core_root for arm(64) jobs.
jashook [Mon, 7 May 2018 17:41:29 +0000 (10:41 -0700)]
Add vcruntime to core_root for arm(64) jobs.

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

7 years agoUpdate CoreClr, CoreFx to preview1-26507-05, preview1-26507-04, respectively (dotnet...
dotnet-maestro-bot [Mon, 7 May 2018 17:17:16 +0000 (12:17 -0500)]
Update CoreClr, CoreFx to preview1-26507-05, preview1-26507-04, respectively (dotnet/coreclr#17894)

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

7 years agoReflection: Fix DefaultValue for optional DateTime (dotnet/coreclr#17877)
stakx [Mon, 7 May 2018 16:28:37 +0000 (18:28 +0200)]
Reflection: Fix DefaultValue for optional DateTime (dotnet/coreclr#17877)

Querying the default value of an optional `DateTime` parameter using
`ParameterInfo.DefaultValue` can throw a `FormatException` if that
default value is a null constant in metadata, which is how the C#
compiler encodes a default value of `default(DateTime)`.

This commit fixes that error by adding the proper handling for null
metadata constants with `DateTime` parameters.

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

7 years agoReflection.Emit: Allow `ParameterBuilder.SetConstant(null)` for value-typed parameter...
stakx [Mon, 7 May 2018 14:15:49 +0000 (16:15 +0200)]
Reflection.Emit: Allow `ParameterBuilder.SetConstant(null)` for value-typed parameters (dotnet/coreclr#17887)

* Add test for dotnet/corefxdotnet/coreclr#26184

The Roslyn C# compiler encodes an optional, value-typed parameter's
default value of `default(TValueType)` as a null reference constant in
metadata. Add a test that verifies that reflection can do the same
using `ParameterBuilder.SetConstant(null)`.

* Always allow ParameterBuilder.SetConstant(null)

* Remove test project as requested in review

These tests move to CoreFX. See dotnet/corefxdotnet/coreclr#29532.

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

7 years agoMerge pull request dotnet/coreclr#17847 from dotnet-maestro-bot/master-UpdateDependencies
Jan Kotas [Sun, 6 May 2018 13:48:44 +0000 (06:48 -0700)]
Merge pull request dotnet/coreclr#17847 from dotnet-maestro-bot/master-UpdateDependencies

Update BuildTools, CoreClr, CoreFx to preview1-02804-04, preview1-26506-01, preview1-26506-01, respectively (master)

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

7 years agoRename netcoreapp2.1 -> netcoreapp2.2
Jan Kotas [Sun, 6 May 2018 05:10:34 +0000 (22:10 -0700)]
Rename netcoreapp2.1 -> netcoreapp2.2

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

7 years agoDelete unnecessary internal layer of Span globalization helpers (dotnet/coreclr#17890)
Jan Kotas [Sun, 6 May 2018 02:58:04 +0000 (19:58 -0700)]
Delete unnecessary internal layer of Span globalization helpers (dotnet/coreclr#17890)

This change makes the code both smaller and faster. For example, the following is about 1.4x faster with this change:

```
ReadOnlySpan<char> s1 = "Hello world";
ReadOnlySpan<char> s2 = "world";
for (int i = 0; i < 100000000; i++) s1.EndsWith(s2, StringComparison.OrdinalIgnoreCase);
```

Also, I have ported GetCaseCompareOfComparisonCulture code size optimization from dotnet/coreclr#16434 while I was on it because of it fit well with the rest of the changes.

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

7 years agoUpdate BuildTools, CoreClr, CoreFx to preview1-02804-04, preview1-26506-01, preview1...
dotnet-maestro-bot [Sun, 6 May 2018 01:28:57 +0000 (18:28 -0700)]
Update BuildTools, CoreClr, CoreFx to preview1-02804-04, preview1-26506-01, preview1-26506-01, respectively

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

7 years agoRemove use of ByReference<T> in Memmove ABI (dotnet/coreclr#17889)
Levi Broderick [Sat, 5 May 2018 17:18:02 +0000 (10:18 -0700)]
Remove use of ByReference<T> in Memmove ABI (dotnet/coreclr#17889)

Use new ref reassignment feature instead

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

7 years agodisable dialog box for forced unhandled exception (dotnet/coreclr#17888)
Sung Yoon Whang [Sat, 5 May 2018 17:14:47 +0000 (10:14 -0700)]
disable dialog box for forced unhandled exception (dotnet/coreclr#17888)

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

7 years agoSplit unix test builds in slices (dotnet/coreclr#17785)
Steve MacLean [Fri, 4 May 2018 19:53:44 +0000 (15:53 -0400)]
Split unix test builds in slices (dotnet/coreclr#17785)

* Split unix test builds in slices

Ports dotnet/coreclr#17161 to linux

* Address review feedback

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

7 years agoFix System.String over-allocation (dotnet/coreclr#17876)
Jan Kotas [Fri, 4 May 2018 17:40:28 +0000 (10:40 -0700)]
Fix System.String over-allocation (dotnet/coreclr#17876)

BaseSize for System.String was not set correctly. It caused unnecessary extra 8 bytes to be allocated at the end of strings that had `Length % 4 < 2` on 64-bit platforms.

This change makes affected strings proportionally cheaper. For example, `new string('a', 1)` in a long-running loop is 7% faster.

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

7 years agoStep into multicast delegate (dotnet/coreclr#17879)
David Wrighton [Fri, 4 May 2018 06:09:33 +0000 (23:09 -0700)]
Step into multicast delegate (dotnet/coreclr#17879)

- Fix call of multicast debugger trace helper to be called before the first delegate invocation instead of after it

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

7 years agoMerge pull request dotnet/coreclr#17866 from briansull/byref-fix
Brian Sullivan [Thu, 3 May 2018 23:27:44 +0000 (16:27 -0700)]
Merge pull request dotnet/coreclr#17866 from briansull/byref-fix

[ARM-ARCH] Ensure that any byrefs created in genCodeForIndexAddr cannot point outside of the array

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

7 years agoMerge pull request dotnet/coreclr#17781 from BruceForstall/Fix17738
Bruce Forstall [Thu, 3 May 2018 22:41:33 +0000 (15:41 -0700)]
Merge pull request dotnet/coreclr#17781 from BruceForstall/Fix17738

Fix for ARM secure delegate non-standard register arg

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

7 years ago[Linux/x86] Fix tests in case of 4-byte alignment for 64-bit types (dotnet/coreclr...
Konstantin Baladurin [Thu, 3 May 2018 19:57:26 +0000 (22:57 +0300)]
[Linux/x86] Fix tests in case of 4-byte alignment for 64-bit types (dotnet/coreclr#17829)

JIT/Directed/RVAInit/nested
JIT/Directed/RVAInit/simple
JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b103058/b103058

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

7 years agoPort Marshal UTF8 fixes from CoreRT (dotnet/coreclr#17868)
Jan Kotas [Thu, 3 May 2018 17:36:15 +0000 (10:36 -0700)]
Port Marshal UTF8 fixes from CoreRT (dotnet/coreclr#17868)

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

7 years agoMerge pull request dotnet/coreclr#17873 from stakx/documentation-corrections
Bruce Forstall [Thu, 3 May 2018 16:02:39 +0000 (09:02 -0700)]
Merge pull request dotnet/coreclr#17873 from stakx/documentation-corrections

Some corrections in build documentation

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

7 years agoSome corrections in build documentation
stakx [Thu, 3 May 2018 15:49:32 +0000 (17:49 +0200)]
Some corrections in build documentation

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

7 years agotypo (dotnet/coreclr#17867)
Bernie FitzGerald [Thu, 3 May 2018 02:23:00 +0000 (12:23 +1000)]
typo (dotnet/coreclr#17867)

Serialable should have been Serializable
publically should have been publicly

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

7 years agoClarifying comment on overflow (dotnet/coreclr#17865)
Dan Moseley [Thu, 3 May 2018 00:20:50 +0000 (17:20 -0700)]
Clarifying comment on overflow (dotnet/coreclr#17865)

* Clarifying comment on overflow

* Nits

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

7 years agoFix for Issue 17823
Brian Sullivan [Mon, 30 Apr 2018 22:56:42 +0000 (15:56 -0700)]
Fix for Issue 17823
Ensure that any byrefs created in genCodeForIndexAddr cannot point outside of the array
Used the scaled add instructions for more powers of two
Only use the safe byref sequence when generating fully interruptible code.

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

7 years agoFix faulty assert in Utilities.SelectBucketIndex (dotnet/coreclr#17863)
Stephen Toub [Wed, 2 May 2018 18:34:32 +0000 (11:34 -0700)]
Fix faulty assert in Utilities.SelectBucketIndex (dotnet/coreclr#17863)

0 is a valid length.

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

7 years agoDelete incorrect comment (dotnet/coreclr#17859)
Jan Kotas [Wed, 2 May 2018 10:48:41 +0000 (03:48 -0700)]
Delete incorrect comment (dotnet/coreclr#17859)

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

7 years agoRename internal Utf8String to MdUtf8String (dotnet/coreclr#17856)
Atsushi Kanamori [Wed, 2 May 2018 03:30:22 +0000 (20:30 -0700)]
Rename internal Utf8String to MdUtf8String (dotnet/coreclr#17856)

We want to start prototyping Utf8String in CoreFxLab
and for that, we'll need a bare-bones System.Utf8String
class exposed from System.Private.CoreLib.

Unfortunately, CoreLib already has an internal
struct named System.Utf8String. Since it's only
an internal type, we'll exercise eminent domain
on its name now and get these noise changes out of
the way.

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

7 years agoFix for ARM secure delegate non-standard register arg
Bruce Forstall [Wed, 25 Apr 2018 20:34:16 +0000 (13:34 -0700)]
Fix for ARM secure delegate non-standard register arg

For ARM, doing a secure delegate call requires adding
a custom calling convention argument R4 as the address of the
secure delegate invoke indirection cell. This is done using the
fgMorphArgs nonStandardArgs mechanism, and the argument is added
at the end. For calls with 4 or more register arguments, this
didn't work: we would initially set the non-standard arg as a
non-register argument, and the nonStandardArgs check didn't
consider converting an argument from a stack argument back to
a register argument. The fix allows nonStandardArgs to be either
stack or register arguments, no matter what their place in the
argument list would imply.

Fixes dotnet/coreclr#17738

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

7 years agoFix arm test list creator for Windows (dotnet/coreclr#17852)
Sergey Andreenko [Tue, 1 May 2018 23:05:32 +0000 (16:05 -0700)]
Fix arm test list creator for Windows (dotnet/coreclr#17852)

* use "\n" for splitting lines

* update comment

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

7 years agoMerge pull request dotnet/coreclr#17854 from weshaggard/FixSourceBuildM
Wes Haggard [Tue, 1 May 2018 23:02:31 +0000 (16:02 -0700)]
Merge pull request dotnet/coreclr#17854 from weshaggard/FixSourceBuildM

Switch source build property to DotNetBuildFromSource

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

7 years agoremove duplicates
Marco Rossignoli [Tue, 1 May 2018 17:45:59 +0000 (19:45 +0200)]
remove duplicates

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

7 years agoEnable long running CoreFx Ubuntu/arm tests (dotnet/coreclr#17836)
Egor Chesakov [Tue, 1 May 2018 19:16:51 +0000 (12:16 -0700)]
Enable long running CoreFx Ubuntu/arm tests (dotnet/coreclr#17836)

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

7 years agoSwitch source build property to DotNetBuildFromSource
Wes Haggard [Mon, 30 Apr 2018 23:47:09 +0000 (16:47 -0700)]
Switch source build property to DotNetBuildFromSource

Detect source-build via DotNetBuildFromSource instead of
DotNetBuildOffline which is set for the tarball build.

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

7 years agoMerge pull request dotnet/coreclr#17737 from fiigii/vectortests
Carol Eidt [Tue, 1 May 2018 18:16:25 +0000 (11:16 -0700)]
Merge pull request dotnet/coreclr#17737 from fiigii/vectortests

Port more Vector tests to Vector128/256<T>

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

7 years agoMerge pull request dotnet/coreclr#17845 from briansull/fix-17841
Brian Sullivan [Tue, 1 May 2018 18:12:37 +0000 (11:12 -0700)]
Merge pull request dotnet/coreclr#17845 from briansull/fix-17841

ARM64 like ARM32 also needs a much larger instruction group size

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

7 years agoMerge pull request dotnet/coreclr#17848 from CarolEidt/Repro17756
Carol Eidt [Tue, 1 May 2018 15:50:42 +0000 (08:50 -0700)]
Merge pull request dotnet/coreclr#17848 from CarolEidt/Repro17756

Reenable test for 17756

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

7 years agoUpdate DotnetCLIVersion.txt (dotnet/coreclr#17843)
Peter Marcu [Tue, 1 May 2018 04:24:29 +0000 (21:24 -0700)]
Update DotnetCLIVersion.txt (dotnet/coreclr#17843)

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

7 years agoReenable test for 17756
Carol Eidt [Tue, 1 May 2018 01:06:10 +0000 (18:06 -0700)]
Reenable test for 17756

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

7 years agoAdding back test for windows event log (dotnet/coreclr#17821)
Sung Yoon Whang [Mon, 30 Apr 2018 23:16:45 +0000 (16:16 -0700)]
Adding back test for windows event log (dotnet/coreclr#17821)

* update test dependencies

* add test

* Allow more leeway for time

* modify test per PR comments

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

7 years agoARM64 like ARM32 also needs a much larger instruction group size
Brian Sullivan [Mon, 30 Apr 2018 23:03:11 +0000 (16:03 -0700)]
ARM64 like ARM32 also needs a much larger instruction group size
because the prolog can be quite large.

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

7 years agoAdd runtimeconfig.json support for tiered compilation (dotnet/coreclr#17840)
Noah Falk [Mon, 30 Apr 2018 22:51:04 +0000 (15:51 -0700)]
Add runtimeconfig.json support for tiered compilation (dotnet/coreclr#17840)

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

7 years agoGC env vars (dotnet/coreclr#17837)
Sung Yoon Whang [Mon, 30 Apr 2018 21:59:14 +0000 (14:59 -0700)]
GC env vars (dotnet/coreclr#17837)

* update server gc export for runtest.sh

* remove CORECLR_SERVER_GC

* Change CORECLR_CONCURRENT_GC to COMPlus_gcConcurrent as well

* Remove it from coreruncommon.cpp

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

7 years agoUpdate CoreClr, CoreFx to preview1-26430-05, preview3-26430-04, respectively (dotnet...
dotnet-maestro-bot [Mon, 30 Apr 2018 19:00:27 +0000 (14:00 -0500)]
Update CoreClr, CoreFx to preview1-26430-05, preview3-26430-04, respectively (dotnet/coreclr#17832)

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

7 years agoDelete unnecessary caches (dotnet/corefxdotnet/coreclr#29392)
Jan Kotas [Sat, 28 Apr 2018 17:59:39 +0000 (10:59 -0700)]
Delete unnecessary caches (dotnet/corefxdotnet/coreclr#29392)

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

7 years agoUpdate CoreClr, CoreFx to preview1-26428-04, preview3-26428-04, respectively (dotnet...
dotnet-maestro-bot [Sat, 28 Apr 2018 20:05:49 +0000 (15:05 -0500)]
Update CoreClr, CoreFx to preview1-26428-04, preview3-26428-04, respectively (dotnet/coreclr#17813)

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

7 years ago[Linux/x86] Fix 64 bit shift inconsistencies (dotnet/coreclr#17826)
Konstantin Baladurin [Sat, 28 Apr 2018 12:22:38 +0000 (15:22 +0300)]
[Linux/x86] Fix 64 bit shift inconsistencies (dotnet/coreclr#17826)

Apply dotnet/coreclr#15443 and dotnet/coreclr#15949 for Linux/x86

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

7 years agoMerge pull request dotnet/coreclr#17811 from noahfalk/fix_jitbench
Adam Sitnik [Sat, 28 Apr 2018 00:51:09 +0000 (17:51 -0700)]
Merge pull request dotnet/coreclr#17811 from noahfalk/fix_jitbench

Fix jitbench

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

7 years agoUpdate ARM32 Cross Build Docker Image (dotnet/coreclr#17819)
Brian Robbins [Sat, 28 Apr 2018 00:13:32 +0000 (17:13 -0700)]
Update ARM32 Cross Build Docker Image (dotnet/coreclr#17819)

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

7 years agoUpdate Windows arm32 corefx test failure exclusions (dotnet/coreclr#17803)
Bruce Forstall [Fri, 27 Apr 2018 23:24:29 +0000 (16:24 -0700)]
Update Windows arm32 corefx test failure exclusions (dotnet/coreclr#17803)

* Update Windows arm32 corefx test failure exclusions

All Windows arm32 corefx test jobs should pass with these exclusions.

* Add back Microsoft.Win32.Registry.Tests exclusion

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

7 years agoFix Number.ParseNumber to not assume '\0' at the end of a span (dotnet/coreclr#17808)
Stephen Toub [Fri, 27 Apr 2018 22:37:09 +0000 (15:37 -0700)]
Fix Number.ParseNumber to not assume '\0' at the end of a span (dotnet/coreclr#17808)

* Fix Number.ParseNumber to not assume '\0' at the end of a span

This routine was written for parsing strings, which are implicitly null-terminated, and it doesn't factor in string length but instead uses tricks to exit loops when the next character is null.  Now that the routine is also used for spans, this is very problematic, as spans need not be null terminated, and generally aren't when they represent slices, and expecting a null termination like this can result in walking off the end of valid memory.

I would like to see all of this code rewritten to use span.  In the interim, though, as a short-term fix I've changed all dereferences of the current position to compare against the length of the span (or, rather, a pointer to the end), and pretend that a null terminator was found if we've hit the end.

* Address PR feedback

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

7 years agoAdd better portable PDB caching to System.Diagnostics.StackTrace. (dotnet/coreclr...
Mike McLaughlin [Fri, 27 Apr 2018 22:15:43 +0000 (15:15 -0700)]
Add better portable PDB caching to System.Diagnostics.StackTrace. (dotnet/coreclr#17804)

Add portable PDB caching to StackTrace.

This is the mscorlib side of the change.

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

7 years agoMerge pull request dotnet/coreclr#17806 from adityamandaleeka/fix_unmanaged_target_reg
Aditya Mandaleeka [Fri, 27 Apr 2018 19:56:57 +0000 (12:56 -0700)]
Merge pull request dotnet/coreclr#17806 from adityamandaleeka/fix_unmanaged_target_reg

Fix register being shifted in PInvoke stub

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