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