RFR: 8325469: Freeze/Thaw code can crash in the presence of OSR frames [v2]

Patricio Chilano Mateo pchilanomate at openjdk.org
Mon Apr 8 14:16:25 UTC 2024


On Fri, 5 Apr 2024 20:39:55 GMT, Ron Pressler <rpressler at openjdk.org> wrote:

>> Patricio Chilano Mateo has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   fix comment
>
> src/hotspot/share/code/nmethod.cpp line 805:
> 
>> 803:     init_defaults();
>> 804:     _entry_bci               = entry_bci;
>> 805:     _num_stack_arg_slots     = entry_bci != InvocationEntryBci ? 0 : _method->constMethod()->num_stack_arg_slots();
> 
> If I understand correctly, is the condition on this line the actual fix?

Yes. The point is that _num_stack_arg_slots should not be fixed for a given Method as now but it should depend on the actual nmethod.

> test/jdk/jdk/internal/vm/Continuation/OSRTest.java line 77:
> 
>> 75:             cont.run();
>> 76:             if (freezeFast && !thawFast && fooCallCount == 2) {
>> 77:                 // All frames freezed in last yield should be compiled
> 
> freezed -> frozen

Fixed.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18637#discussion_r1555916620
PR Review Comment: https://git.openjdk.org/jdk/pull/18637#discussion_r1555916840


More information about the hotspot-dev mailing list