-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[mono][interp] Fix arg alignment issues when mixing with compiled code #85153
Conversation
Tagging subscribers to this area: @BrzVlad, @kotlarmilos Issue Detailsnull
|
a6377c2
to
c3b955b
Compare
c3b955b
to
687177e
Compare
I don't know how to push to your PR, but try ee96093 to update the jiterpreter and turn it all back on. I did some basic testing in AOT mode (the affected part, I think) and it seems to work now. You'll want to revert the changes to the threshold + stats options in options-def before merging (I lowered the threshold to make sure we actually exercise it during test runs) |
7f53ee9
to
45ee68a
Compare
src/mono/mono/utils/options-def.h
Outdated
@@ -95,7 +95,7 @@ DEFINE_BOOL(jiterpreter_call_resume_enabled, "jiterpreter-call-resume-enabled", | |||
// stats for options like estimateHeat, but raises overhead. | |||
DEFINE_BOOL(jiterpreter_disable_heuristic, "jiterpreter-disable-heuristic", FALSE, "Always insert trace entry points for more accurate statistics") | |||
// Automatically prints stats at app exit or when jiterpreter_dump_stats is called | |||
DEFINE_BOOL(jiterpreter_stats_enabled, "jiterpreter-stats-enabled", FALSE, "Automatically print jiterpreter statistics") | |||
DEFINE_BOOL(jiterpreter_stats_enabled, "jiterpreter-stats-enabled", TRUE, "Automatically print jiterpreter statistics") |
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.
The changes to options-def can be reverted now that the tests passed on CI
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.
Everything looks good to me, once options-def is reverted
d503577
to
c5c55ab
Compare
It makes no sense to inline this big method into callers.
…jit calls from interp The previous code wasn't handling alignment of simd types.
We stop computing the arguments on the fly since it's getting too expensive doing the alignment checks. We directly use `imethod->arg_offsets` instead which is computed once during the first call, while also ensuring consistency with the calculation.
c5c55ab
to
edfc973
Compare
edfc973
to
4724c3e
Compare
No description provided.