-
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
[browser][MT] enable jiterp #101252
[browser][MT] enable jiterp #101252
Conversation
Tagging subscribers to this area: @BrzVlad, @kotlarmilos |
There is GC deadlock with Finalizer on this PR. |
It's possible jiterp's C helpers might be missing GC state transitions. We could do an audit of all of them. |
What's the design ? But I don't know if the interp is running in
And if jiterp should share the same rules ? |
jiterp traces are called directly by the interp without a transition so they inherit whatever state it's in, it's possible some of the helpers jiterp calls out to (written in c) need transitions and are missing them. it's also possible they contain transitions and shouldn't. i never put any thought into it at the time. i mentioned on discord also that we should probably disable jiterp on the finalizer thread. the way jiterp works right now, each thread needs to JIT its own copy of the trace it's trying to run, and there's little upside to doing that on the finalizer thread to run a finalizer. it's possible that the process of compiling traces could deadlock if it happens on the finalizer thread, i think. |
So, Chrome is not guilty for the GC deadlock issue we have on MT with jiterp. See Log |
Re-confirmed. Jiterp is causing GC deadlocks This is firefox log
the thread |
I think what we need to do is inspect all the jiterp C helpers and figure out which ones need GC transitions. |
Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it. |
Testing ...
Fixes #100273