RFR: 8356255: Add Stable Field Updaters to allow efficient lazy field evaluations
Per Minborg
pminborg at openjdk.org
Tue May 6 11:48:16 UTC 2025
On Mon, 5 May 2025 15:04:54 GMT, Chen Liang <liach at openjdk.org> wrote:
>> This sketch shows how "Stable Updaters" can be used to create stable computations of `@Stable` fields. Only one updater is needed per class, similar to `AtomicIntegerFieldUpdater`.
>
> src/java.base/share/classes/java/lang/reflect/Method.java line 101:
>
>> 99:
>> 100: private static final ToIntFunction<Method> HASH_UPDATER =
>> 101: StableFieldUpdater.ofIntRaw(Method.class, Unsafe.getUnsafe().objectFieldOffset(Method.class, "hash"), new ToIntFunction<Method>() {
>
> If we are using unsafe to get field offsets, why don't we just accept arguments to locate a MethodHandle (like those arguments to MhUtils)?
Do you mean for interacting with the field or computing the hash?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25040#discussion_r2075052972
More information about the net-dev
mailing list