RFR: 8295214: Generational ZGC: Guard nmethods from cross modifying code
Robbin Ehn
rehn at openjdk.org
Wed Nov 9 12:36:41 UTC 2022
On Wed, 9 Nov 2022 12:11:46 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:
> > I think David have a point here, using e.g. non-gen ZGC returning from Fibonacci could be slowed-down. I assume gen-ZGC will only need the CMF once per safepoint? If so can we make it conditional per safepoint generation?
> > Or make sure it is not a problem.
>
> I'm not quite sure what you mean by making it conditional per safepoint generation?
It can mean a couple of things. My original thought was wrong, but we know that code stream oops only needs processing once between start of safepoint A and start of safepoint B. But different nmethod can be processed at different times.
So one CFW per nmethod in such safepoint epoch would be the maximum of CFW we need.
This seem to map very good with "processing_completed_acquire()" "start_processing -> on_safepoint()".
You are saying this information doing a more fine grained CMF it not worth the trouble.
I cannot directly say you are correct, assuming you are, looks good.
-------------
PR: https://git.openjdk.org/jdk/pull/11042
More information about the hotspot-dev
mailing list