RFR: 8294278: ForkJoinPool.getAndAddPoolIds should use Unsafe.staticFieldBase

Bernhard Urban-Forster burban at openjdk.org
Tue Nov 29 16:31:01 UTC 2022


On Fri, 25 Nov 2022 14:53:57 GMT, Alan Bateman <alanb at openjdk.org> wrote:

> Two (since 19) usages of Unsafe.getAndAddInt to update a static field provide the Class object as the base instead of the base object returned by Unsafe.staticFieldBase. This doesn't change anything on the HotSpot VM.

LGTM, thank you!

src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 1532:

> 1530:     private static final long THREADIDS;
> 1531:     private static final Object POOLIDS_BASE;
> 1532:     private static final long POOLIDS;

Minor nit: Maybe `POOLIDS` should be renamed to `POOLIDS_OFFSET`?

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

Marked as reviewed by burban (Author).

PR: https://git.openjdk.org/jdk/pull/11369


More information about the core-libs-dev mailing list