Age | Commit message (Collapse) | Author | Files | Lines |
|
* EnterContextualReflection handle null
* Add ContextualReflection MockAssembly test
* Fix ContextualReflection typo
|
|
Explorer (#23957)
|
|
|
|
|
|
* 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
|
|
* 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
|
|
Update maximum allowed arm prolog size
|
|
* 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
|
|
|
|
(#23964)
- Microsoft.NETCore.Platforms - 3.0.0-preview5.19212.14
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19212.14
|
|
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.
|
|
|
|
Fix arm64 localloc with large outgoing argument space
|
|
* 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
|
|
* 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
|
|
* 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
|
|
|
|
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.
|
|
Changing the test to run on runtimes that supports lookups with runtime determined boxing and on runtimes that doesn't support.
|
|
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).
|
|
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
|
|
* 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
|
|
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.
|
|
* Consolidate duplicate assignment.
|
|
Enable precompiling CoreRoot overlay with crossgen for Linux arm/arm64
|
|
|
|
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.
|
|
|
|
custom xunit.console.dll runner. (#23848)
|
|
|
|
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
|
|
Assembly.LoadFromPartialName(string) should not throw FileNotFoundException, but
should rather return null.
ArgumentException should use nameof(partialName)
Fixes #19817
|
|
|
|
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.
|
|
Adjust AssemblyLoadContextBaseObject packing for
windows arm.
|
|
(#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
|
|
|
|
|
|
|
|
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20190410.11 (#23894)
- Microsoft.NETCore.App - 3.0.0-preview5-27610-11
|
|
* 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
|
|
|