-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Bring throw helpers to PUSH_COOP_PINVOKE_FRAME plan #123015
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Tagging subscribers to this area: @mangod9 |
1a243a6 to
00c4f6a
Compare
b8782d2 to
0d677dd
Compare
0d677dd to
5359b4c
Compare
This reverts commit af084b8.
Added MXCSR reset to prevent floating point exceptions during JIT compilation on AMD64 Windows.
|
@janvorli, # in powershell
> ./build.cmd clr+libs -rc Checked
> src/tests/build.cmd Checked -Dir JIT/Directed -Dir JIT/CodeGenBringUpTests -Dir Exceptions -Dir JIT/IL_Conformance /p:LibrariesConfiguration=Debug
> $CORE_ROOT=$env:CORE_ROOT="$pwd/artifacts/tests/coreclr/windows.x64.Debug/Tests/Core_Root"
> artifacts\tests\coreclr\windows.x64.Checked\JIT\IL_Conformance\IL_Conformance\IL_Conformance.cmd
...
END EXECUTION - PASSED
PASSEDCI is showing https://helix.dot.net/api/2019-06-17/jobs/36ba1a26-3370-47a0-a24a-e0b2d2e41006/workitems/IL_Conformance/console: |
|
OK with |
| ; which can corrupt MXCSR (setting it to 0x20 with all FP exception masks cleared). | ||
| ; Without this reset, FP operations after exception handling would trigger exceptions. | ||
| ; 0x1F80 = default MXCSR: all exception masks set, round to nearest, no exceptions pending | ||
| push 1F80h |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not aware of any case that would have the CONTEXT_FLOATING_POINT set and not have the MXCSR valid in the CONTEXT. We've never had such a problem and you have initialization of that in your new code to update CONTEXT from the TransitionFrame.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without 22571b2 and dd15723, one or more tests in JIT/Directed, JIT/CodeGenBringUpTests and Exceptions were failing (#123015 (comment)).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the problem is likely caused by something else. I don't see how your change (as a whole) could introduce such a problem.
Fixes #116375.