Age | Commit message (Collapse) | Author |
|
|
|
We never don't track the value of locals who have their address taken in a method, since their value can change without the pass detecting it, leading to propagation of incorrect values. We failed to check for this when doing a stloc.np optimization.
Fixes System.Reflection.Metadata.Tests.ImmutableByteArrayInteropTest.DangerousCreateFromUnderlyingArray
Enable more interp tests, which don't seem to fail on my machine.
|
|
exception objects (#18905)
Enable the entire System.Linq.Expressions suite with interpreter
|
|
See https://github.com/mono/mono/issues/18695, it's most likely fixed in dotnet/runtime already but we can't easily get updated binaries into mono/mono.
|
|
Fixed by https://github.com/mono/mono/commit/9ea350ed3c963c77f0f4f77ec590cc3c84773424
|
|
Follow-up for https://github.com/mono/mono/pull/18480
We might want to replace calls to this with an intrinsic
|
|
(#18480)
* [runtime] NOHANDLES for ves_icall_System_Threading_Thread_GetCurrentThread
This function (and its call to mono_handle_new) was showing up in the
flamegraph for some async-heavy benchmarks
|
|
CoreCLR has a managed cache surrounding this, but for the moment the naive implementation will suffice. We can later move their managed cache to shared on top of this PR with minimal trouble.
We can't guarantee the id will be [0..CpuCount) for a variety of reasons, and a followup PR to the dotnet docs will clarify this. I've chosen not to intentionally add an offset, but no one should be relying on that behavior, and if someone thinks adding an offset would drive the point home the perf cost is irrelevant.
|
|
1. Update `build.sh` to use `--enable-checked-build=private_types` which forces the use of getter methods to access `MonoClass` fields.
2. Fix up some places that were accessing MonoClass directly.
3. Get rid of a spurious comma operator usage from an earlier refactoring:
```c
z = a, b, c;
```
is the same as
```c
z = a; b; c;
```
which is the same as just `z = a;` if `b` and `c` have no side-effects.
|
|
System.Diagnostics.TraceSourceTests.DefaultTraceListenerClassTests.EntryAssemblyName_Null_NotIncludedInTrace Pass (#18403)
* [netcore] Extract Assembly.GetEntryAssembly method to shared part
|
|
* Implement SSE41 subset used by corlib
* Implement Sse2.MoveMask
* only works with llvm
* Implement Sse3 and Ssse3 subsets used by corlib
* Implement a few SSE1 methods
* Address feedback, also, implement Sse.Add/Subtract
* Fix build
* Implement Sse.Multiply, Sse.Store
* Implement Sse.CompareNotEquals
* Implement Sse.MoveScalar
* Finish SSE1 corlib subset
* Implement Sse.LoadVector128, Sse.Shuffle
* Sse.Shuffle cleanup
* Implement Sse2 APIs
* More of SSE2: LoadAlignedVector128, Compare*
* Implement Sse2.Unpack* and Sse2.StoreScalar
* Implement Sse2.PackUnsignedSaturate
* Implement Sse2.ShiftRightLogical
* Implement Sse2.Shuffle
* Implement Vector128<T>.Zero
* Fix CreateScalarUnsafe
* Implement Vector128.As*, Fix Vector128.CreateScalarUnsafe
* Fix failures
* Fix failures
* Fix Sse.MoveMask
* remove redundant null checks
* Fix AOT failures
* fix compilation warrning
* rename create_vector_mask_*
* Fix failures found via tests
* Index in Sse41.Insert has to be a constant
* add local tests for mono
* Update tests (cleanup)
* Code cleanup
* test
* fix typo
* Clean up
* Clean up
* Implement And, AndNot, Or, Xor, Divide for Sse1
* Cleanup
* Fix build
* limit emit_vector128 with LLVM
* enable IsSupported for corlib
* Fix build on wasm (if-defs issue)
* Don't intrinsify Vector256
* Address feedback
|
|
System.Diagnostics.Tests.ProcessTests.ProcessStart_UseShellExecute_ExecuteOrder (#18397)
#14903
|
|
Fixes https://github.com/mono/mono/issues/18061
|
|
Updated test to follow in dotnet/runtime
|
|
|
|
|
|
* Set thread pool thread name just based on string pointer check.
When the generation-based solution went in, there were not
yet constant thread names, so a pointer based approach could fail
due to reuse. We can do slightly simpler now.
* Remove the generation field which is no longer needed.
Remove the duplicated knowledge of how to set a constant and put
it behind a funny sounding but perhaps reasonable flag.
Revise corlib version.
|
|
* [System.Private.CoreLib] Cleanup intrinsic tracking
1. Removed icalls where intrinsic version for the method exists
2. Add [Intrinsic] attribute to methods which have runtime intrinsic
to make them easier to track and to tell linker not to analyze them
3. Use recursive syntax for any intrinsic which can be called via
reflection to correctly apply the intrinsic when invoked.
```c#
public static bool IsSupported { get => IsSupported; }
```
When one calls X86.IsSupported, the call gets replaced by an
intrinsics. When one calls it with an Invoke, the body of IsSupported
gets replaced by intrinsics. It's just a hack to get Invoke support for free.
* [interp] implement System.Type::op_Equality
* Undo changes which are not yet supported by interpreter
* [interp] Implement System.Runtime.CompilerServices.RuntimeHelpers::OffsetToStringData
Co-authored-by: Bernhard Urban-Forster <bernhard.urban@xamarin.com>
|
|
|
|
they are actually used.
|
|
|
|
|
|
(#18272)
* [loader] Rename assembly name check strictness flag
* [loader] Add predicate for assembly name matching on netcore
* [loader] Enable LoadInDefaultContext test
* Make mono_assembly_names_equal external, change flags in domain search
* Move ifdef inside mono_loader_get_strict_assembly_name_check
* Fix pedump
* No reason to make this external
* Feedback
|
|
* [reflection] Avoid creating object[] in GetCustomAttributesBase
* [reflection] Migrate Attribute type checking to CustomAttribute.cs
|
|
|
|
|
|
(#18219)
|
|
|
|
|
|
I don't remember why this wasn't enabled originally, but it seems to be passing now. I probably accidentally fixed it back when I made changes to our assembly name parsing.
|
|
|
|
This is no longer called in netcore builds as of a while ago, so get rid of it and the corresponding linker exclusion.
|
|
* Enable more tests
* fix build?
* forward XUNIT_MONO_ENV_OPTIONS
* increase timeout
* ignore some tests for interpreter
* ignore more tests
* move interp specific issues to a separate rsp
* fix CI
* fix CI
* undo build.sh chmod
* revert chmod for xunit-summary-py
* improve xunit summary
* Ignore the whole System.Net.Tests namespace
* Ignore System.Text.Json
* disable the whole BinaryFormatterTests
* Disable System.Net.Http.Functional.Tests
|
|
LLVM: use fneg instead of fsub for `-x`
|
|
|
|
|
|
|
|
use `objdump` arguments to reduce verbosity (no raw bytes, etc) and make the dasm more diff-friendly.
On Linux all functions have a random prefix (address) - replace it with `0xD1FFAB1E` constant). On macOS it's fine by default.
Also, allow to generate diffs for a single assembly via `dump-asm-lib` rule.
|
|
|
|
|
|
|
|
The test is wrong, will be fixed upstream.
|
|
* [wasm] Compile corelib as 32 bit.
* [wasm] Add a netcore cross compiler.
* [wasm] Add netcore+aot support.
* [aot] Load the dedup module lazily instead of at startup.
The previous version didn't work on netcore because it couldn't resolve references to corlib etc.
since they were not yet registered in the root domain at the time of loading.
* Add more icall trampoline signatures.
* Add more netcore pinvokes.
* Fix the build.
* Add more icall trampoline signatures.
* Add an --embed-file option to the packager.
* Add more netcore pinvokes.
* [interp] Return FALSE for IsDynamicCodeCompiled.
* Add a netcore project and targets for running BenchmarkDotNet.
* Fix pinvoke tables.
* Add missing files.
* Fix make clean.
* Add a comment.
* Revert "Fix pinvoke tables."
This reverts commit 998065e77614b7e621d2873510aabc3930669ca9.
* Make xunit-runner into a dotnet project. Add a netcore version.
|
|
* Run tests with interp and llvm
* fix build
* Run tests with llvm
* Add a few tests to rsp for LLVM
|
|
|
|
dotnet/corefx (#17690)
* Update dependencies from https://github.com/dotnet/arcade build 20191102.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19552.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19552.1
* Update dependencies from https://github.com/dotnet/core-setup build 20191104.1
- Microsoft.NETCore.App - 5.0.0-alpha.1.19554.1
* Update dependencies from https://github.com/dotnet/corefx build 20191103.8
- Microsoft.Private.CoreFx.NETCoreApp - 5.0.0-alpha.1.19553.8
* Update dependencies from https://github.com/dotnet/arcade build 20191108.11
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19558.11
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19558.11
* Update dependencies from https://github.com/dotnet/core-setup build 20191109.5
- Microsoft.NETCore.App - 5.0.0-alpha.1.19559.5
* Update dependencies from https://github.com/dotnet/corefx build 20191109.6
- Microsoft.Private.CoreFx.NETCoreApp - 5.0.0-alpha.1.19559.6
* Update dependencies from https://github.com/dotnet/arcade build 20191117.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19567.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19567.2
* Update dependencies from https://github.com/dotnet/core-setup build 20191114.1
- Microsoft.NETCore.App - 5.0.0-alpha.1.19564.1
* Update dependencies from https://github.com/dotnet/corefx build 20191113.6
- Microsoft.Private.CoreFx.NETCoreApp - 5.0.0-alpha.1.19563.6
* Use NETCoreApp version 5.0.0-alpha.1.19563.3
Later versions have an issue and the new dotnet/runtime assets aren't ready yet.
* Disable failing tests
* Fix merge error
|
|
It looks like the mirror didn't fully quiesce prior to snapping coreclr/corefx for the runtime consolidation. As a result the libraries build is breaking.
Signed-off-by: dotnet-bot <anirudhagnihotry098@gmail.com>
|
|
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
Fix NetStandard issue in System.IO.FileSystem.AccessControl
We built the fix incorrectly so that it would only apply for netcoreapp3.0 but customer needs it on netstandard2.0 (desktop + core). Customer impact is that they’ll see a PlatformNotSupported exception rather than the new API.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|