RFR: 8365229: ARM32: c2i_no_clinit_check_entry assert failed after JDK-8364269 [v3]

Aleksey Shipilev shade at openjdk.org
Wed Aug 13 10:51:12 UTC 2025


On Wed, 13 Aug 2025 09:23:16 GMT, Ao Qi <aoqi at openjdk.org> wrote:

>> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Polish comment
>
> src/hotspot/share/runtime/sharedRuntime.cpp line 2850:
> 
>> 2848:   address i2c_entry = handler->get_i2c_entry();
>> 2849:   entry_offset[0] = 0; // i2c_entry offset
>> 2850:   entry_offset[1] = (handler->get_c2i_entry() != nullptr) ?
> 
> Should we handle the Zero case? Something like:
> 
>   entry_offset[1] = (handler->get_c2i_entry() != nullptr ZERO_ONLY(&& false)) ?
>                     (handler->get_c2i_entry() - i2c_entry) : -1;
>   entry_offset[2] = (handler->get_c2i_unverified_entry() != nullptr ZERO_ONLY(&& false)) ?
>                     (handler->get_c2i_unverified_entry() - i2c_entry) : -1;
> 
> With Zero, `handler->get_i2c_entry()`, `handler->get_c2i_entry()` and `handler->get_c2i_unverified_entry()` are same and not nullptr. The build of Zero can trigger the problem.

Ah, Zero is still broken, let me fix it...

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26746#discussion_r2272937921


More information about the hotspot-compiler-dev mailing list