platform/upstream/coreclr.git
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.

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

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 (#17938)

6 years agoFix alternate stack for Alpine docker on SELinux (#17936)
Jan Vorlicek [Thu, 10 May 2018 13:33:54 +0000 (15:33 +0200)]
Fix alternate stack for Alpine docker on SELinux (#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.

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

* Replace several Substrings with AsSpan/Slices

* Address PR feedback

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

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

Arm64: Pass promoted struct using GT_FIELD_LIST

6 years agoImprove checking of GTF_CALL flag. (#17857)
Eugene Rozenfeld [Wed, 9 May 2018 20:16:10 +0000 (13:16 -0700)]
Improve checking of GTF_CALL flag. (#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.

6 years agoUpdate CoreClr, CoreFx to preview1-26509-05, preview1-26509-05, respectively (#17930)
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 (#17930)

6 years agoReduce allocation in StringBuilder marshaling (#17928)
Stephen Toub [Wed, 9 May 2018 18:35:14 +0000 (14:35 -0400)]
Reduce allocation in StringBuilder marshaling (#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 |
```

6 years agoRestrict what we archive for perf testing (#17918)
Michelle McDaniel [Wed, 9 May 2018 16:55:39 +0000 (09:55 -0700)]
Restrict what we archive for perf testing (#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

6 years agoUpdate arm/arm64 test lists (#17855)
Sergey Andreenko [Wed, 9 May 2018 04:32:14 +0000 (21:32 -0700)]
Update arm/arm64 test lists (#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

6 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 (#17923)

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

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

* Updating build.proj to reflect name change

Fixes: #17905

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

6 years agoUpdate DotnetCLIVersion.txt (#17925)
Michelle McDaniel [Tue, 8 May 2018 22:57:06 +0000 (15:57 -0700)]
Update DotnetCLIVersion.txt (#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.

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

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

Related to #5776

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoReflection: Fix DefaultValue exception with enums (#17917)
stakx [Tue, 8 May 2018 17:42:25 +0000 (19:42 +0200)]
Reflection: Fix DefaultValue exception with enums (#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.)

6 years agoUpdate CoreClr, CoreFx to preview1-26508-05, preview1-26508-04, respectively (#17913)
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 (#17913)

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

6 years agoFix failing System.Reflection.Emit tests (#17915)
stakx [Tue, 8 May 2018 14:39:17 +0000 (16:39 +0200)]
Fix failing System.Reflection.Emit tests (#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`.

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

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

* Delete stale PRENET45 conditional code

* Remove ConcurrentDictionary dependency from ConcurrentExclusiveSchedulerPair

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

* Speed up Array.Reverse by using ref reassignment

* Optimize MemoryExtensions.Reverse

6 years agoArm64 debugger step into behavior (#17912)
David Wrighton [Tue, 8 May 2018 03:48:30 +0000 (20:48 -0700)]
Arm64 debugger step into behavior (#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

6 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

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

Add vcruntime to core_root for arm(64) jobs.

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

6 years agoUpdate CoreClr, CoreFx to preview1-26507-05, preview1-26507-04, respectively (#17894)
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 (#17894)

6 years agoReflection: Fix DefaultValue for optional DateTime (#17877)
stakx [Mon, 7 May 2018 16:28:37 +0000 (18:28 +0200)]
Reflection: Fix DefaultValue for optional DateTime (#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.

6 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 (#17887)

* Add test for dotnet/corefx#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/corefx#29532.

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

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

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

6 years agoDelete unnecessary internal layer of Span globalization helpers (#17890)
Jan Kotas [Sun, 6 May 2018 02:58:04 +0000 (19:58 -0700)]
Delete unnecessary internal layer of Span globalization helpers (#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 #16434 while I was on it because of it fit well with the rest of the changes.

6 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

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

Use new ref reassignment feature instead

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

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

* Split unix test builds in slices

Ports #17161 to linux

* Address review feedback

6 years agoFix System.String over-allocation (#17876)
Jan Kotas [Fri, 4 May 2018 17:40:28 +0000 (10:40 -0700)]
Fix System.String over-allocation (#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.

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

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

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

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

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

Fix for ARM secure delegate non-standard register arg

6 years ago[Linux/x86] Fix tests in case of 4-byte alignment for 64-bit types (#17829)
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 (#17829)

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

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

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

Some corrections in build documentation

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

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

Serialable should have been Serializable
publically should have been publicly

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

* Clarifying comment on overflow

* Nits

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

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

0 is a valid length.

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

6 years agoRename internal Utf8String to MdUtf8String (#17856)
Atsushi Kanamori [Wed, 2 May 2018 03:30:22 +0000 (20:30 -0700)]
Rename internal Utf8String to MdUtf8String (#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.

6 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 #17738

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

* use "\n" for splitting lines

* update comment

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

Switch source build property to DotNetBuildFromSource

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

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

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

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

Port more Vector tests to Vector128/256<T>

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

ARM64 like ARM32 also needs a much larger instruction group size

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

Reenable test for 17756

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

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

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

* update test dependencies

* add test

* Allow more leeway for time

* modify test per PR comments

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

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

6 years agoGC env vars (#17837)
Sung Yoon Whang [Mon, 30 Apr 2018 21:59:14 +0000 (14:59 -0700)]
GC env vars (#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

6 years agoUpdate CoreClr, CoreFx to preview1-26430-05, preview3-26430-04, respectively (#17832)
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 (#17832)

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

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoUpdate CoreClr, CoreFx to preview1-26428-04, preview3-26428-04, respectively (#17813)
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 (#17813)

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

Apply #15443 and #15949 for Linux/x86

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

Fix jitbench

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

6 years agoUpdate Windows arm32 corefx test failure exclusions (#17803)
Bruce Forstall [Fri, 27 Apr 2018 23:24:29 +0000 (16:24 -0700)]
Update Windows arm32 corefx test failure exclusions (#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

6 years agoFix Number.ParseNumber to not assume '\0' at the end of a span (#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 (#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

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

Add portable PDB caching to StackTrace.

This is the mscorlib side of the change.

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

Fix register being shifted in PInvoke stub

6 years agoMerge pull request #17793 from briansull/allocOutArgSpace
Brian Sullivan [Fri, 27 Apr 2018 19:34:26 +0000 (12:34 -0700)]
Merge pull request #17793 from briansull/allocOutArgSpace

Allocate the lvaOutgoingArgSpaceVar early

6 years agoUse HiddenArg instead of hardcoded x12.
Aditya Mandaleeka [Fri, 27 Apr 2018 19:20:30 +0000 (12:20 -0700)]
Use HiddenArg instead of hardcoded x12.

6 years agoFix jitbench
noahfalk [Fri, 27 Apr 2018 10:07:41 +0000 (03:07 -0700)]
Fix jitbench

Addressed 3 issues:
1) coreclr and CoreFx were out of sync -> update dependencies.props
2) Word2Vec fails on x86 sometimes with OutOfMemory -> disabled it there because it appears the behavior is by design
3) CommandLineParser 2.1.1 doesn't restore anymore? -> NuGet was already rolling forward to 2.2.0 but changing it in the source removes the warning when using dotnet.exe to run JitBench

6 years agoUpdate CoreClr, CoreFx to preview1-26427-01, preview3-26427-01, respectively (#17791)
dotnet-maestro-bot [Fri, 27 Apr 2018 04:51:56 +0000 (23:51 -0500)]
Update CoreClr, CoreFx to preview1-26427-01, preview3-26427-01, respectively (#17791)

6 years agoRemove some fgMorphArgs dead code (#17788)
Bruce Forstall [Fri, 27 Apr 2018 02:00:46 +0000 (19:00 -0700)]
Remove some fgMorphArgs dead code (#17788)

For the arm64 case of a special return buffer argument (always x8),
we don't need the code to check for it, because a few lines above all
non-standard args cause us to "continue", and skip the code.

Also, remove a duplicative #ifdef.

6 years agoFix register being shifted in pinvoke stub.
Aditya Mandaleeka [Fri, 27 Apr 2018 01:21:10 +0000 (18:21 -0700)]
Fix register being shifted in pinvoke stub.

6 years agoSimplify VectorRet test
Fei Peng [Wed, 25 Apr 2018 19:19:29 +0000 (12:19 -0700)]
Simplify VectorRet test

6 years agoPort more Vector tests to Vector128/256
Fei Peng [Wed, 25 Apr 2018 19:14:24 +0000 (12:14 -0700)]
Port more Vector tests to Vector128/256

6 years agoFix GC test failures (#17766)
Sung Yoon Whang [Thu, 26 Apr 2018 21:02:59 +0000 (14:02 -0700)]
Fix GC test failures (#17766)

* Fix finalizearraysleep and handlecopy gc tests

* revert changes to nstructtun

* forgot to add this fix in

* fix handlecopy

* fix nstructtun

* fix nstructtun

6 years agoclang tidy
Brian Sullivan [Thu, 26 Apr 2018 20:14:33 +0000 (13:14 -0700)]
clang tidy

6 years agoAllocate the lvaOutgoingArgSpaceVar very early, right after the user locals.
Brian Sullivan [Thu, 26 Apr 2018 18:13:32 +0000 (11:13 -0700)]
Allocate the lvaOutgoingArgSpaceVar very early, right after the user locals.
This ensures that it gets a low LclVar number so that we don't hit
the IMPL_LIMITATION associated with offsets > 255 for LclVar numbers above 32767

6 years agoMerge pull request #17694 from adityamandaleeka/fix_struct_passing_arm64
Aditya Mandaleeka [Thu, 26 Apr 2018 17:40:45 +0000 (10:40 -0700)]
Merge pull request #17694 from adityamandaleeka/fix_struct_passing_arm64

Account for copied bytes in struct copy loop when generating GT_PUTARG_STK code [ARM64]

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to preview1-02725-03, preview1-26426...
dotnet-maestro-bot [Thu, 26 Apr 2018 05:09:12 +0000 (00:09 -0500)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02725-03, preview1-26426-01, preview3-26425-01, master-20180424-0039, respectively (#17749)

6 years agoDon't optimize away Task code needed for debugger (#17776)
Chuck Ries [Wed, 25 Apr 2018 23:06:49 +0000 (16:06 -0700)]
Don't optimize away Task code needed for debugger (#17776)

This prevents the IL linker from optimizing away some properties/methods
related to tasks that are used by a debugger but are not referenced
anywhere else in coreclr.

This specifically fixes async callstack frames for the xplat C# debugger.

6 years agoFix AsyncLocal<class> changed event to not be raised multiple times for one change...
Koundinya Veluri [Wed, 25 Apr 2018 22:21:52 +0000 (15:21 -0700)]
Fix AsyncLocal<class> changed event to not be raised multiple times for one change in value (#17767)

Fix AsyncLocal<class> changed event to not be raised multiple times for one change in value

Functional fix for https://github.com/dotnet/coreclr/issues/17758

6 years agoFix TailCallStress mode to do more legality checks (#17763)
Eugene Rozenfeld [Wed, 25 Apr 2018 05:36:19 +0000 (22:36 -0700)]
Fix TailCallStress mode to do more legality checks (#17763)

Check with EE whether tail call is allowed before adding
tail. prefix in TailCallStress mode.

6 years agoMerge pull request #17757 from BruceForstall/MakeArmUbuntuCorefxTestRunClean
Bruce Forstall [Wed, 25 Apr 2018 04:15:15 +0000 (21:15 -0700)]
Merge pull request #17757 from BruceForstall/MakeArmUbuntuCorefxTestRunClean

Disable all failing Ubuntu arm corefx tests

6 years agoPatch LTTng ust-tracepoint.h on ARM/Trusty when building crossrootfs. (#17762)
Brian Robbins [Wed, 25 Apr 2018 02:11:48 +0000 (19:11 -0700)]
Patch LTTng ust-tracepoint.h on ARM/Trusty when building crossrootfs. (#17762)

6 years agoMerge pull request #17747 from weshaggard/RemoveAlpineBuild
Wes Haggard [Wed, 25 Apr 2018 00:05:45 +0000 (17:05 -0700)]
Merge pull request #17747 from weshaggard/RemoveAlpineBuild

Remove Alpine 3.6 builds

6 years agoDelete unused tests\arm64\fails.testlist (#17745)
Sergey Andreenko [Tue, 24 Apr 2018 22:42:27 +0000 (15:42 -0700)]
Delete unused tests\arm64\fails.testlist (#17745)

* Reenable fixed arm64 tests

* delete the unused file

6 years agoMerge pull request #17697 from mikedn/vec-hnd
Carol Eidt [Tue, 24 Apr 2018 21:22:42 +0000 (14:22 -0700)]
Merge pull request #17697 from mikedn/vec-hnd

Initialize Compiler::Vector128/256ULongHandle in compInit

6 years agoMerge pull request #17725 from dotnetrt/FixNixTestBuild
Jarret Shook [Tue, 24 Apr 2018 20:51:06 +0000 (13:51 -0700)]
Merge pull request #17725 from dotnetrt/FixNixTestBuild

Fix unix test build by removing unnecessary 'managed_test_build' semafore file