RFR: 8369238: Allow virtual thread preemption on some common class initialization paths [v9]

Patricio Chilano Mateo pchilanomate at openjdk.org
Tue Oct 28 19:37:38 UTC 2025


On Mon, 27 Oct 2025 21:20:39 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> Patricio Chilano Mateo has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Improve comment in anchor_mark_set_pd
>
> src/hotspot/share/runtime/continuationFreezeThaw.cpp line 1796:
> 
>> 1794: }
>> 1795: 
>> 1796: static void log_preempt_after_freeze(ContinuationWrapper& cont) {
> 
> Does this modify ContinuationWrapper?  I don't see how it does.  If not, it should be a const reference.

Done.

> src/hotspot/share/runtime/continuationFreezeThaw.cpp line 2680:
> 
>> 2678: }
>> 2679: 
>> 2680: intptr_t* ThawBase::redo_vmcall(JavaThread* current, frame& top) {
> 
> Does this modify "top"?  Else should be a const reference too. Looks like a lot of references are non-const.  If these methods don't modify their non-const reference parameters, I think you should have a cleanup pass to fix these to be const references.

It’s used in `AnchorMark` to set `_top_frame`, which can’t be const because of the `interpreter_frame_set_last_sp` usage. I fixed `push_return_frame` too, let me know if you spotted other ones.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27802#discussion_r2470809959
PR Review Comment: https://git.openjdk.org/jdk/pull/27802#discussion_r2470811686


More information about the hotspot-dev mailing list