summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-04-13EnterContextualReflection handle null (#23953)Steve MacLean4-107/+154
* EnterContextualReflection handle null * Add ContextualReflection MockAssembly test * Fix ContextualReflection typo
2019-04-13Use xUnit TestOutputHelper to get proper test output in Azure DevOps Tests ↵Egor Chesakov1-29/+46
Explorer (#23957)
2019-04-13Delete outdated comment (#23967)Jan Kotas1-4/+0
2019-04-13Remove unnecessary ThrowIfCreated call (#23839)Next Turn1-2/+0
2019-04-13[master] Update dependencies from dotnet/arcade (#23926)dotnet-maestro[bot]2-6/+6
* Update dependencies from https://github.com/dotnet/arcade build 20190412.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19212.2 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19212.2
2019-04-13Fix ARM's genPutArgStk codegen (#23867)mikedn3-2/+105
* Fix ARM's genPutArgStk codegen When the OBJ node wraps a LCL_VAR node the code uses the type information (struct size, GC layout) from LclVarDsc. This is not always correct because the OBJ may actually have a different struct type due to type reinterpretation (e.g. Unsafe.As<X, Y>). * Fix genPutArgStk comment
2019-04-13Merge pull request #23948 from BruceForstall/Fix23920Bruce Forstall6-10/+34
Update maximum allowed arm prolog size
2019-04-13Move DateTime Windows implementation to shared CoreLib (#23888)Filip Navara16-147/+427
* Move DateTime Windows implementation to shared CoreLib * Make all the BOOL/struct marshalling explicit * internal -> private * Use unsafe code on all layers, remove unnecessary fixed blocks
2019-04-13Delete outdated commentJan Kotas1-4/+0
2019-04-13Update dependencies from https://github.com/dotnet/corefx build 20190412.14 ↵dotnet-maestro[bot]2-6/+6
(#23964) - Microsoft.NETCore.Platforms - 3.0.0-preview5.19212.14 - Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19212.14
2019-04-13Delete COMPlus_FinalizeOnShutdown (#23595)Jan Kotas27-825/+43
This compat quirk is increasingly more broken since the framework is generally not compatible with, and we have not heard anybody actually using it. Changed Environment.HasShutdownStarted to unconditionally return false. It does not make sense for it to ever return true with shutdown finalization disabled.
2019-04-12Exclude ResolveEventTests.cmd and CallbackTests.cmd on Windows_NT x86 (#23942)Egor Chesakov1-0/+6
2019-04-12Merge pull request #23935 from BruceForstall/FixArm64LargeOutgoingWithLocallocBruce Forstall1-6/+9
Fix arm64 localloc with large outgoing argument space
2019-04-12Fix EventPipe IPC streaming (#23768)Sung Yoon Whang6-6/+22
* Make events stream out faster when we are doing IPC * Block size should be less during IPC session * Modify some comments * Address PR feedback * more pr feedback * Fix high volume scenario * Fix flush * cleanup * Only flush when we have buffers written
2019-04-12Fix x86 stack probing (#23881)Bruce Forstall11-78/+600
* Fix x86 stack probing On x86, structs are passed by value on the stack. We copy structs to the stack in various ways, but one way is to first subtract the size of the struct and then use a "rep movsb" instruction. If the struct we are passing is sufficiently large, this can cause us to miss the stack guard page. So, introduce stack probes for these struct copies. It turns out the stack pointer after prolog probing can be sitting near the very end of the guard page (one `STACK_ALIGN` slot before the end, which allows a "call" instruction which pushes its return address to touch the guard page with the return address push). We don't want to probe with every argument push, though. So change the prolog probing to insert an "extra" touch at the final SP location if the previous touch was "too far" away, leaving at least some buffer zone for un-probed SP adjustments. I chose this to be the size of the largest SIMD register, which also can get copied to the argument stack with a "SUB;MOV" sequence. Added several test case variations showing different large stack probe situations. Fixes #23796 * Increase the argument size probe buffer * Formatting
2019-04-12[master] Update dependencies from dotnet/corefx (#23893)dotnet-maestro[bot]84-1872/+1761
* Update dependencies from https://github.com/dotnet/corefx build 20190411.2 - Microsoft.NETCore.Platforms - 3.0.0-preview5.19211.2 - Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19211.2 * Update dependencies from https://github.com/dotnet/corefx build 20190411.22 - Microsoft.NETCore.Platforms - 3.0.0-preview5.19211.22 - Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19211.22 * Removing renamed HWIntrinsic APIs from S.P.Corelib * Updating the hwintrinsiclistxarch to match the new intrinsic API names * Updating the HWIntrinsic generated tests to use the new API names
2019-04-12Add R2R prefix to TestRunNamePrefix when running ReadyToRun jobs (#23945)Egor Chesakov1-2/+3
2019-04-12Fix OSX debugging (#23924)Jan Vorlicek2-3/+4
A recent change has incorrectly added dependency on libcoreclrpal.a to libutilcodenohost.a. This in turn, due to the transitive propagation of dependencies, caused the libmscordbi to be linked with libcoreclrpal.a. So libmscordbi contained its own PAL after that change, which is wrong. libmscordbi should depend on PAL APIs through libmscordaccore that exports the symbols it needs for it in order to keep just one PAL in the process. The fix is to remove the libcoreclrpal.a dependency and export few new symbols from libmscordaccore instead.
2019-04-12Fix DIM Test to run on mono (#23870)Thays Grazia2-8/+8
Changing the test to run on runtimes that supports lookups with runtime determined boxing and on runtimes that doesn't support.
2019-04-12Display the arm instruction sizeBruce Forstall4-7/+29
When dumping an arm instruction, and when we don't have the actual code bytes (such as during code generation, as opposed to emission), display the (current) instruction size, either 2 bytes (2B), 4 bytes (4B), or 6 bytes (6B).
2019-04-12Update maximum allowed arm prolog sizeBruce Forstall2-3/+5
Change #23715 changed the localloc stack probe loop to load a negative constant instead of zero to start the probing loop. This increased the size of the probing loop, and hence the size of the maximum prolog, by 4 bytes. Bump the assert on the maximum size to match. Note that as the comment says, the maximum size there is not actually a maximum (it was originally), it is just to alert us when the maximum generated prolog size has gone up. Fixes #23920
2019-04-12Don't Free UpperVector (#23889)Carol Eidt4-23/+131
* 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
2019-04-12Fix arm64 localloc with large outgoing argument spaceBruce Forstall1-6/+9
With a large outgoing argument space, we were attempting to generate un-encodable ADD and SUB instructions. Call an existing helper instead that uses the reserved register when needed to load large constants into a register.
2019-04-12Consolidate duplicate assignment (#23923)bdebaere1-2/+1
* Consolidate duplicate assignment.
2019-04-12Merge pull request #23900 from sergiy-k/fixcrossarchr2r1Sergiy Kuryata1-5/+2
Enable precompiling CoreRoot overlay with crossgen for Linux arm/arm64
2019-04-12Add several links to deep-dive blog postsStephen Toub1-0/+2
2019-04-12JIT: update byref null check logic to handle field chains (#23850)Andy Ayers3-9/+97
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.
2019-04-12Enable precompiling CoreRoot overlay with crossgen for Linux arm/arm64Sergiy Kuryata1-5/+2
2019-04-11Enable default Ready2Run testing in pull requests. Workaround an issue with ↵Egor Chesakov3-1/+22
custom xunit.console.dll runner. (#23848)
2019-04-11Remove duplicates. (#23922)bdebaere1-2/+0
2019-04-11Add optimized UTF-8 validation and transcoding apis, hook them up to ↵Levi Broderick19-2430/+4227
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
2019-04-11Fix Assembly.LoadFromPartialName(string) (#23912)Steve MacLean1-1/+11
Assembly.LoadFromPartialName(string) should not throw FileNotFoundException, but should rather return null. ArgumentException should use nameof(partialName) Fixes #19817
2019-04-11Update CoreClr to preview5-27611-71 (#23884)dotnet-maestro-bot2-3/+3
2019-04-11Fix Version's comparer operators to allow null (#23898)Stephen Toub2-5/+15
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.
2019-04-11Fix 23740 (#23906)Steve MacLean1-4/+4
Adjust AssemblyLoadContextBaseObject packing for windows arm.
2019-04-11JIT: fix assert when there are mixed types in Enum.HasFlags optimization ↵Andy Ayers3-9/+42
(#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
2019-04-11Clarify comment in 3-byte processingLevi Broderick1-2/+2
2019-04-11Add missing check to 3-byte processing logicLevi Broderick1-1/+4
2019-04-11PR feedback: Clarify 3-byte sequence processingLevi Broderick2-6/+21
2019-04-11Disable nullability-related warningsJan Kotas1-0/+1
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-04-11Fix compilation failure in Utf16UtilityLevi Broderick1-1/+1
2019-04-11PR feedback: document tempUtf8CodeUnitCountAdjustment usageLevi Broderick1-5/+18
2019-04-11PR feedback: Clarify charIsNonAscii vector usageLevi Broderick1-0/+11
2019-04-11PR feedback: Validate nint definitionsLevi Broderick4-0/+34
2019-04-11PR feedback: Remove redundant endianess checksLevi Broderick1-2/+4
2019-04-11PR feedback: CountNumberOfLeadingAsciiBytesFrom24BitIntegerLevi Broderick3-15/+46
2019-04-11PR feedback: Fix typosLevi Broderick2-12/+12
2019-04-11Update dependencies from https://github.com/dotnet/core-setup build ↵dotnet-maestro[bot]2-3/+3
20190410.11 (#23894) - Microsoft.NETCore.App - 3.0.0-preview5-27610-11
2019-04-11[master] Update dependencies from dotnet/arcade (#23834)dotnet-maestro[bot]4-6/+16
* 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
2019-04-11Renaming 'failure' in counter tests (#23891)Sung Yoon Whang2-19/+19