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

Patricio Chilano Mateo pchilanomate at openjdk.org
Mon Oct 27 19:29:05 UTC 2025


On Fri, 24 Oct 2025 13:58:07 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:
>> 
>>   More comments from Coleen
>
> src/hotspot/cpu/aarch64/stackChunkFrameStream_aarch64.inline.hpp line 116:
> 
>> 114:   InterpreterOopMap mask;
>> 115:   frame f = to_frame();
>> 116:   f.interpreted_frame_oop_map(&mask);
> 
> There are two uses of this function left in continuationHelper.inline.hpp and continuationFreezeThaw.cpp under verification code.  Maybe they can be removed?  Do the places that call this in verification code still valid for preempted class initialization?  Do they need to count arguments now?

The verification code in `verify_frame_top` is still valid. Technically we should count arguments if `f` is the top frame when this is a preemption on invokestatic case, and assert that the result equals `top`. But that would overcomplicate the code for not much gain. The other caller is `ContinuationHelper::Frame::frame_top(const frame &f)`, which I see is only called from `ThawBase::recurse_thaw_interpreted_frame`. It is also still valid and is never called for the top frame, so no argument count is needed.

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

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


More information about the hotspot-dev mailing list