RFR: 8305898: Alternative self-forwarding mechanism [v4]
    Roman Kennke 
    rkennke at openjdk.org
       
    Tue May  9 20:07:41 UTC 2023
    
    
  
On Tue, 9 May 2023 19:14:26 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> Roman Kennke has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains ten commits:
>> 
>>  - Merge branch 'JDK-8305896' into JDK-8305898
>>  - Merge branch 'JDK-8305896' into JDK-8305898
>>  - Merge branch 'JDK-8305896' into JDK-8305898
>>  - Merge branch 'JDK-8305896' into JDK-8305898
>>  - Use forwardee() in forward_to_atomic() method
>>  - Merge branch 'JDK-8305896' into JDK-8305898
>>  - Merge branch 'JDK-8305896' into JDK-8305898
>>  - Replace uses of decode_pointer() with forwardee()
>>  - 8305898: Alternative self-forwarding mechanism
>
> src/hotspot/share/oops/oop.inline.hpp line 332:
> 
>> 330:     return cast_to_oop(this);
>> 331:   } else {
>> 332:     return cast_to_oop(header.decode_pointer());
> 
> I think this path misses the original assert:
> 
> 
> assert(is_forwarded(), "only decode when actually forwarded");
No, not really. This method exists to support racy access on the mark word. The equivalent of is_forwarded() here is header.is_marked().
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13779#discussion_r1189077714
    
    
More information about the hotspot-dev
mailing list