Bring throw helpers to PUSH_COOP_PINVOKE_FRAME plan#123015
Bring throw helpers to PUSH_COOP_PINVOKE_FRAME plan#123015janvorli merged 45 commits intodotnet:mainfrom
Conversation
|
Tagging subscribers to this area: @mangod9 |
1a243a6 to
00c4f6a
Compare
b8782d2 to
0d677dd
Compare
0d677dd to
5359b4c
Compare
|
@janvorli, FYI, I have brought back ldmxcsr to see if all tests pass with it included. It was failing |
That is due to a different problem - wrong unwind info of the IL_Throw. If you do what @jkotas said, the issue goes away. |
|
PTAL. One less |
I did it the same way as you, there is no difference in that part. But I've also removed the ldmxcsr from the Context.asm which you still seem to have. |
janvorli
left a comment
There was a problem hiding this comment.
LGTM, just few nits. Thank you!
|
/azp run runtime-coreclr outerloop |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
osx-arm64 failure is an existing one; failed in a previous run as well https://dev.azure.com/dnceng-public/public/_build/results?buildId=1255235&view=logs&j=86a95901-e0d9-5eec-3cb6-04a12f80e719&t=27788b50-9372-56cb-e5f4-7bfe19754c51. |
|
/ba-g the PAL test failure is #123195 |
Fixes #116375. --------- Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
|
This benchmark: using System;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
BenchmarkSwitcher
.FromAssembly(typeof(IlThrowBenchmark).Assembly)
.Run(args);
[MemoryDiagnoser]
[SimpleJob(warmupCount: 5, iterationCount: 20)]
public class IlThrowBenchmark
{
private static volatile int _sink;
[Benchmark]
public void ThrowAndCatch()
{
try
{
Thrower();
}
catch (InvalidOperationException ex)
{
_sink = ex.HResult;
}
}
private static void Thrower()
{
throw new InvalidOperationException("boom");
}
}resulted in:
|
Fixes #116375.