RFR: 8320302: compiler/arguments/TestC1Globals.java hits SIGSEGV in ContinuationEntry::set_enter_code [v2]

Patricio Chilano Mateo pchilanomate at openjdk.org
Thu Feb 1 20:58:24 UTC 2024


On Thu, 1 Feb 2024 07:59:18 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Patricio Chilano Mateo has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   inline call to initialize cont class
>
> src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp line 1394:
> 
>> 1392:                                               oop_maps,
>> 1393:                                               exception_offset);
>> 1394:     if (nm == nullptr) fatal("Initial size of CodeCache is too small");
> 
> It is a pity we can't just use a return of `nullptr` up the call chain to then have `create_vm` call `vm_exit_during_initialization` rather than using a `fatal` here.
> 
> I suppose we could use `vm_exit_during_initialization` here, but it is not obvious this code path can only be executed during the initialization process.

It should be called during vm initialization time only. I can change it to use vm_exit_during_initialization() instead and add an assert in Method::link_method() where create_native_wrapper() is called for these methods to assert vm is initializing. What do you think?

> src/hotspot/share/runtime/threads.cpp line 416:
> 
>> 414: 
>> 415:   initialize_class(vmSymbols::jdk_internal_vm_Continuation(), CHECK);
>> 416: }
> 
> I don't think this needs to be part of the `Threads` API - just inline it where needed.

Done.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17455#discussion_r1475135560
PR Review Comment: https://git.openjdk.org/jdk/pull/17455#discussion_r1475135197


More information about the hotspot-dev mailing list