RFR: 8305895: Implementation: JEP 450: Compact Object Headers (Experimental) [v3]
Roman Kennke
rkennke at openjdk.org
Wed May 10 13:53:31 UTC 2023
On Wed, 10 May 2023 11:11:20 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Allow to resolve mark with LW locking
>
> src/hotspot/share/oops/oop.hpp line 124:
>
>> 122: inline size_t size_given_klass(Klass* klass);
>> 123:
>> 124: // The following set of methods is used to access the mark-word and related
>
> So, these are done to avoid introducing branches on the paths where objects are definitely _not_ forwarded? Are there fewer places than where we expect forwardings? Maybe the better way would be to make all methods handle the occasional forwarding, and then provide the methods that provide the _fast-path_, like `fast_mark`, `fast_class`, etc?
No, that would not work, because we have different ways to encode forwarding: full-GCs use sliding forwarding, and normal GCs use normal forwarding (with the exception of the forward-failed bit). Here, we wouldn't know which is which.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13844#discussion_r1189944010
More information about the hotspot-dev
mailing list