On Fri, 24 Oct 2025 11:55:28 GMT, Coleen Phillimore <[email protected]> wrote:
>> Patricio Chilano Mateo has updated the pull request incrementally with three
>> additional commits since the last revision:
>>
>> - rename _monitor to _init_lock
>> - Extra comments from Coleen
>> - define methods in resolve_from_cache with TRAPS and use
>> CHECK_AND_CLEAR_PREEMPTED
>
> src/hotspot/cpu/aarch64/continuationFreezeThaw_aarch64.inline.hpp line 347:
>
>> 345: intptr_t* sp = enterSpecial.sp();
>> 346:
>> 347: sp[-1] = (intptr_t)StubRoutines::cont_preempt_stub();
>
> push_cleanup_continuation sets sp[-2]. This doesn't have to set that?
`push_cleanup_continuation()` doesn’t need it. I removed it there and added a
comment on both methods.
> src/hotspot/cpu/x86/continuationFreezeThaw_x86.inline.hpp line 220:
>
>> 218: intptr_t* sp = _top_frame.sp();
>> 219: if (sp != _last_sp_from_frame) {
>> 220: sp[-1] = (intptr_t)_top_frame.pc();
>
> Same coment as aarch64, does this need to set sp[-2] to fp like above? Or
> should it preserve the value? Can you add a comment for each telling why?
Here we need to set it because it’s the value that will be set as
`_last_Java_fp` in the `_anchor`. Added a comment.
> src/hotspot/share/runtime/frame.cpp line 951:
>
>> 949: // code in the interpreter calls a blocking runtime
>> 950: // routine which can cause this code to be executed).
>> 951: // (was bug gri 7/27/98)
>
> I like the refactoring of this condition. It may be finally time to remove
> this line from 1998. I, for one, will miss it but it doesn't really help
> anyone with anything.
Ok, I removed that part of the comment.
> test/jdk/java/lang/Thread/virtual/KlassInit.java line 63:
>
>> 61: * @library /test/lib
>> 62: * @requires vm.debug == true & vm.continuations
>> 63: * @run junit/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions
>> -XX:+FullGCALot -XX:FullGCALotInterval=1000
>> -XX:CompileCommand=exclude,KlassInit::lambda$testReleaseAtKlassInit*
>> -XX:CompileCommand=exclude,KlassInit$$Lambda*::run
>> -XX:CompileCommand=exclude,KlassInit$1Driver::foo KlassInit
>
> I think you can use multiple lines for the run command and not have to wrap
> like this.
Done.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27802#discussion_r2466822550
PR Review Comment: https://git.openjdk.org/jdk/pull/27802#discussion_r2466825853
PR Review Comment: https://git.openjdk.org/jdk/pull/27802#discussion_r2466828401
PR Review Comment: https://git.openjdk.org/jdk/pull/27802#discussion_r2466828651