RFR: 8295214: Generational ZGC: Guard nmethods from cross modifying code

Erik Österlund eosterlund at openjdk.org
Fri Nov 11 13:35:42 UTC 2022


On Wed, 9 Nov 2022 12:33:28 GMT, Robbin Ehn <rehn 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?
>
>> > 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.

Thank you for the reviews, @robehn and @dholmes-ora! Just gonna fix that comment and then integrate.

-------------

PR: https://git.openjdk.org/jdk/pull/11042


More information about the hotspot-dev mailing list