[lworld] RFR: 8341757: Field layout computation allowing atomic and nullable flattening [v2]
David Simms
dsimms at openjdk.org
Wed Oct 30 16:40:24 UTC 2024
On Fri, 25 Oct 2024 13:29:54 GMT, Frederic Parain <fparain at openjdk.org> wrote:
>> Initial implementation of fields layouts in order to support heap flattening with JEP 401 model.
>> The patch includes the generation of two new flat fields layouts: atomic and nullable.
>> The patch also includes the support in the interpreter (through the access API) to access the new layouts while respecting the new semantic (on x86_64 and aarch64).
>> Some areas do not support the new layouts yet, like JITs, Unsafe and arrays.
>>
>> There's no automatic tests yet, but considering the impact those new layouts will have on the JVM, the priority was to make this code available to all developers as soon as possible. Automatic tests will be added in a following CR.
>>
>> Fred
>
> Frederic Parain has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix bugs in aarch64 get_default_value_oop() method
That's a lot of work, good job !
src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp line 54:
> 52: Register src, Register dst, Register value_klass);
> 53: virtual void flat_field_copy(MacroAssembler* masm, DecoratorSet decorators,
> 54: Register src, Register dst, Register inline_layout_info);
Does new flat_field_copy eventually replace value_copy ? Yes, this checks out (re-read the PR comments)
src/hotspot/share/gc/shared/barrierSetRuntime.hpp line 41:
> 39: // Template interpreter...
> 40: static void value_copy(void* src, void* dst, InlineKlass* md);
> 41: static void value_copy2(void* src, void* dst, InlineLayoutInfo* layout_info);
Are there not better names (e.g _ilo) than 2 ? Or is this temp naming ?
-------------
Marked as reviewed by dsimms (Committer).
PR Review: https://git.openjdk.org/valhalla/pull/1275#pullrequestreview-2405526038
PR Review Comment: https://git.openjdk.org/valhalla/pull/1275#discussion_r1822984684
PR Review Comment: https://git.openjdk.org/valhalla/pull/1275#discussion_r1822978081
More information about the valhalla-dev
mailing list