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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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