platform/upstream/coreclr.git
5 years agoUpdate PgoData to release-20180720-0153 (#19055)
dotnet-maestro-bot [Fri, 20 Jul 2018 10:57:23 +0000 (03:57 -0700)]
Update PgoData to release-20180720-0153 (#19055)

5 years agoMerge pull request #19028 from dotnet-maestro-bot/release/2.1-UpdateDependencies
Wes Haggard [Thu, 19 Jul 2018 22:39:16 +0000 (15:39 -0700)]
Merge pull request #19028 from dotnet-maestro-bot/release/2.1-UpdateDependencies

Update CoreClr, CoreFx to servicing-26719-02, servicing-26719-03, respectively (release/2.1)

5 years agoUpdate CoreClr, CoreFx to servicing-26719-02, servicing-26719-03, respectively
dotnet-maestro-bot [Thu, 19 Jul 2018 15:54:55 +0000 (08:54 -0700)]
Update CoreClr, CoreFx to servicing-26719-02, servicing-26719-03, respectively

5 years agoUpdate CoreClr, CoreFx, PgoData to servicing-26718-03, servicing-26718-03, release...
dotnet-maestro-bot [Thu, 19 Jul 2018 14:20:26 +0000 (07:20 -0700)]
Update CoreClr, CoreFx, PgoData to servicing-26718-03, servicing-26718-03, release-20180719-0105, respectively (#19014)

5 years agoUpdate PgoData to release-20180718-0150 (#18980)
dotnet-maestro-bot [Wed, 18 Jul 2018 16:40:49 +0000 (09:40 -0700)]
Update PgoData to release-20180718-0150 (#18980)

5 years agoMerge pull request #18955 from dotnet-maestro-bot/release/2.1-UpdateDependencies
Wes Haggard [Tue, 17 Jul 2018 18:07:53 +0000 (11:07 -0700)]
Merge pull request #18955 from dotnet-maestro-bot/release/2.1-UpdateDependencies

Update PgoData to release-20180717-0134 (release/2.1)

5 years agoUpdate PgoData to release-20180717-0134
dotnet-maestro-bot [Tue, 17 Jul 2018 08:51:05 +0000 (01:51 -0700)]
Update PgoData to release-20180717-0134

5 years agoUpdate PgoData to release-20180716-0253 (#18931)
dotnet-maestro-bot [Mon, 16 Jul 2018 14:00:11 +0000 (07:00 -0700)]
Update PgoData to release-20180716-0253 (#18931)

5 years agoUpdate PgoData to release-20180715-0216 (#18921)
dotnet-maestro-bot [Sun, 15 Jul 2018 13:38:00 +0000 (06:38 -0700)]
Update PgoData to release-20180715-0216 (#18921)

5 years agoUpdate PgoData to release-20180714-0608 (#18909)
dotnet-maestro-bot [Sat, 14 Jul 2018 19:12:48 +0000 (12:12 -0700)]
Update PgoData to release-20180714-0608 (#18909)

5 years agoUpdate PgoData to release-20180713-0043 (#18899)
dotnet-maestro-bot [Fri, 13 Jul 2018 12:55:55 +0000 (05:55 -0700)]
Update PgoData to release-20180713-0043 (#18899)

5 years agoSkip old time zones adjustments with offsets higher than 14h (#18305) (#18874)
Krzysztof Wicher [Fri, 13 Jul 2018 03:24:07 +0000 (20:24 -0700)]
Skip old time zones adjustments with offsets higher than 14h (#18305) (#18874)

* Skip old time zones with offsets higher than 14h

* apply offline feedback

* fix braces

5 years agoUpdate PgoData to release-20180712-0122 (#18883)
dotnet-maestro-bot [Thu, 12 Jul 2018 14:28:44 +0000 (07:28 -0700)]
Update PgoData to release-20180712-0122 (#18883)

5 years agoMerge pull request #18811 from dotnet-maestro-bot/release/2.1-UpdateDependencies
Wes Haggard [Wed, 11 Jul 2018 19:47:56 +0000 (12:47 -0700)]
Merge pull request #18811 from dotnet-maestro-bot/release/2.1-UpdateDependencies

Update BuildTools, CoreClr, CoreFx, PgoData to rc1-03006-01, servicing-26708-02, servicing-26708-02, release-20180711-0041, respectively (release/2.1)

5 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to rc1-03006-01, servicing-26708-02,...
dotnet-maestro-bot [Wed, 11 Jul 2018 07:58:26 +0000 (00:58 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to rc1-03006-01, servicing-26708-02, servicing-26708-02, release-20180711-0041, respectively

5 years agoMerge commit 'c6e7fbc5516842945b9b375f7724438dece10627' into release/2.1
Matt Mitchell [Tue, 10 Jul 2018 23:25:16 +0000 (16:25 -0700)]
Merge commit 'c6e7fbc5516842945b9b375f7724438dece10627' into release/2.1

5 years agoMerge pull request #18757 from CarolEidt/Fix17969in2.1
Carol Eidt [Tue, 10 Jul 2018 16:55:53 +0000 (09:55 -0700)]
Merge pull request #18757 from CarolEidt/Fix17969in2.1

Port the fix for Issue 17969 to Rel/2.1

5 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to rc1-02913-01, servicing-26606-02,...
dotnet-maestro-bot [Fri, 6 Jul 2018 08:11:15 +0000 (01:11 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to rc1-02913-01, servicing-26606-02, servicing-26703-08, release-20180706-0055, respectively

5 years agoPort the fix for Issue 17969 to Rel/2.1
Carol Eidt [Mon, 2 Jul 2018 21:48:10 +0000 (14:48 -0700)]
Port the fix for Issue 17969 to Rel/2.1

5 years agoPort to 2.1: Fix alternate stack cleanup on MUSL (#18687)
Jan Vorlicek [Thu, 28 Jun 2018 21:39:51 +0000 (23:39 +0200)]
Port to 2.1: Fix alternate stack cleanup on MUSL (#18687)

The MUSL implementation of sigaltstack checks that the ss.ss_size is
larger or equal than the MINSIGSTKSZ even when the ss_flags is set
to SS_DISABLE even though Linux man page for sigaltstack states that
when this flag is set, all other ss fields are ignored.

We were not setting the ss_size in this case and it was causing a memory
leak for each thread that has terminated on MUSL based Linux distros
like Alpine.

Glibc implementation doesn't check the ss_size when the SS_DISABLE is set
so the problem was really MUSL specific.

5 years agoMerge 'v2.1.1'
Wes Haggard [Thu, 28 Jun 2018 21:52:58 +0000 (14:52 -0700)]
Merge 'v2.1.1'

.NET Core 2.1.1

5 years agoPort to 2.1: Fix alternate stack cleanup on MUSL (#18687)
Jan Vorlicek [Thu, 28 Jun 2018 21:39:51 +0000 (23:39 +0200)]
Port to 2.1: Fix alternate stack cleanup on MUSL (#18687)

The MUSL implementation of sigaltstack checks that the ss.ss_size is
larger or equal than the MINSIGSTKSZ even when the ss_flags is set
to SS_DISABLE even though Linux man page for sigaltstack states that
when this flag is set, all other ss fields are ignored.

We were not setting the ss_size in this case and it was causing a memory
leak for each thread that has terminated on MUSL based Linux distros
like Alpine.

Glibc implementation doesn't check the ss_size when the SS_DISABLE is set
so the problem was really MUSL specific.

5 years agoJIT: Fix bug in finally cloning caused by unsound callfinally reordering
Andy Ayers [Wed, 27 Jun 2018 16:49:54 +0000 (09:49 -0700)]
JIT: Fix bug in finally cloning caused by unsound callfinally reordering

Port of #18348 to release/2.1

We need to make sure that if we reorder a callfinally during finally cloning
that the callfinally is actually the one being targeted by the last block in
the try range.

Closes #18332. Linked issue has some more detailed notes.

5 years agoFix SpanHelpers.ClearWithoutReferences alignment detection (#18222)
Pent Ploompuu [Fri, 1 Jun 2018 03:02:45 +0000 (06:02 +0300)]
Fix SpanHelpers.ClearWithoutReferences alignment detection (#18222)

5 years agoOptimize Array.Clear using SpanHelpers (#18101)
Jan Kotas [Thu, 24 May 2018 14:07:20 +0000 (07:07 -0700)]
Optimize Array.Clear using SpanHelpers (#18101)

Reimplement most of Array.Clear in managed code using Span Clear helpers.

Fixes dotnet/corefx#29848

5 years agoFix number formatting exception with empty NumberGroupSizes array (#18221) (#18667)
Stephen Toub [Wed, 27 Jun 2018 03:30:38 +0000 (23:30 -0400)]
Fix number formatting exception with empty NumberGroupSizes array (#18221) (#18667)

5 years agoAllow ILCodeVersion to fallback to default IL (#18502)
Noah Falk [Wed, 27 Jun 2018 03:29:00 +0000 (20:29 -0700)]
Allow ILCodeVersion to fallback to default IL (#18502)

* Allow ILCodeVersion to fallback to default IL

For compat with profilers that used our APIs in unexpected ways we can allow
the ILCodeVersion to fallback to the default IL code when no IL was explicitly
given.

* Fix incorrect usage of ILCodeVersion::AsNode (issue #18602)

When the debugger is querying the active rejit IL for an IL method that has not been rejitted it incorrectly creates a VMPTR_ILCodeVersionNode for a code version that shouldn't have one.

5 years agoAssemblyName parsing with unicode/emoji crashes (#18309)
Luqun Lou [Wed, 27 Jun 2018 03:16:16 +0000 (20:16 -0700)]
AssemblyName parsing with unicode/emoji crashes (#18309)

5 years agoFix handling of generating relative path to parent (#18460)
Jeremy Kuhne [Fri, 15 Jun 2018 03:12:28 +0000 (20:12 -0700)]
Fix handling of generating relative path to parent (#18460)

Fixes #30263

5 years agoUpdate branding to 2.1.3 (#18651)
William Godbe [Tue, 26 Jun 2018 22:53:42 +0000 (15:53 -0700)]
Update branding to 2.1.3 (#18651)

5 years agomach_absolute_time as the primary clock source on macOS (corefx#30391) (#18505) ...
Stephen Toub [Tue, 26 Jun 2018 22:49:12 +0000 (18:49 -0400)]
mach_absolute_time as the primary clock source on macOS (corefx#30391) (#18505) (#18526)

macOS 10.12+ supports clock_gettime (HAVE_CLOCK_MONOTONIC is defined)
However, mach_absolute_time has better resolution and should be used
as the primary clock source.

5 years agoUpdate SDK used to build jitutils to 2.1 RC (#18290)
Andy Ayers [Tue, 5 Jun 2018 14:52:35 +0000 (07:52 -0700)]
Update SDK used to build jitutils to 2.1 RC (#18290)

In anticipation of taking a dependence on netcoreapp2.1 for the
forthcoming PMI work from jitutils.

Also make sure to shut down build servers before cleaning up the SDK.

6 years agoUpdate PgoData to release-20180604-0043 (#18275)
dotnet-maestro-bot [Mon, 4 Jun 2018 12:41:09 +0000 (05:41 -0700)]
Update PgoData to release-20180604-0043 (#18275)

6 years agoUpdate PgoData to release-20180603-0040 (#18265)
dotnet-maestro-bot [Sun, 3 Jun 2018 10:43:17 +0000 (03:43 -0700)]
Update PgoData to release-20180603-0040 (#18265)

6 years agoUpdate PgoData to release-20180602-0037 (#18250)
dotnet-maestro-bot [Sat, 2 Jun 2018 11:43:11 +0000 (04:43 -0700)]
Update PgoData to release-20180602-0037 (#18250)

6 years agoFix alternate stack for Alpine docker on SELinux (#17936) (#17975)
kasper3 [Fri, 1 Jun 2018 12:22:43 +0000 (15:22 +0300)]
Fix alternate stack for Alpine docker on SELinux (#17936) (#17975)

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 agoUpdate g_highest_address and g_lowest_address in StompWriteBarrier(WriteBarrierOp...
Egor Chesakov [Thu, 24 May 2018 13:08:26 +0000 (06:08 -0700)]
Update g_highest_address and g_lowest_address in StompWriteBarrier(WriteBarrierOp::StompResize) on ARM (#18107)

6 years agoUse sysconf(_SC_NPROCESSORS_CONF) instead of sysconf(_SC_NPROCESSORS_ONLN) in PAL...
Egor Chesakov [Fri, 18 May 2018 22:03:00 +0000 (15:03 -0700)]
Use sysconf(_SC_NPROCESSORS_CONF) instead of sysconf(_SC_NPROCESSORS_ONLN) in PAL and GC on ARM and ARM64

6 years agoUpdate PgoData to release-20180531-0037 (#18214)
dotnet-maestro-bot [Thu, 31 May 2018 13:10:31 +0000 (06:10 -0700)]
Update PgoData to release-20180531-0037 (#18214)

6 years agoUpdate PgoData to release-20180530-0051 (#18194)
dotnet-maestro-bot [Wed, 30 May 2018 23:50:48 +0000 (16:50 -0700)]
Update PgoData to release-20180530-0051 (#18194)

6 years agoUpdate branding to 2.1.1 (#18161)
Matt Mitchell [Tue, 29 May 2018 22:27:30 +0000 (15:27 -0700)]
Update branding to 2.1.1 (#18161)

6 years agoMerge pull request #17998 from dotnet-maestro-bot/release/2.1-UpdateDependencies
Wes Haggard [Tue, 29 May 2018 20:24:04 +0000 (13:24 -0700)]
Merge pull request #17998 from dotnet-maestro-bot/release/2.1-UpdateDependencies

Update CoreClr, CoreFx, PgoData to rtm-26515-07, rtm, release-20180529-0037, respectively (release/2.1)

6 years agoUpdate dependencies to rtm
Wes Haggard [Tue, 29 May 2018 18:31:19 +0000 (11:31 -0700)]
Update dependencies to rtm

6 years agoUpdate CoreClr, CoreFx, PgoData to rtm-26515-07, rtm, release-20180529-0037, respectively
dotnet-maestro-bot [Tue, 29 May 2018 07:53:02 +0000 (00:53 -0700)]
Update CoreClr, CoreFx, PgoData to rtm-26515-07, rtm, release-20180529-0037, respectively

6 years agoUpdate CoreClr, CoreFx, PgoData to rtm-26514-02, rtm-26514-02, release-20180514-0049...
dotnet-maestro-bot [Mon, 14 May 2018 17:37:38 +0000 (12:37 -0500)]
Update CoreClr, CoreFx, PgoData to rtm-26514-02, rtm-26514-02, release-20180514-0049, respectively (#17987)

6 years agoMerge pull request #17965 from jashook/port_build_test_sh_changes
Jarret Shook [Fri, 11 May 2018 21:55:05 +0000 (14:55 -0700)]
Merge pull request #17965 from jashook/port_build_test_sh_changes

Port build-test.sh changes from master to release/2.1

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

6 years agoUpdate CoreClr, CoreFx to rtm-26508-04, rtm-26508-03, respectively (#17927)
dotnet-maestro-bot [Wed, 9 May 2018 13:22:09 +0000 (08:22 -0500)]
Update CoreClr, CoreFx to rtm-26508-04, rtm-26508-03, respectively (#17927)

6 years agoUpdate CoreClr, CoreFx to rtm-26505-03, rtm-26505-03, respectively (#17892)
dotnet-maestro-bot [Mon, 7 May 2018 20:50:19 +0000 (15:50 -0500)]
Update CoreClr, CoreFx to rtm-26505-03, rtm-26505-03, respectively (#17892)

6 years agoUpdate BuildTools to rc1-02804-05 (#17885)
dotnet-maestro-bot [Sat, 5 May 2018 01:44:13 +0000 (20:44 -0500)]
Update BuildTools to rc1-02804-05 (#17885)

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 agoUpdate CoreClr, CoreFx to rtm-26504-02, rtm-26504-02, respectively (#17883)
dotnet-maestro-bot [Fri, 4 May 2018 20:09:39 +0000 (15:09 -0500)]
Update CoreClr, CoreFx to rtm-26504-02, rtm-26504-02, respectively (#17883)

6 years agoUpdate BuildTools, CoreClr, CoreFx to rc1-02803-01, rtm-26502-03, rtm-26502-02, respe...
dotnet-maestro-bot [Fri, 4 May 2018 13:59:53 +0000 (08:59 -0500)]
Update BuildTools, CoreClr, CoreFx to rc1-02803-01, rtm-26502-03, rtm-26502-02, respectively (#17874)

6 years agoMerge pull request #17875 from riarenas/riarenas/revert-private-intermediate-containers
Ricardo Arenas [Thu, 3 May 2018 23:12:05 +0000 (16:12 -0700)]
Merge pull request #17875 from riarenas/riarenas/revert-private-intermediate-containers

Revert "Make blobfeed containers private. (#17792)"

6 years agoRevert "Make blobfeed containers private. (#17792)"
Ricardo Arenas [Thu, 3 May 2018 18:42:38 +0000 (11:42 -0700)]
Revert "Make blobfeed containers private. (#17792)"

This reverts commit 4950b038c84c223ddd9fc198dcf5722d46e21552.

6 years agoUpdate BuildTools, PgoData to rc1-02801-02, release-20180502-0048, respectively ...
dotnet-maestro-bot [Thu, 3 May 2018 02:22:15 +0000 (21:22 -0500)]
Update BuildTools, PgoData to rc1-02801-02, release-20180502-0048, respectively (#17860)

6 years agoMake blobfeed containers private. (#17792)
Ricardo Arenas [Wed, 2 May 2018 18:37:48 +0000 (11:37 -0700)]
Make blobfeed containers private. (#17792)

6 years agoAdd runtimeconfig.json support for tiered compilation (#17839)
Noah Falk [Tue, 1 May 2018 23:43:03 +0000 (16:43 -0700)]
Add runtimeconfig.json support for tiered compilation (#17839)

6 years agoUpdate PgoData to release-20180501-0050 (#17849)
dotnet-maestro-bot [Tue, 1 May 2018 20:27:06 +0000 (15:27 -0500)]
Update PgoData to release-20180501-0050 (#17849)

6 years agoMerge pull request #17846 from weshaggard/FixSourceBuild
Wes Haggard [Tue, 1 May 2018 17:15:45 +0000 (10:15 -0700)]
Merge pull request #17846 from weshaggard/FixSourceBuild

Switch source build property to DotNetBuildFromSource

6 years agoDisable GC Coop mode switching during fatal error handling during GC exception (...
Sung Yoon Whang [Tue, 1 May 2018 10:02:22 +0000 (03:02 -0700)]
Disable GC Coop mode switching during fatal error handling during GC exception (#17710) (#17844)

6 years agoAdd better portable PDB caching to System.Diagnostics.StackTrace. (#17804) (#17842)
Mike McLaughlin [Tue, 1 May 2018 00:26:05 +0000 (17:26 -0700)]
Add better portable PDB caching to System.Diagnostics.StackTrace. (#17804) (#17842)

Add portable PDB caching to StackTrace.

This is the mscorlib side of the change.

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 agoMove from rc1 to rtm prerelease label
Russ Keldorph [Mon, 30 Apr 2018 21:44:53 +0000 (14:44 -0700)]
Move from rc1 to rtm prerelease label

6 years agoInitialize Compiler::Vector128/256ULongHandle in compInit
Carol Eidt [Tue, 24 Apr 2018 22:18:12 +0000 (15:18 -0700)]
Initialize Compiler::Vector128/256ULongHandle in compInit

6 years agoMerge pull request #17779 from weshaggard/RemoveAlpineBuilds
Wes Haggard [Mon, 30 Apr 2018 21:02:36 +0000 (14:02 -0700)]
Merge pull request #17779 from weshaggard/RemoveAlpineBuilds

[release/2.1] Remove Alpine 3.6 builds

6 years agoUpdate ARM32 Cross Build Docker Image (#17819) (#17834)
Brian Robbins [Mon, 30 Apr 2018 20:56:02 +0000 (13:56 -0700)]
Update ARM32 Cross Build Docker Image (#17819) (#17834)

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to rc1-02726-01, rc1-26423-02, rc1-26423...
dotnet-maestro-bot [Mon, 30 Apr 2018 20:53:38 +0000 (15:53 -0500)]
Update BuildTools, CoreClr, CoreFx, PgoData to rc1-02726-01, rc1-26423-02, rc1-26423-06, release-20180430-0045, respectively (#17696)

6 years agoDon't optimize away Task code needed for debugger (#17786)
Jan Kotas [Mon, 30 Apr 2018 20:53:02 +0000 (13:53 -0700)]
Don't optimize away Task code needed for debugger (#17786)

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 Number.ParseNumber to not assume '\0' at the end of a span (#17808) (#17820)
Stephen Toub [Mon, 30 Apr 2018 20:45:19 +0000 (13:45 -0700)]
Fix Number.ParseNumber to not assume '\0' at the end of a span (#17808) (#17820)

* 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 agoRemove Alpine 3.6 builds
Wes Haggard [Tue, 24 Apr 2018 00:50:28 +0000 (17:50 -0700)]
Remove Alpine 3.6 builds

The alpine 3.6 builds have been replaced with the more generic
linux-musl builds so removing them.

6 years agoMake intra-build containers private (#17682)
Matt Mitchell [Mon, 23 Apr 2018 16:13:51 +0000 (09:13 -0700)]
Make intra-build containers private (#17682)

Make intra-build containers private

6 years agoUse volatile load to read brick table entries (#17718)
Jan Kotas [Sat, 21 Apr 2018 20:30:43 +0000 (13:30 -0700)]
Use volatile load to read brick table entries (#17718)

Fixes #17716

6 years agodisable DevDiv_255294 in stress modes. (#17618)
Sergey Andreenko [Wed, 18 Apr 2018 07:23:59 +0000 (00:23 -0700)]
disable DevDiv_255294 in stress modes. (#17618)

6 years agoPreserve pinned flag in {ReadOnly}Memory<T>.Slice (dotnet/corefx#29246) (#17712)...
Ahson Khan [Sat, 21 Apr 2018 04:03:59 +0000 (21:03 -0700)]
Preserve pinned flag in {ReadOnly}Memory<T>.Slice (dotnet/corefx#29246) (#17712) (#17714)

* Preserve pinned flag in {ReadOnly}Memory<T>.Slice

* Address PR feedback.

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoPort two changes from CoreFX missed by mirror: (#17713)
Dan Moseley [Sat, 21 Apr 2018 02:26:22 +0000 (19:26 -0700)]
Port two changes from CoreFX missed by mirror: (#17713)

commit b4d701a72c20b695715371a99b48473053b63250
Author: Ahson Khan <ahkha@microsoft.com>
Date:   Wed Apr 11 13:43:36 2018 -0700

    Add CreateFromPinnedArray to System.Memory ref and add tests (#28992)
   * Fixing bug in Memory.Pin and adding API to uapaot baseline

commit 76e01040fcfdb1c652ef1bf4e8e123c7db4e1be8
Author: Ahson Khan <ahkha@microsoft.com>
Date:   Mon Apr 16 01:54:54 2018 -0700
    Update xml comment for {ReadOnly}Memory.Pin method (#29137)

6 years agofix DevDiv_601045 assert (#17685)
Sergey Andreenko [Fri, 20 Apr 2018 08:28:19 +0000 (01:28 -0700)]
fix DevDiv_601045 assert (#17685)

6 years agoMerge pull request #17489 from dotnet-maestro-bot/release/2.1-UpdateDependencies
Wes Haggard [Thu, 19 Apr 2018 21:44:17 +0000 (14:44 -0700)]
Merge pull request #17489 from dotnet-maestro-bot/release/2.1-UpdateDependencies

Update BuildTools, CoreClr, CoreFx, PgoData to rc1-02719-01, rc1-26419-03, rc1-26419-03, release-20180419-0038, respectively (release/2.1)

6 years agoMerge pull request #17675 from weshaggard/addlinuxmusl21
Wes Haggard [Thu, 19 Apr 2018 21:36:48 +0000 (14:36 -0700)]
Merge pull request #17675 from weshaggard/addlinuxmusl21

[release/2.1] Add linux-musl build leg

6 years agoFix reading Time zone rules using Julian days (#17672)
Tarek Mahmoud Sayed [Thu, 19 Apr 2018 20:14:12 +0000 (13:14 -0700)]
Fix reading Time zone rules using Julian days (#17672)

6 years agoRemove debug/checked builds (#17663)
Matt Mitchell [Thu, 19 Apr 2018 19:55:54 +0000 (12:55 -0700)]
Remove debug/checked builds (#17663)

The debug/checked builds don't publish and aren't submitted for testing currently.  To reduce resource usage during the build, do not build these pipelines for now.

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to rc1-02719-01, rc1-26419-03, rc1-26419...
dotnet-maestro-bot [Thu, 19 Apr 2018 19:49:19 +0000 (12:49 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to rc1-02719-01, rc1-26419-03, rc1-26419-03, release-20180419-0038, respectively

6 years agoFix OutputRID for linux-musl official build
Wes Haggard [Wed, 18 Apr 2018 17:19:36 +0000 (10:19 -0700)]
Fix OutputRID for linux-musl official build

Need to include the `-x64` in the output rid.

6 years agoAdd linux-musl build leg
Wes Haggard [Tue, 17 Apr 2018 20:06:33 +0000 (13:06 -0700)]
Add linux-musl build leg

6 years agoSkip container creation (#17655)
Matt Mitchell [Thu, 19 Apr 2018 03:25:32 +0000 (20:25 -0700)]
Skip container creation (#17655)

Skip container creation if not in flatcontainer mode
Container creation isn't required and would be incorrect if the ExpectedFeedUrl's account name didn't match AccountName

6 years agoMerge pull request #17615 from CarolEidt/Port17575To2.1
Carol Eidt [Wed, 18 Apr 2018 20:34:59 +0000 (13:34 -0700)]
Merge pull request #17615 from CarolEidt/Port17575To2.1

[Arm64] Disable SIMD in crossgen (added as part of #14633)

6 years agoMerge pull request #17616 from CarolEidt/Port17560To2.1
Carol Eidt [Wed, 18 Apr 2018 20:34:39 +0000 (13:34 -0700)]
Merge pull request #17616 from CarolEidt/Port17560To2.1

Fix extra register-dependency on mem-form cvtsd/s2ss

6 years agoFix GC tests. (#17594) (#17613)
Sergey Andreenko [Wed, 18 Apr 2018 06:25:44 +0000 (23:25 -0700)]
Fix GC tests. (#17594) (#17613)

* Fix dlbigleak

* cleanup dlstack

* Fix doublinknoleak

* Fix doublinkstay

* Fix dlcollect

* Fix doublinkgen

* Fix dlbigleakthd

6 years agoFix extra register-dependency on mem-form cvtsd/s2ss
Carol Eidt [Tue, 17 Apr 2018 18:38:48 +0000 (11:38 -0700)]
Fix extra register-dependency on mem-form cvtsd/s2ss

6 years ago[Arm64] Disable SIMD in crossgen (added as part of #14633)
Carol Eidt [Tue, 17 Apr 2018 18:30:19 +0000 (11:30 -0700)]
[Arm64] Disable SIMD in crossgen (added as part of #14633)

6 years agoMerge pull request #17599 from BruceForstall/CleanupUbunuArmBuildMachine_2.1
Bruce Forstall [Tue, 17 Apr 2018 00:35:31 +0000 (17:35 -0700)]
Merge pull request #17599 from BruceForstall/CleanupUbunuArmBuildMachine_2.1

Cleanup ubuntu arm build machine 2.1

6 years agoMerge pull request #17586 from RussKeldorph/21last
Russ Keldorph [Mon, 16 Apr 2018 23:28:48 +0000 (16:28 -0700)]
Merge pull request #17586 from RussKeldorph/21last

Merge master into release/2.1

6 years agoClean up Ubuntu arm build machines
Bruce Forstall [Mon, 16 Apr 2018 18:09:06 +0000 (11:09 -0700)]
Clean up Ubuntu arm build machines

6 years agoSet prerelease label to rc1
Russ Keldorph [Mon, 16 Apr 2018 17:25:09 +0000 (10:25 -0700)]
Set prerelease label to rc1

6 years agoMerge commit 'master' into release/2.1
Russ Keldorph [Mon, 16 Apr 2018 17:24:20 +0000 (10:24 -0700)]
Merge commit 'master' into release/2.1

6 years agoUpdate CoreClr, CoreFx, PgoData to preview3-26416-01, preview3-26416-01, master-20180...
dotnet-maestro-bot [Mon, 16 Apr 2018 06:43:04 +0000 (01:43 -0500)]
Update CoreClr, CoreFx, PgoData to preview3-26416-01, preview3-26416-01, master-20180415-0051, respectively (#17540)

6 years ago[Arm64] Add full barrier after locking operations (#17567)
Steve MacLean [Sun, 15 Apr 2018 21:36:04 +0000 (17:36 -0400)]
[Arm64] Add full barrier after locking operations (#17567)

6 years agoMerge pull request #17569 from dotnet/dev/unix_test_workflow
Bruce Forstall [Sat, 14 Apr 2018 20:30:21 +0000 (13:30 -0700)]
Merge pull request #17569 from dotnet/dev/unix_test_workflow

Don't use runtesttilstable script for Ubuntu arm jobs

6 years agoAvoid creating illegal byref pointers (#17524)
Bruce Forstall [Sat, 14 Apr 2018 18:11:28 +0000 (11:11 -0700)]
Avoid creating illegal byref pointers (#17524)

Byref pointers need to point within their "host" object -- thus
the alternate name "interior pointers". If the JIT creates and
reports a pointer as a "byref", but it points outside the host
object, and a GC occurs that moves the host object, the byref
pointer will not be updated. If a subsequent calculation puts
the byref "back" into the host object, it will actually be pointing
to garbage, since the host object has moved.

This occurred on ARM with array index calculations, in particular
because ARM doesn't have a single-instruction "base + scale*index + offset"
addressing mode. Thus, we were generating, for the jaggedarr_cs_do
test case, `ProcessJagged3DArray()` function:
```
// r0 = array object, r6 = computed index offset. We mark r4 as a byref.
add r4, r0, r6

// r4 - 32 is the offset of the object we care about. Then we load the array element.
// In this case, the loaded element is a gcref, so r4 becomes a gcref.
ldr r4, [r4-32]
```
We get this math because the user code uses `a[i - 10]`, which is
essentially `a + (i - 10) * 4 + 8` for element size 4. This is optimized
to `a + i * 4 - 32`. In the above code, `r6` is `i * 4`. In this case,
after the first instruction, `r4` can point beyond the array.
If a GC happens, `r4` isn't updated, and the second instruction loads garbage.

There are several fixes:
1. Change array morphing in `fgMorphArrayIndex()` to rearrange the array index
IR node creation to only create a byref pointer that is precise; don't create
"intermediate" byref pointers that don't represent the actual array element
address being computed. The tree matching code that annotates the generated tree
with field sequences needs to be updated to match the new form.
2. Change `fgMoveOpsLeft()` to prevent the left-weighted reassociation optimization
`[byref]+ (ref, [int]+ (int, int)) => [byref]+ ([byref]+ (ref, int), int)`. This
optimization creates "incorrect" byrefs that don't necessarily point within
the host object.
3. Add an additional condition to the `Fold "((x+icon1)+icon2) to (x+(icon1+icon2))"`
morph optimization to prevent merging of constant TYP_REF nodes, which now were
being recognized due to different tree shapes. This was probably always a problem,
but the particular tree shape wasn't seen before.

These fixes are all-platform. However, to reduce risk at this point, the are
enabled for ARM only, under the `FEATURE_PREVENT_BAD_BYREFS` `#ifdef`.

Fixes #17517.

There are many, many diffs.

For ARM32 ngen-based desktop asm diffs, it is a 0.30% improvement across all
framework assemblies. A lot of the diffs seem to be because we CSE the entire
array address offset expression, not just the index expression.