[lworld] RFR: 8376135: [lworld] Add JIT support for NULLABLE_NON_ATOMIC_FLAT layout [v4]
Frederic Parain
fparain at openjdk.org
Thu Jan 29 18:57:38 UTC 2026
On Tue, 27 Jan 2026 09:37:41 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:
>> Hi,
>>
>> This PR implements the support of `NULLABLE_NON_ATOMIC_FLAT` layout in the JITs. There is nothing to do in C2. In C1, I need to implement loading/storing nullable value of a non-atomic field.
>>
>> The test `TestValueClasses` is failing with `-XX:-TieredCompilation`, which I suspect is due to the substitutability test handling padding bytes incorrectly.
>>
>> Please kindly review what there are for now, thanks a lot.
>
> Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
>
> remove unused variable
src/hotspot/share/ci/ciInlineKlass.cpp line 161:
> 159: VM_ENTRY_MARK
> 160: InlineKlass* vk = get_InlineKlass();
> 161: oop null_reset_value = vk->null_reset_value();
The null_reset_value instance is allocated at class initialization time. This means that there's a time window, between the moment the class is loaded and the moment where it is initialized, where the null_reset_value is not available yet. During this time interval, null_reset_value() returns null.
Do we have the guarantee that ciInlineKlass::get_null_reset_value() is always called on an initialized class, or should the case of the missing null_reset_value be handled here?
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/1970#discussion_r2743057310
More information about the valhalla-dev
mailing list