platform/upstream/coreclr.git
6 years agoUpdate CoreClr, CoreFx to preview3-26406-08, preview3-26406-06, respectively (#17445)
dotnet-maestro-bot [Fri, 6 Apr 2018 21:38:19 +0000 (16:38 -0500)]
Update CoreClr, CoreFx to preview3-26406-08, preview3-26406-06, respectively (#17445)

6 years agoMerge pull request #17418 from CarolEidt/Fix590358
Carol Eidt [Fri, 6 Apr 2018 21:23:33 +0000 (14:23 -0700)]
Merge pull request #17418 from CarolEidt/Fix590358

Handle SIMD8/LONG recasts for LCL_FLD

6 years agoAdd GetLoaderAllocatorObjectForGC to IGCToCLR (#17443)
David Mason [Fri, 6 Apr 2018 20:19:21 +0000 (13:19 -0700)]
Add GetLoaderAllocatorObjectForGC to IGCToCLR (#17443)

6 years agoTest windows event log (#17401)
Sung Yoon Whang [Fri, 6 Apr 2018 18:39:23 +0000 (11:39 -0700)]
Test windows event log (#17401)

* Windows Event Log tests

* Add test for windows event log

* Make it run under one executable

* Removing duplicate files

* remove more useless file

* fix formatting for reference to Diagnostics.EventLog

* Windows Event Log test is not supported outside Windows

* More logging to see why failures are occuring...

* Fix typo

* fix more typos

* just make the test pass on non-windows platforms

* Make the test more reliable with timing

6 years agoFix GC stress modes 4 and 8 on Linux ARM (#17456)
Jan Vorlicek [Fri, 6 Apr 2018 16:44:02 +0000 (18:44 +0200)]
Fix GC stress modes 4 and 8 on Linux ARM (#17456)

There were two problems:
* The illegal instruction 0xde01 used for INTERRUPT_INSTR_CALL doesn't
  generate SIGILL, but SIGTRAP, since this is the code used for
  breakpoints.
* The USE_REDIRECT_FOR_GCSTRESS was defined even for FEATURE_PAL for
  ARM, which is incorrect and resulted in explicit redirect frame not
  being created in DoGcStress and thus the GC stack walk was skipping
  managed frames that it should walk.

6 years agoAdd YieldAwaiter support to the async method builder delegate optimization (#17441)
Stephen Toub [Fri, 6 Apr 2018 13:48:35 +0000 (06:48 -0700)]
Add YieldAwaiter support to the async method builder delegate optimization (#17441)

We added an optimization to async methods that lets the builder avoid allocating the Action delegate when it recognizes the awaiter being used.  Previously this was enabled for all of the publicly exposed awaiters in corelib, with the exception of YieldAwaiter (what's used with Task.YIeld).  It was enabled by having the awaiter implement an internal interface.  This commit just generalizes that interface name and then implements it on YIeldAwaiter to complete the picture.

6 years agoAdd some comments to SpanHelpers.Char IndexOf and LastIndexOf (#17447)
Ahson Khan [Fri, 6 Apr 2018 13:47:03 +0000 (06:47 -0700)]
Add some comments to SpanHelpers.Char IndexOf and LastIndexOf (#17447)

6 years agorevert "Work around MCG bug around `ref char` marshalling #5481" (#5656)
Luqun Lou [Fri, 6 Apr 2018 01:54:42 +0000 (18:54 -0700)]
revert "Work around MCG bug around `ref char` marshalling #5481" (#5656)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoUpdate docker images for arm32 (#17422)
Sergey Andreenko [Fri, 6 Apr 2018 03:09:46 +0000 (20:09 -0700)]
Update docker images for arm32 (#17422)

* mark places that we need to change

* update dockumentation for arm

* update build.sh for arm

* update dockers' versions

* fix build.sh

* change default version for arm/armem/arm64

6 years agoMerge pull request #17363 from CarolEidt/Fix17242
Carol Eidt [Thu, 5 Apr 2018 22:22:37 +0000 (15:22 -0700)]
Merge pull request #17363 from CarolEidt/Fix17242

GC info fix: correctly adjust argCnt

6 years agoformatting
Carol Eidt [Thu, 5 Apr 2018 21:50:35 +0000 (14:50 -0700)]
formatting

6 years agoRemove fgMorphLocalField invalid assert
Carol Eidt [Thu, 5 Apr 2018 21:35:13 +0000 (14:35 -0700)]
Remove fgMorphLocalField invalid assert

6 years agoVectorize and use ROSpan.LastIndexOf as the workhorse for string.LastIndexOf (#17370)
Ahson Khan [Thu, 5 Apr 2018 18:36:39 +0000 (11:36 -0700)]
Vectorize and use ROSpan.LastIndexOf as the workhorse for string.LastIndexOf (#17370)

* Vectorize and use ROSpan.LastIndexOf as the workhorse for string.LastIndexOf

* Address PR feedback, remove Length == 0 checks where unnecessary.

* Use aligned vector read just like IndexOf

6 years agoAdd Word2Vec Benchmark Harness (#17350)
Michelle McDaniel [Thu, 5 Apr 2018 18:20:05 +0000 (11:20 -0700)]
Add Word2Vec Benchmark Harness (#17350)

* Add Word2Vec Benchmark Harness

This change adds an additional scenario benchmark, the Word2Vec
benchmark. The harness pulls down Word2Vec.Net from eabdullin, applies a
patch of changes that we made to work with netcoreapp21, harness the
word training and search, and then runs the benchmark. It also updates
the timeout for running benchmarks, since the training scenario on a
100M file takes about 7 minutes locally.

6 years agoMerge pull request #17424 from BruceForstall/FixArmCoreFxTests
Bruce Forstall [Thu, 5 Apr 2018 16:29:55 +0000 (09:29 -0700)]
Merge pull request #17424 from BruceForstall/FixArmCoreFxTests

Disable corefx Microsoft.Win32.Registry.Tests on ARM

6 years agoMerge pull request #17432 from stephentoub/portnumericperf
Stephen Toub [Thu, 5 Apr 2018 15:55:43 +0000 (08:55 -0700)]
Merge pull request #17432 from stephentoub/portnumericperf

Improve {u}int/long.ToString/TryFormat throughput by pre-computing the length

6 years agoRename conflicting definitions VER_MAJOR/MINORVERSION macros (#17364)
Jan Kotas [Thu, 5 Apr 2018 15:24:28 +0000 (08:24 -0700)]
Rename conflicting definitions VER_MAJOR/MINORVERSION macros (#17364)

* Rename conflicting definitions of VER_MAJOR/MINORVERSION

These macros are defined by Windows SDK. They were overload to mean CLR version
that was causing interesting redefinition issues.

* Delete workaround for redefined Windows SDK macros

* Delete ProjectN version

* Delete dead code

6 years agoUpdate CoreClr, CoreFx to preview3-26405-01, preview3-26405-01, respectively (#17430)
dotnet-maestro-bot [Thu, 5 Apr 2018 13:27:26 +0000 (08:27 -0500)]
Update CoreClr, CoreFx to preview3-26405-01, preview3-26405-01, respectively (#17430)

6 years agoUse FormattingHelpers.Count{Hex}Digits in {u}int/long.ToString/TryFormat
Stephen Toub [Thu, 5 Apr 2018 02:19:52 +0000 (22:19 -0400)]
Use FormattingHelpers.Count{Hex}Digits in {u}int/long.ToString/TryFormat

Currently we create a temporary buffer on the stack, format into it, and then copy from that stack buffer into either the target span (for TryFormat) or into a new string (for ToString.

Following the approach as (and sharing the same code from) Utf8Formatter, where it first counts the number of digits in the output in order to determine an exact length, this commit changes the implementation to skip the temporary buffer and just format directly into the destination span or string.

This results in a very measurable performance boost.

6 years agoMove FormattingHelpers.Count{Hex}Digits from Utf8Formatter into shared
Stephen Toub [Thu, 5 Apr 2018 02:19:47 +0000 (22:19 -0400)]
Move FormattingHelpers.Count{Hex}Digits from Utf8Formatter into shared

6 years agoJIT: refine x86 gc reg kill set for CORINFO_HELP_INIT_PINVOKE_FRAME (#17421)
Andy Ayers [Thu, 5 Apr 2018 00:54:27 +0000 (17:54 -0700)]
JIT: refine x86 gc reg kill set for CORINFO_HELP_INIT_PINVOKE_FRAME (#17421)

This helper only kills EAX/ESI on x86, so make sure that is reflected in
the gc kill set.

Resolves #17404.

6 years agoMerge pull request #17426 from dotnet-maestro-bot/master-UpdateDependencies
Wes Haggard [Wed, 4 Apr 2018 23:46:58 +0000 (16:46 -0700)]
Merge pull request #17426 from dotnet-maestro-bot/master-UpdateDependencies

Update BuildTools to preview3-02704-01 (master)

6 years agoFix ARM32 on ARM64 Tracing (#17417)
Brian Robbins [Wed, 4 Apr 2018 21:44:58 +0000 (14:44 -0700)]
Fix ARM32 on ARM64 Tracing (#17417)

6 years agoUpdate BuildTools to preview3-02704-01
dotnet-maestro-bot [Wed, 4 Apr 2018 21:09:03 +0000 (14:09 -0700)]
Update BuildTools to preview3-02704-01

6 years agoHandle SIMD8/LONG recasts for LCL_FLD
Carol Eidt [Wed, 4 Apr 2018 17:40:03 +0000 (10:40 -0700)]
Handle SIMD8/LONG recasts for LCL_FLD

Lowering needs to insert a `BITCAST` in the case of a `STORE_LCL_FLD` with mismatched `TYP_SIMD8`/`TYP_LONG` operands, just as for `STORE_LCL_VAR`.

6 years agoDisable corefx Microsoft.Win32.Registry.Tests on ARM
Bruce Forstall [Wed, 4 Apr 2018 19:35:24 +0000 (12:35 -0700)]
Disable corefx Microsoft.Win32.Registry.Tests on ARM

Failures tracked by #17423.

6 years agoFix ExecutionContext capture in Task (#17407)
Stephen Toub [Wed, 4 Apr 2018 19:14:33 +0000 (12:14 -0700)]
Fix ExecutionContext capture in Task (#17407)

When Task was refactored in core to remove the defunct StackCrawlMark support, the code that captured ExecutionContext was moved from a helper into TaskConstructorCore.  In doing so, though, it was put at the beginning of TaskConstructorCore, even though in its previous location it would have come after the call to TaskConstructorCore.

That change of place is causing an assert to fire, validating that m_stateFlags is still 0, which is failing because if ExecutionContext.Capture() returns null due to flow being suppressed, the code that stores the context sets a bit into m_stateFlags (to be able to differentiate null meaning no state flowed and null meaning default).

The assert is correct, though, and a small bug did result from this: Task hasn't been entirely respecting ExecutionContext.SuppressFlow (which was added back in .NET Core 2.0), in that it won't flow the current context, but because it would overwrite that bit in m_stateFlags, it would treat a null ExecutionContext as default instead of as flow suppressed, and thus would use ExecutionContext.Default to invoke the Task's delegate.  That in turn means that any EC changes made by the Task's delegate wouldn't be visible to the caller, as EC.Run would be used.

The fix is simply to move the code to the end of TaskConstructorCore instead of having it at the beginning.

6 years agoCorrect the path to NuGet cache (#17400)
Jeremy Meng [Wed, 4 Apr 2018 19:01:05 +0000 (12:01 -0700)]
Correct the path to NuGet cache (#17400)

6 years agoUpdate CoreClr to preview3-26404-06 (#17408)
dotnet-maestro-bot [Wed, 4 Apr 2018 16:59:36 +0000 (11:59 -0500)]
Update CoreClr to preview3-26404-06 (#17408)

6 years ago[x86/Linux] Fix COMNumber::DoubleToNumberFC arguments order (#17412)
Konstantin Baladurin [Wed, 4 Apr 2018 16:38:22 +0000 (19:38 +0300)]
[x86/Linux] Fix COMNumber::DoubleToNumberFC arguments order (#17412)

We should use FCDECL3_VII/FCIMPL3_VII instead of FCDECL3/FCIMPL3
otherwise we got incorrect order of arguments that leads to crashes.

6 years agoConsolidate and optimize TextInfo.ChangeCase (#17391)
Stephen Toub [Wed, 4 Apr 2018 10:54:30 +0000 (03:54 -0700)]
Consolidate and optimize TextInfo.ChangeCase (#17391)

- Move most of the implementation to the platform-agnostic file, rather than having completely different implementations for Windows and Unix.  Now the only logic in each platform-specific file is the logic around invoking the associated P/Invoke.
- Optimize that implementation to take a fast path that doesn't allocate when no case change is needed, and to avoid the native call when the whole string is ASCII.

6 years agoAvoid unnecessary string allocations in IdnMapping (#17399)
Stephen Toub [Wed, 4 Apr 2018 10:53:46 +0000 (03:53 -0700)]
Avoid unnecessary string allocations in IdnMapping (#17399)

If the output matches the input string, we can just use the input string as the result.

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to preview3-02703-02, preview3-26404...
dotnet-maestro-bot [Wed, 4 Apr 2018 07:19:28 +0000 (02:19 -0500)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview3-02703-02, preview3-26404-01, preview3-26403-04, master-20180403-1552, respectively (#17383)

6 years agoMerge pull request #17372 from BruceForstall/ArmWriteBarrierTighten3
Bruce Forstall [Wed, 4 Apr 2018 01:50:45 +0000 (18:50 -0700)]
Merge pull request #17372 from BruceForstall/ArmWriteBarrierTighten3

Tighten arm32/arm64 write barrier kill reg sets

6 years agoRemove most ARM NYI (#17365)
Bruce Forstall [Tue, 3 Apr 2018 21:32:19 +0000 (14:32 -0700)]
Remove most ARM NYI (#17365)

* Remove most ARM NYI

Convert most existing ARM NYI either to asserts or remove
the code entirely.

A few NYI are left, including:
1. GT_BITCAST from 'int' to 'float'
2. initblk unrolling is unimplemented: https://github.com/dotnet/coreclr/issues/16349
3. SIMD-related NYI (SIMD is currently unimplemented)

6 years agoMerge pull request #17352 from sdmaclea/PR-ARM64-Add-x64_arm64-crossgen
Jarret Shook [Tue, 3 Apr 2018 17:10:38 +0000 (10:10 -0700)]
Merge pull request #17352 from sdmaclea/PR-ARM64-Add-x64_arm64-crossgen

[Arm64] Add x64_arm64 crossgen to tools package

6 years agoIncrease crst level for ReadyToRunInfo's map lock (#17376)
Koundinya Veluri [Tue, 3 Apr 2018 15:49:10 +0000 (08:49 -0700)]
Increase crst level for ReadyToRunInfo's map lock (#17376)

Fixes regex-redux-1 failure seen in https://github.com/dotnet/coreclr/issues/15309
- HashMap lookups and insertions occur under a level 0 lock and may enter cooperative GC mode inside the lock. A GC that is triggered may delete some dynamic code, which takes another level 0 lock. It does not look like it's possible for a deadlock as a result.
- Fixed by increasing the crst level for the lock used in ReadyToRunInfo

6 years agoMark GcCollect test as incompatible with GcStress (#17390)
Andy Ayers [Tue, 3 Apr 2018 06:04:17 +0000 (23:04 -0700)]
Mark GcCollect test as incompatible with GcStress (#17390)

Extends changes in #17319 to cover stress tests run via the normal
msbuild/xunit test harness.

6 years ago[local gc] gc spinning part 1 (#17341)
David Mason [Tue, 3 Apr 2018 00:04:23 +0000 (17:04 -0700)]
[local gc] gc spinning part 1 (#17341)

Add an api so the VM can tell the GC how long to spin for to normalize across processor families.

6 years agoAdding Begin/End definitions. Formatting correctly.
Cesar Soares Lucas [Mon, 2 Apr 2018 21:49:12 +0000 (14:49 -0700)]
Adding Begin/End definitions. Formatting correctly.

6 years agoAdded a new API to provide memory information that GC records. This (#17326)
Maoni Stephens [Mon, 2 Apr 2018 18:10:48 +0000 (11:10 -0700)]
Added a new API to provide memory information that GC records. This (#17326)

is to be used by BCL for deciding when to trim memory usage in pooling code

6 years agoUpdate CoreClr, CoreFx to preview3-26402-06, preview3-26402-02, respectively (#17377)
dotnet-maestro-bot [Mon, 2 Apr 2018 17:44:20 +0000 (12:44 -0500)]
Update CoreClr, CoreFx to preview3-26402-06, preview3-26402-02, respectively (#17377)

6 years agoMerge pull request #17313 from fiigii/sethilo
Carol Eidt [Mon, 2 Apr 2018 14:58:44 +0000 (07:58 -0700)]
Merge pull request #17313 from fiigii/sethilo

Implement AVX SetHighLow

6 years ago[master] Add switches for legacy signing (#17353)
Matt Mitchell [Mon, 2 Apr 2018 14:44:22 +0000 (07:44 -0700)]
[master] Add switches for legacy signing (#17353)

* Add switches for legacy signing

6 years ago[Arm64] Add x64_arm64 crossgen to tools package
Steve MacLean [Fri, 30 Mar 2018 18:56:14 +0000 (14:56 -0400)]
[Arm64] Add x64_arm64 crossgen to tools package

6 years agoUpdate CoreClr, CoreFx to preview3-26331-05, preview3-26331-05, respectively (#17371)
dotnet-maestro-bot [Sat, 31 Mar 2018 16:23:37 +0000 (11:23 -0500)]
Update CoreClr, CoreFx to preview3-26331-05, preview3-26331-05, respectively (#17371)

6 years agoMerge pull request #17180 from fiigii/fixavxtests
Carol Eidt [Sat, 31 Mar 2018 15:53:21 +0000 (08:53 -0700)]
Merge pull request #17180 from fiigii/fixavxtests

Fix the code-size estimation for AVX/AVX2 ExtractVector128

6 years agoFix for 17289 (#17336)
Luqun Lou [Sat, 31 Mar 2018 08:44:00 +0000 (01:44 -0700)]
Fix for 17289 (#17336)

6 years agoMake AsSpan(this string) ForceInline to be on par with AsSpan(this T[]) (#17368)
Jan Kotas [Sat, 31 Mar 2018 07:30:53 +0000 (00:30 -0700)]
Make AsSpan(this string) ForceInline to be on par with AsSpan(this T[]) (#17368)

6 years agoDelete dead code to support OSes prior to Windows 7 (#17367)
Jan Kotas [Sat, 31 Mar 2018 07:29:33 +0000 (00:29 -0700)]
Delete dead code to support OSes prior to Windows 7 (#17367)

6 years agoMerge pull request #17329 from briansull/struct-gscheck-fix
Brian Sullivan [Sat, 31 Mar 2018 06:50:07 +0000 (23:50 -0700)]
Merge pull request #17329 from briansull/struct-gscheck-fix

Reject struct promotion of parameters when -GS checks are enabled

6 years agofix for HasCriticalFinalizer in local gc (#17369)
David Mason [Sat, 31 Mar 2018 06:35:38 +0000 (23:35 -0700)]
fix for HasCriticalFinalizer in local gc (#17369)

6 years agoTighten arm32/arm64 write barrier kill reg sets
Bruce Forstall [Wed, 21 Mar 2018 03:55:07 +0000 (20:55 -0700)]
Tighten arm32/arm64 write barrier kill reg sets

The JIT write barrier helpers have a custom calling convention that
avoids killing most registers. The JIT was not taking advantage of
this, and thus was killing unnecessary registers when a write barrier
was necessary. In particular, some integer callee-trash registers
are unaffected by the write barriers, and no floating-point register
is affected.

Also, I got rid of the `FEATURE_WRITE_BARRIER` define, which is always
set. I also put some code under `LEGACY_BACKEND` for easier cleanup
later. I removed some unused defines in target.h for some platforms.

6 years agoMerge pull request #17319 from janvorli/disable-gc-stress-incompatible-test
Bruce Forstall [Sat, 31 Mar 2018 04:45:47 +0000 (21:45 -0700)]
Merge pull request #17319 from janvorli/disable-gc-stress-incompatible-test

Mark GCCollect test as GC stress excluded

6 years agoFix#16827 Stack probing for Linux (#17360)
Egor Chesakov [Sat, 31 Mar 2018 03:43:28 +0000 (20:43 -0700)]
Fix#16827 Stack probing for Linux (#17360)

* Add stack probing algorithm that moves sp while touching pages under _TARGET_UNIX_ only

6 years agoUpdate BuildTools, CoreClr, CoreFx to preview3-02631-01, preview3-26331-01, preview3...
dotnet-maestro-bot [Sat, 31 Mar 2018 03:42:27 +0000 (22:42 -0500)]
Update BuildTools, CoreClr, CoreFx to preview3-02631-01, preview3-26331-01, preview3-26331-02, respectively (#17346)

6 years agoPEImageLayout: clear instruction cache after relocations
Konstantin Baladurin [Fri, 30 Mar 2018 07:18:04 +0000 (10:18 +0300)]
PEImageLayout: clear instruction cache after relocations

It fixes crashes on arm when using AOT images.

6 years agoFix ilasm COR header (#17357)
Eric StJohn [Sat, 31 Mar 2018 01:37:06 +0000 (18:37 -0700)]
Fix ilasm COR header (#17357)

Ilasm was emitting the wrong metadata version in the COR header.

This created a difference when examining the metadata diff between
desktop and core.

6 years agoOnly allow the rundown thread to write events during rundown to avoid corruption...
Brian Robbins [Sat, 31 Mar 2018 00:59:47 +0000 (17:59 -0700)]
Only allow the rundown thread to write events during rundown to avoid corruption of the trace file. (#17358)

6 years agoReject struct promotion of parameters when -GS checks are enabled
Brian Sullivan [Thu, 29 Mar 2018 22:05:55 +0000 (15:05 -0700)]
Reject struct promotion of parameters when -GS checks are enabled
as we could introduce shadow copies of them.
Add new test case: GitHub_17329.cs

6 years ago[arm32] Fixed RBM_PROFILER_* (#17291)
sergey ignatov [Sat, 31 Mar 2018 00:27:26 +0000 (03:27 +0300)]
[arm32] Fixed RBM_PROFILER_* (#17291)

* [arm32] Fixed RBM_PROFILER_*

* Changed trash registers to RBM_NONE

6 years agoGC info fix: correctly adjust argCnt
Carol Eidt [Fri, 30 Mar 2018 23:46:05 +0000 (16:46 -0700)]
GC info fix: correctly adjust argCnt

When there are nested calls, and there is a non-ptr on the stack below the last ptr popped by the inner call, the `argHigh` and `argCnt` values can get out of sync.

6 years agoFix remote unwind (#17351)
Jan Vorlicek [Fri, 30 Mar 2018 23:46:03 +0000 (01:46 +0200)]
Fix remote unwind (#17351)

The change that removed dependency on the external libunwind has broken
remote unwinding. I have not realized that the unw_create_addr_space
and other remote unwinding functions are just dummies.

This change adds the remote unwind related sources to the libunwind
compilation, enables remote unwinding support in the remote-unwind.cpp
and also does some magic in the CMakeLists.txt to fix issues caused
by the fact that the local and remote unwinding code was not expected
to be compiled into the same binary. There was one general and one
arm related function whose names needed to be different for local and
remote unwind code. And there was one function that was the same for
both local and remote case and so I had to ensure that it gets compiled
in just once.

Fortunately, all of these could still be achieved without changing the
libunwind sources.

6 years agoreplace unreached with assert(false) (#17359)
Sergey Andreenko [Fri, 30 Mar 2018 23:14:25 +0000 (16:14 -0700)]
replace unreached with assert(false) (#17359)

6 years agoadd an additional assert for the future
Sergey Andreenko [Fri, 30 Mar 2018 00:11:02 +0000 (17:11 -0700)]
add an additional assert for the future

6 years agofix the bug
Sergey Andreenko [Thu, 29 Mar 2018 23:53:00 +0000 (16:53 -0700)]
fix the bug

6 years agoadd repro
Sergey Andreenko [Thu, 29 Mar 2018 23:33:52 +0000 (16:33 -0700)]
add repro

6 years agofix ifdefs comments
Sergey Andreenko [Thu, 29 Mar 2018 22:17:06 +0000 (15:17 -0700)]
fix ifdefs comments

6 years agoImplement AVX SetHighLow
Fei Peng [Fri, 30 Mar 2018 18:41:00 +0000 (11:41 -0700)]
Implement AVX SetHighLow

6 years agoMerge pull request #17314 from fiigii/fixgctests
Carol Eidt [Fri, 30 Mar 2018 18:36:04 +0000 (11:36 -0700)]
Merge pull request #17314 from fiigii/fixgctests

Fix GCStress failures from hardware intrinsic tests

6 years agoUpdate CoreClr, CoreFx to preview3-26330-06, preview3-26330-06, respectively (#17344)
dotnet-maestro-bot [Fri, 30 Mar 2018 15:40:27 +0000 (10:40 -0500)]
Update CoreClr, CoreFx to preview3-26330-06, preview3-26330-06, respectively (#17344)

6 years agoChange OwnedMemory to MemoryManager and add an IMemoryOwner. (#17340)
Ahson Khan [Fri, 30 Mar 2018 15:27:25 +0000 (08:27 -0700)]
Change OwnedMemory to MemoryManager and add an IMemoryOwner. (#17340)

* Change OwnedMemory to MemoryManager and add an IMemoryOwner.

* Fix comments.

* Reset start and length if TryGetMemoryManager returns false.

* Reset start and length if TryGetMemoryManager returns false [actually].

* Re-order MemoryHandle ctor parameters and rename TOwner to TManager.

* Fix formatting, remove unused code, and fix impl of Pin()

6 years agoUpdate CoreClr to preview3-26330-01 (#17328)
dotnet-maestro-bot [Fri, 30 Mar 2018 07:53:45 +0000 (02:53 -0500)]
Update CoreClr to preview3-26330-01 (#17328)

6 years agoMerge pull request #17327 from weshaggard/FixIdentityPackageBuild
Wes Haggard [Thu, 29 Mar 2018 23:33:04 +0000 (16:33 -0700)]
Merge pull request #17327 from weshaggard/FixIdentityPackageBuild

Fix identity package filtering

6 years agoFix GCStress failures
Fei Peng [Thu, 29 Mar 2018 22:39:04 +0000 (15:39 -0700)]
Fix GCStress failures

6 years agoMerge pull request #17322 from BruceForstall/FixTestBuild
Bruce Forstall [Thu, 29 Mar 2018 22:29:07 +0000 (15:29 -0700)]
Merge pull request #17322 from BruceForstall/FixTestBuild

Add back hosting to split builds

6 years agoMerge pull request #17211 from mikedn/dyn-hwinfo
Carol Eidt [Thu, 29 Mar 2018 21:57:03 +0000 (14:57 -0700)]
Merge pull request #17211 from mikedn/dyn-hwinfo

Remove HWIntrinsicFlag bitwise OR operator

6 years agoFix identity package filtering
Wes Haggard [Thu, 29 Mar 2018 17:48:52 +0000 (10:48 -0700)]
Fix identity package filtering

We only want to filter out identity package builds on
official builds that aren't windows x64, to avoid building
and publishing them more then once in an official build.

We also need to account for source-build which sets the
OfficialBuildId property to replicate the official builds,
so we also look at the DotNetBuildOffline property to
determine that we should still build the identity package.

6 years agoFix for incorrectly handle invalid UTF8 characters issue (#17302)
Luqun Lou [Thu, 29 Mar 2018 20:59:18 +0000 (13:59 -0700)]
Fix for incorrectly handle invalid UTF8 characters issue (#17302)

There are some behavior difference between C/C++ UTF8 encoder/decoder and Encoding.UTF8 as mentioned by #16786.

6 years agoFix AssemblyLoadContext.Unloading and ProcessExit for Windows Docker containers ...
Daniel Harvey [Thu, 29 Mar 2018 18:59:19 +0000 (11:59 -0700)]
Fix AssemblyLoadContext.Unloading and ProcessExit for Windows Docker containers (#17265)

On Windows, we need to shutdown the EE when receiving a CTRL_CLOSE_EVENT to we run ProcessExit handlers and other code that relies on ProcessExit working (like AssemblyLoadContext.Unloading). One way we receive this event is when there's a running process in a docker container that has the stop command run against it.

6 years agoMerge pull request #17304 from dotnet/RemovingObsoleteCleanupBuilds
Divino César [Thu, 29 Mar 2018 18:01:36 +0000 (11:01 -0700)]
Merge pull request #17304 from dotnet/RemovingObsoleteCleanupBuilds

This BuildTask has been deprecated in favor of maintenance jobs.

6 years agoUpdate CoreFx to preview3-26329-05 (#17318)
dotnet-maestro-bot [Thu, 29 Mar 2018 17:32:32 +0000 (12:32 -0500)]
Update CoreFx to preview3-26329-05 (#17318)

6 years agoAdd back hosting to split builds
Bruce Forstall [Thu, 29 Mar 2018 17:20:23 +0000 (10:20 -0700)]
Add back hosting to split builds

6 years agoDict cache default comparer for object types (#17285)
Ben Adams [Thu, 29 Mar 2018 17:06:42 +0000 (18:06 +0100)]
Dict cache default comparer for object types (#17285)

* Dict cache default comparer for object types

* Improves

* Fix EventRegistrationToken Equals

6 years agoStringBuilder.Equals: value to span (#17311)
Maryam Ariyan [Thu, 29 Mar 2018 16:43:58 +0000 (09:43 -0700)]
StringBuilder.Equals: value to span (#17311)

6 years agoMark GCCollect test as GC stress excluded
Jan Vorlicek [Thu, 29 Mar 2018 14:25:56 +0000 (16:25 +0200)]
Mark GCCollect test as GC stress excluded

This test is incompatible with GC stress. The tests compares results of
GC.GetTotalMemory before and after GC.Collect and fails if the size
before the collection is smaller than after the collection. But GC
stress breaks this assumption.

6 years agochange arm maxIter to 20 (#17308)
Sergey Andreenko [Thu, 29 Mar 2018 05:44:32 +0000 (22:44 -0700)]
change arm maxIter to 20 (#17308)

6 years agoUpdate BuildTools, CoreClr, CoreFx to preview3-02629-02, preview3-26329-01, preview3...
dotnet-maestro-bot [Thu, 29 Mar 2018 03:55:21 +0000 (22:55 -0500)]
Update BuildTools, CoreClr, CoreFx to preview3-02629-02, preview3-26329-01, preview3-26329-01, respectively (#17309)

6 years ago[Arm64] Correct cross/arm64/tryrun.cmake (#17293)
Steve MacLean [Thu, 29 Mar 2018 00:40:11 +0000 (20:40 -0400)]
[Arm64] Correct cross/arm64/tryrun.cmake (#17293)

6 years agoUpdate BuildTools, CoreClr to preview3-02628-01, preview3-26328-08, respectively...
dotnet-maestro-bot [Thu, 29 Mar 2018 00:05:58 +0000 (19:05 -0500)]
Update BuildTools, CoreClr to preview3-02628-01, preview3-26328-08, respectively (#17299)

6 years agoMerge pull request #17280 from weshaggard/SyncInitToolsWithSourceBuild
Wes Haggard [Wed, 28 Mar 2018 23:55:49 +0000 (16:55 -0700)]
Merge pull request #17280 from weshaggard/SyncInitToolsWithSourceBuild

Sync init-tools scripts with what is in source-build

6 years agoUse ROSpan.IndexOf as the workhorse for string.IndexOf (#17284)
Ahson Khan [Wed, 28 Mar 2018 23:33:56 +0000 (16:33 -0700)]
Use ROSpan.IndexOf as the workhorse for string.IndexOf (#17284)

* Use ROSpan.IndexOf as the workhorse for string.IndexOf

* Make changes to Span.IndexOf to follow what string.IndexOf did.

* Address PR feedback.

* Use Unsafe.Read instead of Unsafe.ReadUnaligned.

* Remove special casing for count == 0

* Fix up debug assert to use vector count instead of intptr.size

* Use size of Vector<ushort> instead of Vector<byte>.Count

6 years agoFix Dictionary CopyTo regression (#17300)
Ben Adams [Wed, 28 Mar 2018 23:11:38 +0000 (00:11 +0100)]
Fix Dictionary CopyTo regression (#17300)

6 years agoThis BuildTask has been deprecated in favor of maintenance jobs.
Cesar Soares Lucas [Wed, 28 Mar 2018 21:44:57 +0000 (14:44 -0700)]
This BuildTask has been deprecated in favor of maintenance jobs.

6 years agoMerge pull request #17303 from BruceForstall/EnableUbuntuArmGCStressJobsMaster
Bruce Forstall [Wed, 28 Mar 2018 21:07:26 +0000 (14:07 -0700)]
Merge pull request #17303 from BruceForstall/EnableUbuntuArmGCStressJobsMaster

Enable Linux arm32 GCStress jobs

6 years agoRemoving 'EXPERIMENTAL' from tiered compilation env var (#17283)
Noah Falk [Wed, 28 Mar 2018 20:56:24 +0000 (13:56 -0700)]
Removing 'EXPERIMENTAL' from tiered compilation env var (#17283)

Things have progressed far enough that its time to use a friendlier name. The feature still still has performance aspects that need to be investigated and improved, but I don't want to scare people off simply because it isn't as fast as it could be.
This also updates to use a newer CoreFX version for JitBench since that appeared to be broken, and updated some comments and usage of the tieredcompilation variable.

6 years agoEnable Linux arm32 GCStress jobs
Bruce Forstall [Tue, 27 Mar 2018 19:22:38 +0000 (12:22 -0700)]
Enable Linux arm32 GCStress jobs

Non-PR jobs (cron and push) are disabled for now.

6 years agoUnique-ify name of TestList.json to avoid collisions
Russ Keldorph [Wed, 28 Mar 2018 19:34:59 +0000 (12:34 -0700)]
Unique-ify name of TestList.json to avoid collisions

Fixes #16840

6 years agoMerge pull request #17090 from debayang/corefx_tests
Bruce Forstall [Wed, 28 Mar 2018 19:50:44 +0000 (12:50 -0700)]
Merge pull request #17090 from debayang/corefx_tests

Fix run-corefx-tests.py for Arm64 Linux cross build

6 years agoFix some more unwinding in R2R ARM (#17292)
Jan Vorlicek [Wed, 28 Mar 2018 18:16:57 +0000 (20:16 +0200)]
Fix some more unwinding in R2R ARM (#17292)

There was one more change needed to make the unwinding work properly.
Pushes in some prologs were missing the unwinder annotation.
The fix is to use PROLOG_PUSH for them.
To make things in this file consistent, I've also replaced pops in
epilogs with EPILOG_POP macro and vpush / vpop with PROLOG_VPUSH /
PROLOG_VPOP, although it is not functionally necessary.

With these changes, all the EH related issues are gone.