platform/upstream/coreclr.git
5 years agoFix DIM Test to run on mono (#23870)
Thays Grazia [Fri, 12 Apr 2019 21:49:26 +0000 (18:49 -0300)]
Fix DIM Test to run on mono (#23870)

Changing the test to run on runtimes that supports lookups with runtime determined boxing and on runtimes that doesn't support.

5 years agoDon't Free UpperVector (#23889)
Carol Eidt [Fri, 12 Apr 2019 18:31:55 +0000 (11:31 -0700)]
Don't Free UpperVector (#23889)

* Don't Free UpperVector

UpperVector regs are freed at their time of use, and shouldn't be freed when the last RefPosition is encountered.
Also, we need to specify all 3 operands for vinsertf128

Fix #23861
Fix #23904
Fix #23804

5 years agoConsolidate duplicate assignment (#23923)
bdebaere [Fri, 12 Apr 2019 16:29:44 +0000 (18:29 +0200)]
Consolidate duplicate assignment (#23923)

* Consolidate duplicate assignment.

5 years agoMerge pull request #23900 from sergiy-k/fixcrossarchr2r1
Sergiy Kuryata [Fri, 12 Apr 2019 16:00:04 +0000 (09:00 -0700)]
Merge pull request #23900 from sergiy-k/fixcrossarchr2r1

Enable precompiling CoreRoot overlay with crossgen for Linux arm/arm64

5 years agoAdd several links to deep-dive blog posts
Stephen Toub [Fri, 12 Apr 2019 13:39:40 +0000 (09:39 -0400)]
Add several links to deep-dive blog posts

5 years agoJIT: update byref null check logic to handle field chains (#23850)
Andy Ayers [Fri, 12 Apr 2019 07:44:39 +0000 (00:44 -0700)]
JIT: update byref null check logic to handle field chains (#23850)

The jit was not properly accumulating offsets when figuring out if a byref
should be null checked.

Use a non-null MorphAddressContext as indication that GT_FIELD and GT_IND
nodes are actually part of an ongoing address computation.

During field morphing propagate the current address context to the child node,
instead of starting a new one.

Fixes #23791.

5 years agoEnable precompiling CoreRoot overlay with crossgen for Linux arm/arm64
Sergiy Kuryata [Thu, 11 Apr 2019 16:54:49 +0000 (09:54 -0700)]
Enable precompiling CoreRoot overlay with crossgen for Linux arm/arm64

5 years agoEnable default Ready2Run testing in pull requests. Workaround an issue with custom...
Egor Chesakov [Fri, 12 Apr 2019 05:50:48 +0000 (22:50 -0700)]
Enable default Ready2Run testing in pull requests. Workaround an issue with custom xunit.console.dll runner. (#23848)

5 years agoRemove duplicates. (#23922)
bdebaere [Fri, 12 Apr 2019 05:32:56 +0000 (07:32 +0200)]
Remove duplicates. (#23922)

5 years agoAdd optimized UTF-8 validation and transcoding apis, hook them up to UTF8Encoding...
Levi Broderick [Fri, 12 Apr 2019 03:50:16 +0000 (20:50 -0700)]
Add optimized UTF-8 validation and transcoding apis, hook them up to UTF8Encoding (#21948)

* Add optimized UTF-8 validation and transcoding logic
- Hook it up through the existing Utf8 public static APIs
- Move some shared methods out of ASCIIUtility
- Hook it up through the Utf8String ctor

* Hook up new UTF-8 logic through UTF8Encoding
- Add vectorized UTF-16 validation and transcoded byte counts
- Move Utf16Utility into Unicode namespace alongside Utf8Utility
- Fix some bugs in DecoderNLS's draining logic

* Improve perf of "is ASCII?" inner loop in UTF-8 validation.

* Remove SSE41.X64 optimization from AsciiUtility
RyuJIT now handles this optimally

* Clarify that vector read is unaligned

* Simplify vectorized logic; remove unnecessary adjustment

* PR feedback: GetElement(0) -> Sse2.StoreLow

* PR feedback
- Simplify CountNumberOfLeadingAsciiBytesFrom24BitInteger
- Extract some consts out to top of file w/ comments

* PR feedback: Enable SSE2 in Utf16Utility code

* Expand masks in Utf8Utility, fix const in fallback path

* Temporarily disable failing CoreFX tests

* Fix incorrect Debug.Assert statements

* Add comments tracking JIT workarounds.

* Rename DWORD -> UInt32 throughout API surface

* Re-flow Utf8Utility.Helpers

* PR feedback: Fix typos

* PR feedback: CountNumberOfLeadingAsciiBytesFrom24BitInteger

* PR feedback: Remove redundant endianess checks

* PR feedback: Validate nint definitions

* PR feedback: Clarify charIsNonAscii vector usage

* PR feedback: document tempUtf8CodeUnitCountAdjustment usage

* Fix compilation failure in Utf16Utility

* PR feedback: Clarify 3-byte sequence processing

* Add missing check to 3-byte processing logic

* Clarify comment in 3-byte processing

5 years agoFix Assembly.LoadFromPartialName(string) (#23912)
Steve MacLean [Fri, 12 Apr 2019 03:48:59 +0000 (23:48 -0400)]
Fix Assembly.LoadFromPartialName(string)  (#23912)

Assembly.LoadFromPartialName(string) should not throw FileNotFoundException, but
should rather return null.

ArgumentException should use nameof(partialName)

Fixes #19817

5 years agoUpdate CoreClr to preview5-27611-71 (#23884)
dotnet-maestro-bot [Fri, 12 Apr 2019 00:47:59 +0000 (17:47 -0700)]
Update CoreClr to preview5-27611-71 (#23884)

5 years agoFix Version's comparer operators to allow null (#23898)
Stephen Toub [Fri, 12 Apr 2019 00:47:35 +0000 (20:47 -0400)]
Fix Version's comparer operators to allow null (#23898)

Previously for `<`/`<=` it would throw if `v1` argument was null, but for `>`/`>=` would throw if the `v1` argument was null, albeit using `v1` in the exception parameter name.  It's also not expected for comparisons like this to throw, in general.

5 years agoFix 23740 (#23906)
Steve MacLean [Fri, 12 Apr 2019 00:28:25 +0000 (20:28 -0400)]
Fix 23740 (#23906)

Adjust AssemblyLoadContextBaseObject packing for
windows arm.

5 years agoJIT: fix assert when there are mixed types in Enum.HasFlags optimization (#23902)
Andy Ayers [Thu, 11 Apr 2019 23:45:30 +0000 (16:45 -0700)]
JIT: fix assert when there are mixed types in Enum.HasFlags optimization (#23902)

In some cases the pre-boxed nodes may differ in type. Bail if they don't have
the same stack type, then compute the result using the stack type.

Extended the hasflags test with a case that shows this issue.

Closes #23847

5 years agoClarify comment in 3-byte processing
Levi Broderick [Thu, 11 Apr 2019 22:36:47 +0000 (15:36 -0700)]
Clarify comment in 3-byte processing

5 years agoAdd missing check to 3-byte processing logic
Levi Broderick [Thu, 11 Apr 2019 22:30:11 +0000 (15:30 -0700)]
Add missing check to 3-byte processing logic

5 years agoPR feedback: Clarify 3-byte sequence processing
Levi Broderick [Thu, 11 Apr 2019 20:39:55 +0000 (13:39 -0700)]
PR feedback: Clarify 3-byte sequence processing

5 years agoDisable nullability-related warnings
Jan Kotas [Wed, 10 Apr 2019 14:03:22 +0000 (07:03 -0700)]
Disable nullability-related warnings

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoFix compilation failure in Utf16Utility
Levi Broderick [Thu, 11 Apr 2019 20:19:21 +0000 (13:19 -0700)]
Fix compilation failure in Utf16Utility

5 years agoPR feedback: document tempUtf8CodeUnitCountAdjustment usage
Levi Broderick [Thu, 11 Apr 2019 18:48:44 +0000 (11:48 -0700)]
PR feedback: document tempUtf8CodeUnitCountAdjustment usage

5 years agoPR feedback: Clarify charIsNonAscii vector usage
Levi Broderick [Thu, 11 Apr 2019 18:37:00 +0000 (11:37 -0700)]
PR feedback: Clarify charIsNonAscii vector usage

5 years agoPR feedback: Validate nint definitions
Levi Broderick [Thu, 11 Apr 2019 18:23:53 +0000 (11:23 -0700)]
PR feedback: Validate nint definitions

5 years agoPR feedback: Remove redundant endianess checks
Levi Broderick [Thu, 11 Apr 2019 18:14:16 +0000 (11:14 -0700)]
PR feedback: Remove redundant endianess checks

5 years agoPR feedback: CountNumberOfLeadingAsciiBytesFrom24BitInteger
Levi Broderick [Thu, 11 Apr 2019 18:11:49 +0000 (11:11 -0700)]
PR feedback: CountNumberOfLeadingAsciiBytesFrom24BitInteger

5 years agoPR feedback: Fix typos
Levi Broderick [Thu, 11 Apr 2019 17:56:34 +0000 (10:56 -0700)]
PR feedback: Fix typos

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190410.11 ...
dotnet-maestro[bot] [Thu, 11 Apr 2019 17:56:27 +0000 (13:56 -0400)]
Update dependencies from https://github.com/dotnet/core-setup build 20190410.11 (#23894)

- Microsoft.NETCore.App - 3.0.0-preview5-27610-11

5 years ago[master] Update dependencies from dotnet/arcade (#23834)
dotnet-maestro[bot] [Thu, 11 Apr 2019 16:59:29 +0000 (12:59 -0400)]
[master] Update dependencies from dotnet/arcade (#23834)

* Update dependencies from https://github.com/dotnet/arcade build 20190409.1

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19209.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19209.1

* Update dependencies from https://github.com/dotnet/arcade build 20190409.2

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19209.2
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19209.2

* Update dependencies from https://github.com/dotnet/arcade build 20190410.7

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19210.7
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19210.7

5 years agoRenaming 'failure' in counter tests (#23891)
Sung Yoon Whang [Thu, 11 Apr 2019 11:52:48 +0000 (04:52 -0700)]
Renaming 'failure' in counter tests (#23891)

5 years agoIf a delegate type is a WinRT delegate or a WinRT-projected delegate, allow default...
Jeremy Koritzinsky [Thu, 11 Apr 2019 06:31:54 +0000 (23:31 -0700)]
If a delegate type is a WinRT delegate or a WinRT-projected delegate, allow default marshalling. (#23877)

5 years agoMerge remote-tracking branch 'origin/master' into utf8_validation_apis_3
Levi Broderick [Thu, 11 Apr 2019 05:56:33 +0000 (22:56 -0700)]
Merge remote-tracking branch 'origin/master' into utf8_validation_apis_3

5 years agoRemove overrelease in test (#23887)
Aaron Robinson [Thu, 11 Apr 2019 05:54:46 +0000 (22:54 -0700)]
Remove overrelease in test (#23887)

5 years agoContextual reflection (#23740)
Steve MacLean [Thu, 11 Apr 2019 04:20:39 +0000 (00:20 -0400)]
Contextual reflection (#23740)

* Add ContextualReflection APIs

Add ContextualReflection APIs approved in dotnet/corefx#36236
Fix issue #22213

* SetParentAssembly even when IsCollectible()
* ContextualReflection tests

* PR Feedback
* Add more usage tests

Add using statement tests
Add bad usage tests including Assert.Throws<>

* Only initialize on set
* Add XML API comments
* Unify VerifyIsolation
* Fix unused expectedAssembly
* Remove ContextualReflectionScope throw
* Clean up TestResolveMissingAssembly et. al
* Remove unused QCall::AppDomainHandle
* Remove AppDomainBaseObject
* Pass AssemblyLoadContext as managed object to native
* Fix AssemblyLoadContextBaseObject packing

* AssemblyLoadContext backing stores

Use explicit backing stores for events and properties

* Remove StaticAsyncLocalCurrentContextualReflectionContext
* Remove PermissionSetObject

5 years agoMerge pull request #23824 from janvorli/remove_unix_cpu_groups_emulation
Jan Vorlicek [Thu, 11 Apr 2019 00:26:32 +0000 (02:26 +0200)]
Merge pull request #23824 from janvorli/remove_unix_cpu_groups_emulation

Remove Unix CPU groups emulation

5 years agoRe-flow Utf8Utility.Helpers
Levi Broderick [Wed, 10 Apr 2019 23:52:48 +0000 (16:52 -0700)]
Re-flow Utf8Utility.Helpers

5 years agoRename DWORD -> UInt32 throughout API surface
Levi Broderick [Wed, 10 Apr 2019 23:51:30 +0000 (16:51 -0700)]
Rename DWORD -> UInt32 throughout API surface

5 years agoAdd comments tracking JIT workarounds.
Levi Broderick [Wed, 10 Apr 2019 23:47:11 +0000 (16:47 -0700)]
Add comments tracking JIT workarounds.

5 years agoMove AssemblyName to shared (#23737)
Egor Bogatov [Wed, 10 Apr 2019 23:36:14 +0000 (02:36 +0300)]
Move AssemblyName to shared (#23737)

5 years agoMove TimerQueue.TickCount Windows implementation to shared CoreLib (#23838)
Filip Navara [Wed, 10 Apr 2019 23:04:38 +0000 (01:04 +0200)]
Move TimerQueue.TickCount Windows implementation to shared CoreLib (#23838)

5 years agoMake GC.GetGCMemoryInfo public (#23779)
Ludovic Henry [Wed, 10 Apr 2019 22:57:00 +0000 (15:57 -0700)]
Make GC.GetGCMemoryInfo public (#23779)

* Make GC.GetGCMemoryInfo public

This is to be used to allow users to optimize memory consumption based
on what's available to the GC and on the system.

This is based on https://github.com/dotnet/corefx/issues/34631

* Address reviews

- Pass GCMemoryInfo struct to native in place of many arguments
- Make GCMemoryInfo.HeapSize and GCMemoryInfo.Fragmentation long in place of IntPtr

* Address reviews

- Mark GCMemoryInfo readonly

* Rearrange fields and match managed/native names

* Fix compilation

* Use getter shorthand

* Address API Design Review

https://github.com/dotnet/corefx/issues/34631#issuecomment-481358549

* Fix comments

* Fix comments

* Do everything in managed

* Address review

 - Remove unecessary [StructLayout.Sequential]
 - Remove "_" prefix for parameters variables

5 years agoMerge pull request #23876 from briansull/jit-dump
Brian Sullivan [Wed, 10 Apr 2019 22:19:11 +0000 (15:19 -0700)]
Merge pull request #23876 from briansull/jit-dump

Improved JitDump

5 years agoMerge pull request #23858 from sandreenko/fixOptPrepareTreeToReplacement
Sergey Andreenko [Wed, 10 Apr 2019 22:15:12 +0000 (15:15 -0700)]
Merge pull request #23858 from sandreenko/fixOptPrepareTreeToReplacement

Clean optVNConstantPropOnTree.

5 years agoCheck for a null import descriptor when fixing up vtables. (#23825)
Jeremy Koritzinsky [Wed, 10 Apr 2019 19:54:27 +0000 (12:54 -0700)]
Check for a null import descriptor when fixing up vtables. (#23825)

A fragile ngened image doesn't have an import descriptor directory in its PE image. Without this check, we AV when loading a fragile ngened image.

5 years agojit-format
Brian Sullivan [Wed, 10 Apr 2019 19:52:14 +0000 (12:52 -0700)]
jit-format

5 years agoImproved JitDump
Brian Sullivan [Wed, 10 Apr 2019 19:37:21 +0000 (12:37 -0700)]
Improved JitDump
- Prints the bbNatLoopNum when dumping the BasicBlocks
- Refactor the GenTree node dump to use gtDispCommonEndLine:
//     Utility function that prints the following node information
//       1: The associated zero field sequence (if any)
//       2. The register assigned to this node (if any)
//       2. The value number assigned (if any)
//       3. A newline character

5 years agoUpdate the comment.
Sergey Andreenko [Wed, 10 Apr 2019 19:29:46 +0000 (12:29 -0700)]
Update the comment.

5 years agoUpdate Range.GetOffsetAndLength (#23855)
Tarek Mahmoud Sayed [Wed, 10 Apr 2019 19:05:27 +0000 (20:05 +0100)]
Update Range.GetOffsetAndLength (#23855)

* Update Range.GetOffsetAndLength

Make it return offset and length tuple instead of the old Type Range.OffsetAndLength

* Fix the return Tuple fields names

5 years agoTweaking some APIs according to user feedback. (#23857)
Tanner Gooding [Wed, 10 Apr 2019 17:42:17 +0000 (10:42 -0700)]
Tweaking some APIs according to user feedback. (#23857)

* Updating the Avx2.ConvertToVector256UInt APIs to return a signed type (matching the native signature and Sse41 APIs).

* Adding explicit overloads for `Sse41.ConvertToVector128Int*` and `Avx2.ConvertToVector256Int*` that take a pointer

* Updating the word ordering for the Compare/CompareScalar methods.

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190409.17 ...
dotnet-maestro[bot] [Wed, 10 Apr 2019 16:38:40 +0000 (12:38 -0400)]
Update dependencies from https://github.com/dotnet/core-setup build 20190409.17 (#23865)

- Microsoft.NETCore.App - 3.0.0-preview5-27609-17

5 years agoUpdate CoreClr to preview5-27610-71 (#23859)
dotnet-maestro-bot [Wed, 10 Apr 2019 16:38:28 +0000 (09:38 -0700)]
Update CoreClr to preview5-27610-71 (#23859)

5 years agoUpdate Windows instructions (#23841)
Jared Parsons [Wed, 10 Apr 2019 13:57:38 +0000 (06:57 -0700)]
Update Windows instructions (#23841)

The instructions for CMake failed to list 3.14.1 when using Visual Studio 2019.

5 years agoFix few issues discovered by testing
Jan Vorlicek [Wed, 10 Apr 2019 13:18:03 +0000 (15:18 +0200)]
Fix few issues discovered by testing

5 years agoUpdate profiling-api-status.md
Noah Falk [Wed, 10 Apr 2019 11:05:03 +0000 (04:05 -0700)]
Update profiling-api-status.md

Clarifying that profiler attach/detach are a known gap

5 years agoFix RecycledLists size on Unix
Jan Vorlicek [Wed, 10 Apr 2019 10:08:27 +0000 (12:08 +0200)]
Fix RecycledLists size on Unix

The list size was set to g_SystemInfo.dwNumberOfProcessors which is a
number of processors the current process is allowed to run on, but not
the total number of processors in the system. Fixed to use
PAL_GetTotalCpuCount.

Also revert a change to the mbind node mask length computation I've
incorrectly made in my last commit and make it clear that the value is
a number of used bits in the node mask, which is the highest numa node
plus 1. And finally, re-reading the mbind doc, I've found that the
maxnode parameter is in fact "number of nodes" in the mask, so fixing
that too.

5 years agoChange optExtractSideEffList to optExtractSideEffList.
Sergey Andreenko [Wed, 10 Apr 2019 08:59:31 +0000 (01:59 -0700)]
Change optExtractSideEffList to optExtractSideEffList.

5 years agoFix newlines for ilegal trees in `gtDispTree`.
Sergey Andreenko [Wed, 10 Apr 2019 08:57:04 +0000 (01:57 -0700)]
Fix newlines for  ilegal trees in `gtDispTree`.

5 years agoExpose new EventCounter APIs (#23808)
Sung Yoon Whang [Wed, 10 Apr 2019 08:19:30 +0000 (01:19 -0700)]
Expose new EventCounter APIs (#23808)

* rename BaseCounter to DiagnosticCounter

* Change MetaData->Metadata

* Make EventSource and Name a property for counter classes

* Make the counter APIs public

* fix build errors

* Change float to double

* Few cleanups, fix test

* fix GetMetadataString

* PR feedback

* More PR feedback

5 years agoFix incorrect Debug.Assert statements
Levi Broderick [Wed, 10 Apr 2019 06:07:05 +0000 (23:07 -0700)]
Fix incorrect Debug.Assert statements

5 years agoTemporarily disable failing CoreFX tests
Levi Broderick [Wed, 10 Apr 2019 04:46:37 +0000 (21:46 -0700)]
Temporarily disable failing CoreFX tests

5 years agoRemove dlclose call to unload CoreCLR (#23863)
Next Turn [Wed, 10 Apr 2019 04:18:24 +0000 (12:18 +0800)]
Remove dlclose call to unload CoreCLR (#23863)

5 years agoAdd back using to EventSourceException
Santiago Fernandez Madero [Fri, 5 Apr 2019 23:32:35 +0000 (16:32 -0700)]
Add back using to EventSourceException

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoUpdate CoreRT for changes in shared partition
Jan Kotas [Fri, 5 Apr 2019 04:49:22 +0000 (21:49 -0700)]
Update CoreRT for changes in shared partition

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoExpand masks in Utf8Utility, fix const in fallback path
Levi Broderick [Wed, 10 Apr 2019 01:48:01 +0000 (18:48 -0700)]
Expand masks in Utf8Utility, fix const in fallback path

5 years agoAdd 'SetNotificationForWaitCompletion' to ILLinkTrim.xml (#23822)
Gregg Miskelly [Wed, 10 Apr 2019 02:17:39 +0000 (19:17 -0700)]
Add 'SetNotificationForWaitCompletion' to ILLinkTrim.xml (#23822)

SetNotificationForWaitCompletion is meant to be func-eval'ed by the debugger to enable async step out. But this method was being removed by the IL linker. This adds it back.

5 years agoPR feedback: Enable SSE2 in Utf16Utility code
Levi Broderick [Wed, 10 Apr 2019 00:31:39 +0000 (17:31 -0700)]
PR feedback: Enable SSE2 in Utf16Utility code

5 years agoDelete the asignment that was added as a workaround.
Sergey Andreenko [Thu, 28 Mar 2019 20:42:06 +0000 (13:42 -0700)]
Delete the asignment that was added as a workaround.

5 years agoClarify some unsupported cases in `optVNConstantPropOnTree`.
Sergey Andreenko [Thu, 28 Mar 2019 20:23:04 +0000 (13:23 -0700)]
Clarify some unsupported cases in `optVNConstantPropOnTree`.

5 years agoClean optVNConstantPropOnTree.
Sergey Andreenko [Wed, 27 Mar 2019 00:16:07 +0000 (17:16 -0700)]
Clean optVNConstantPropOnTree.

Create a new tree with const val and attach side-effects to it.
Extract common code and delete returns in the of the switch.

5 years agoPR feedback
Levi Broderick [Tue, 9 Apr 2019 23:10:10 +0000 (16:10 -0700)]
PR feedback
- Simplify CountNumberOfLeadingAsciiBytesFrom24BitInteger
- Extract some consts out to top of file w/ comments

5 years agoDon't denormalize enum return values on instance methods on x86. (#23816)
Jeremy Koritzinsky [Tue, 9 Apr 2019 22:28:00 +0000 (15:28 -0700)]
Don't denormalize enum return values on instance methods on x86. (#23816)

* Don't denormalize enum return values on instance methods on x86.

* Reuse closedElemType.

5 years agoAlter CCW wrapping semantics (#23709)
Aaron Robinson [Tue, 9 Apr 2019 22:07:34 +0000 (15:07 -0700)]
Alter CCW wrapping semantics (#23709)

* Update CCW semantics to not unwrap when a managed COM server was activated
  from a managed COM client. This is a functional change from .NET Framework.

* Add support for CoreShim to "attach" to the existing CLR instance when
 running from a CoreRun scenario.

* Add testing for NET COM client activating a NET COM server

5 years agoPR feedback: GetElement(0) -> Sse2.StoreLow
Levi Broderick [Tue, 9 Apr 2019 21:42:52 +0000 (14:42 -0700)]
PR feedback: GetElement(0) -> Sse2.StoreLow

5 years agoMerge remote-tracking branch 'origin/master' into utf8_validation_apis_3
Levi Broderick [Tue, 9 Apr 2019 21:32:03 +0000 (14:32 -0700)]
Merge remote-tracking branch 'origin/master' into utf8_validation_apis_3

5 years agoDestroy the old tree in `optAssertionProp_Update`.
Sergey Andreenko [Wed, 27 Mar 2019 00:06:29 +0000 (17:06 -0700)]
Destroy the old tree in `optAssertionProp_Update`.

Currently compiletion will fail with an assert because of `optPrepareTreeForReplacement`.

5 years agoDelete condition that was previously checked with noway_assert.
Sergey Andreenko [Tue, 26 Mar 2019 22:34:24 +0000 (15:34 -0700)]
Delete condition that was previously checked with noway_assert.

5 years agoExclude PInvokes declared on other modules. We don't yet encode crossmodule reference...
Fadi Hanna [Tue, 9 Apr 2019 19:43:38 +0000 (12:43 -0700)]
Exclude PInvokes declared on other modules. We don't yet encode crossmodule references (#23828)

* Exclude PInvokes declared on other modules. We don't yet encode cross module references

5 years agoUnconditionally set CrossGenTest to false for readytorun/tests/mainv1 mainv2 (#23826)
Egor Chesakov [Tue, 9 Apr 2019 19:16:51 +0000 (12:16 -0700)]
Unconditionally set CrossGenTest to false for readytorun/tests/mainv1 mainv2 (#23826)

5 years agoGroup XUnitWrapper.dll into the same Payloads when submit to Helix (#23476)
Egor Chesakov [Tue, 9 Apr 2019 18:00:25 +0000 (11:00 -0700)]
Group XUnitWrapper.dll into the same Payloads when submit to Helix (#23476)

* Add DisplayNameAttribute to each Fact

* Split files under bin/tests folder into groups and specify the corresponding *.XUnitWrapper.dll

* Group some of the *.XUnitWrapper.dll files into PayloadGroups and split others into different PayloadGroups if they have more than one TestGroup defined

* Add "TestGroup" trait to XUnitWrapper facts

* Add Microsoft.DotNet.XUnitConsoleRunner to eng\Versions.props

* Overwrite xunit.console.dll with the version coming from Microsoft.DotNet.XUnitConsoleRunner

5 years agoUpdate CoreClr to preview5-27609-71 (#23809)
dotnet-maestro-bot [Tue, 9 Apr 2019 15:54:13 +0000 (08:54 -0700)]
Update CoreClr to preview5-27609-71 (#23809)

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190408.16 ...
dotnet-maestro[bot] [Tue, 9 Apr 2019 15:52:56 +0000 (11:52 -0400)]
Update dependencies from https://github.com/dotnet/core-setup build 20190408.16 (#23836)

- Microsoft.NETCore.App - 3.0.0-preview5-27608-16

5 years agoImprove RuntimeHelpers.GetSubArray (#23829)
Stephen Toub [Tue, 9 Apr 2019 11:21:40 +0000 (07:21 -0400)]
Improve RuntimeHelpers.GetSubArray (#23829)

* Improve RuntimeHelpers.GetSubArray

This change does three things.

First, it fixes `GetSubArray` to work when the supplied array is actually a `U[]` where `U : T`.  Currently this case ends up throwing an exception inside of span, which doesn't like working with arrays covariantly.

Second, it fixes argument validation so that we throw an ArgumentNullException if the input array is null rather than NullReferenceException.

Third, it improves the performance of `GetSubArray` for the 95% common case where either `T` is a value type or the type of the array matches the `T` type specified.

* Only use `Array.Empty<T>` when `typeof(T[]) == array.GetType()`

5 years agoRemove exclusion for System.Threading.Tasks.Tests (#23818)
Vladimir Sadov [Tue, 9 Apr 2019 03:58:37 +0000 (20:58 -0700)]
Remove exclusion for System.Threading.Tasks.Tests (#23818)

* Update exclusion for System.Threading.Tasks.Tests

There is a race in the test, which causes failures in various stress runs. And that is not Linux specific.

The failure is addressed in https://github.com/dotnet/corefx/pull/36645
This is to update the exclusion lists to make it not just for Linux and to link to the fix PR, so that it could be tracked when it makes it into coreclr.

* Update corefx_test_exclusions.txt

* Update corefx_test_exclusions.txt

5 years agoFix several issues
Jan Vorlicek [Tue, 9 Apr 2019 00:50:28 +0000 (02:50 +0200)]
Fix several issues

* Fix build on OSX and Linux machines without NUMA installed - there were
couple of places where I was missing ifdefs
* Fix bug in nodeMaskLength computation
* Remove testing change in eeconfig.cpp that has leaked into the PR
* Fix GCToOSInterface::GetTotalProcessorCount for embedded GC to return
all processors on the system, not just the ones enabled for the current
process.

5 years agoMerge pull request #23739 from briansull/struct-cse
Brian Sullivan [Tue, 9 Apr 2019 01:04:29 +0000 (18:04 -0700)]
Merge pull request #23739 from briansull/struct-cse

Block the hoisting of TYP_STRUCT rvalues in loop hoisting

5 years agoRemove Unix CPU groups emulation
Jan Vorlicek [Fri, 5 Apr 2019 00:53:32 +0000 (02:53 +0200)]
Remove Unix CPU groups emulation

This change removes CPU groups emulation from Unix PAL and modifies the
GC and thread pool code accordingly.

5 years agoMerge pull request #23752 from adityamandaleeka/arm64_clrww
Aditya Mandaleeka [Mon, 8 Apr 2019 23:18:36 +0000 (16:18 -0700)]
Merge pull request #23752 from adityamandaleeka/arm64_clrww

Enable CLR write watch for ARM64 Windows

5 years agoBlock the hoisting of TYP_STRUCT rvalues in loop hoisting
Brian Sullivan [Thu, 4 Apr 2019 20:42:27 +0000 (13:42 -0700)]
Block the hoisting of TYP_STRUCT rvalues in loop hoisting
Added test case GitHub_23739.cs

5 years agoSimplify vectorized logic; remove unnecessary adjustment
Levi Broderick [Mon, 8 Apr 2019 22:21:33 +0000 (15:21 -0700)]
Simplify vectorized logic; remove unnecessary adjustment

5 years agoMerge pull request #23814 from sandreenko/disableSystemIOTestsCorefx
Sergey Andreenko [Mon, 8 Apr 2019 22:06:52 +0000 (15:06 -0700)]
Merge pull request #23814 from sandreenko/disableSystemIOTestsCorefx

Diable CoreFX System.IO.Tests.dll on windows arm64.

5 years agoClarify that vector read is unaligned
Levi Broderick [Mon, 8 Apr 2019 21:53:29 +0000 (14:53 -0700)]
Clarify that vector read is unaligned

5 years agoMerge pull request #23251 from mjsabby/largePagesInGC
Jan Vorlicek [Mon, 8 Apr 2019 20:48:20 +0000 (22:48 +0200)]
Merge pull request #23251 from mjsabby/largePagesInGC

Add Large pages support in GC

5 years agoMerge pull request #23813 from wtgodbe/PrevAgain
William Godbe [Mon, 8 Apr 2019 19:04:16 +0000 (12:04 -0700)]
Merge pull request #23813 from wtgodbe/PrevAgain

Re-update branding to preview5

5 years agoMerge remote-tracking branch 'origin/master' into utf8_validation_apis_3
Levi Broderick [Mon, 8 Apr 2019 19:00:20 +0000 (12:00 -0700)]
Merge remote-tracking branch 'origin/master' into utf8_validation_apis_3

5 years agoRemove the MultiFileSec option from EventPipe. (#23777)
José Rivero [Mon, 8 Apr 2019 18:54:19 +0000 (11:54 -0700)]
Remove the MultiFileSec option from EventPipe. (#23777)

This option was a pseudo mechanism to fake "streaming" events out-of-proc.
The idea was to have EventPipe creating files every N seconds, with event data up to that point. Thus, external processes could read these files in an attempt to get "read-time" data.
Now, we actually have streaming of event through IPC channels, so this option is not needed.

5 years agoMerge pull request #23715 from BruceForstall/FixArmStackProbing
Bruce Forstall [Mon, 8 Apr 2019 18:13:09 +0000 (11:13 -0700)]
Merge pull request #23715 from BruceForstall/FixArmStackProbing

Fix ARM32/ARM64 large frame stack probing

5 years agoAdd Large pages support in GC
Mukul Sabharwal [Fri, 29 Mar 2019 04:33:24 +0000 (21:33 -0700)]
Add Large pages support in GC

5 years agoDiable CoreFX System.IO.Tests.dll on windows arm64.
Sergey Andreenko [Mon, 8 Apr 2019 16:34:05 +0000 (09:34 -0700)]
Diable CoreFX System.IO.Tests.dll on windows arm64.

5 years agoRe-update branding to preview5
wtgodbe [Mon, 8 Apr 2019 16:28:55 +0000 (09:28 -0700)]
Re-update branding to preview5

5 years agoMerge pull request #23801 from sergiy-k/enabler2rtestingonunix
Sergiy Kuryata [Mon, 8 Apr 2019 15:07:07 +0000 (08:07 -0700)]
Merge pull request #23801 from sergiy-k/enabler2rtestingonunix

Enable running tests in the ReadyToRun mode on Linux on OSX

5 years ago[master] Update dependencies from dotnet/arcade (#23797)
dotnet-maestro[bot] [Mon, 8 Apr 2019 14:59:23 +0000 (10:59 -0400)]
[master] Update dependencies from dotnet/arcade (#23797)

* Update dependencies from https://github.com/dotnet/arcade build 20190406.5

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19206.5
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19206.5

* Update dependencies from https://github.com/dotnet/arcade build 20190407.1

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19207.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19207.1