RFR: 8272723: Don't use Access API to access primitive fields [v2]

Stefan Karlsson stefank at openjdk.java.net
Fri Aug 20 06:46:26 UTC 2021


On Thu, 19 Aug 2021 16:05:54 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> For earlier incarnations of Shenandoah, we needed to put barriers before accessing primitive fields. This is no longer necessary nor implemented/used by any GC, and we should simplify the code to do plain access instead.
>> 
>> (We may want to remove remaining primitive access machinery in the Access API soon)
>> 
>> Testing:
>>  - [x] tier1
>>  - [ ] tier2
>>  - [ ] hotspot_gc
>
> Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Remove remaining primitive Access API uses

Thanks for cleaning this up. I do have a few comments that I'd like to get addressed.

src/hotspot/share/prims/unsafe.cpp line 233:

> 231:   T get_volatile() {
> 232:     GuardUnsafeAccess guard(_thread);
> 233:     volatile T ret = Atomic::load_acquire(addr());

Is MO_SEQ_CST to load_acquire mapping correct?

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

Changes requested by stefank (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/5187


More information about the hotspot-dev mailing list