Age | Commit message (Collapse) | Author | Files | Lines |
|
* Cleanup Array FCalls
* Disable outdated CoreFX tests
https://github.com/dotnet/corefx/pull/34700
|
|
|
|
arguments
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
|
|
This function was recently changed to just return the
MethodDesc::GetLoaderAllocator. This is a cleanup that removes the
function completely and replaces all of its usages.
|
|
As fair as I can tell `ECWGCFCrawlCallBack(..)` is not wired-up anywhere (I've successfully compiled CoreCLR locally with this change under `x86` and `x64`)
|
|
Fixes https://github.com/dotnet/coreclr/issues/22082
|
|
|
|
And disable Windows_NT and Ubuntu arm32 and arm64 default triggers in Jenkins CI
|
|
This change adds superpmi.py. The tool feature three modes, collection, replay, and asmdiffs.
Collection
The collection logic is very similar to the logic in our superpmi-collect test. Mostly it just allows running a script which will run managed code and it will produce a .mch which is clean to be run against. See superpmi.md for more information on specific usage and problems.
Replay
Replay will take an existing .mch file and run the current jit over the collection. If there is no .mch file on disk, the script will download the latest collection and run against that.
AsmDiffs
superpmi.md has the latest information on what platforms support asmdiffs. So far, I have an updated OSX and Windows collection that I have run against. If there are binary diffs, the tool will automatically generate base & diff folders with the asm under each one. Future work would include automatically running jit-analyze over those locations.
In addition, the tool has the option to automatically run and diff jit dumps, I have found this to be useful to looking into diffs created, as re-running superpmi with different jits to collect this same information is somewhat tedious.
Future work
This change is in no way the end of the work needed to leverage superpmi effectively. Instead, it is a good first step. Below are some suggestions for future superpmi work:
Automated collections
Add pmi collection support
Leverage some of the new corefx work to use superpmi shim for collections of corefx runs
To be added/changed
I will unset zapdisable being set by default, it creates too much data, although it is useful it should be opt in
Will include example usage in superpmi.md.
|
|
* Move AsyncCausality to shared partition
* Set FeatureAsyncCausalityTracer property
|
|
* Re-enable signing for System.Private.CoreLib
Now that https://github.com/dotnet/arcade/issues/1582 is fixed.
Addresses https://github.com/dotnet/coreclr/issues/21946.
* Use uppercase build config
For consistency with other builds. Doesn't impact functionality, but
will result in the build logs showing the bin directory with the
uppercase build config during this step.
* Override arcade version of SignTool package
|
|
Add Per-assembly Load Native Library callbacks
This Change implements the Native Library resolution
Call-backs proposed in https://github.com/dotnet/corefx/issues/32015
|
|
* Update dependencies from https://github.com/dotnet/arcade build 20190116.1
This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19066.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19066.1
* Update dependencies from https://github.com/dotnet/arcade build 20190117.6
This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19067.6
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19067.6
|
|
I took the liberty of marking the types containing the hardware intrinsics as [Intrinsic] to avoid doing a name check on everything in the system module. It feels like we should take advantage of this attribute in CoreCLR too.
This doesn't actually enable the support because RyuJIT unconditionally disables HW intrinsics for prejit (both CoreRT and CPAOT are considered prejit). We might want to do something about this on the RyuJIT side to address that (for CPAOT, to be able to pregenerate best code possible ahead of time, assuming a fixed ISA; and for CoreRT without JIT, where the concerns about AVX-SSE penalty don't apply). See conversation in dotnet/coreclr#21603
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
This adds handling for the interface dispatch corner case where:
* We have a constrained callsite to a method on a generic interface in shared code
* The callsite cannot be statically resolved because the result of dispatch depends on the generic context
* At runtime, the dispatch resolves to a default interface method
This would require us to have infrastructure to build "boxing thunks" - thunks that would box their first argument before dispatching to the default interface method implementation.
Since this is a corner case and the fix is actually quite involved, we're making the runtime just throw in this situation.
The test is written so that it should pass both if the runtime chooses to throw, or if the runtime makes the boxing thunk (we're not hardcoding the implementation limitation).
|
|
We need to use the module of the interface.
Fixes #22021.
|
|
this next (#22054)
* Add comments on headers that gets parsed by Mono linker for whoever touches this next
* add more comments to the targets file
|
|
Rather than having Environment partially live in corefx and call into an EnvironmentAugments type in CoreLib that in turn calls into an Environment type in CoreLib, we're just moving Environment to live in CoreLib.
To start that, this PR moves Environment and its dependencies from their current locations into the shared CoreLib. Those changes will mirror over to coreclr. After that, I'll fix it up to work in CoreLib. And once those changes are built and available back to corefx, I'll update System.Runtime.Extensions to just use the functionality from CoreLib and delete remaining unnecessary code from corefx.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
* Move most of xplatform.h into platformdefines.h and clean up the interop CMake files.
* Fix build-break off Windows.
* Fix typo.
* Fix another break off-Windows.
* Fix signed/unsigned mismatch
|
|
* Disable JIT.Methodical/doublearray/dblarray3_cs_do
* Disable readytorun.r2rdump/R2RDumpTest
* Disable RedHat.6.Amd64.Open queue
* Rename Creator coreclr/pulls -> coreclr-pulls
* IsExternal is deprecated as of https://github.com/dotnet/arcade build 20190115.6
* Increase timeout for all test jobs
|
|
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-03617-02, preview-27316-02, preview.19066.1, master-20190116.5, respectively (master)
|
|
* Remove ToString from RuntimeAssembly.GetManifestResourceStream
A small allocation we can avoid with the span-based string.Concat.
* Address PR feedback
|
|
preview-27316-02, preview.19066.1, master-20190116.5, respectively
|
|
(#22006)
* Split up ContractsBCL into separate classes.
* Move remaining Contract, ContractHelper code to shared partition.
* Split ContractHelper to allow custom debugging experience in CoreRT.
* Simplify ContractHelper.InternalContractFailed.
* Use resource loading code from CoreRT.
* Remove unused parameter.
|
|
Some unnecessary Span to ReadOnlySpan casts.
Some places where new Span(...).Slice(...) can be replaced with AsSpan(...).
Etc.
|
|
|
|
* Avoid allocations in Utf8Formatter.TryFormat(float/double, ...)
Currently every call to Utf8Formatter.TryFormat for a float or a double allocates two strings, one for the format string and one for the resulting number. This avoids those in the common case where we can use float/double.TryFormat and format directly into a stack buffer. Also removes some unsafe code; the performance of StandardFormat.ToString isn't currently worth the extra nanoseconds gained by using unsafe code.
* Delete assert
There's a test that uses unsafe code to cause this to fail and validate that no exception is thrown.
|
|
Re-enable Avx.PermuteVar tests
|
|
|
|
|
|
Remove file moved to shared partition.
Fix builds without FeatureCominterop.
|
|
* Move AsyncMethodBuilder to shared.
* Bring back PROJECTN.
* #if-out TrackAsyncMethodCompletion for CoreRT.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
|
|
(#22007)
This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19065.6
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19065.6
|
|
Fix two cases of FP-relative immediate offsets possibly not encodable
|
|
|
|
* Update linux/OSX build instructions
* Update based on feedback
* Address PR feedback
* Update to address feedback
|
|
* Move more SSE2 tests to the template
* Improve Insert test template to involve more codegen situations
* Fix imm-operand encoding for SSE/AVX instructions
|
|
* Fix generate_layout_only
* Correctly add all opons
* Clean run for cross built device
|
|
tests/issues.targets
|
|
Related issue: https://github.com/dotnet/coreclr/issues/21698
|
|
|
|
|
|
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
|
|
|
|
|
encodability
For ARM32/ARM64, the immediate offsets in addressing modes have
limited range that varies by instruction. A couple cases were not
checking for that range, leading to generating potentially
un-encodable instruction.
In particular, the test case shows a case where a very large frame in a function
with a stored generic context would fail on ARM64.
There are no code diffs from this change for ARM64, except we sometimes get
better assembly comments where the local variable referenced is annotated on
the store instruction. For ARM32, the "secret stub param" is now stored using
SP-relative addressing, not FP-relative, if possible (which we generally prefer
in main function bodies).
|