RFR: 8350118: Simplify the layout access VarHandle [v2]
Chen Liang
liach at openjdk.org
Wed Feb 26 17:05:55 UTC 2025
On Wed, 26 Feb 2025 16:59:39 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:
>> src/java.base/share/classes/java/lang/invoke/VarForm.java line 150:
>>
>>> 148: String methodName = value.methodName();
>>> 149: MethodType type = methodType_table[value.at.ordinal()].insertParameterTypes(0, VarHandle.class);
>>> 150: assert !UNSAFE.shouldBeInitialized(implClass) : implClass;
>>
>> Thanks - took a long time to figure this one out -- hopefully it will save time in the future ;-)
>
> TBH, I thought that resolving the member name would implicitly initialize the class
I think the lack of initialization is WAI - DMH explicitly has an initialization barrier form. This form requires the invoked static method to be resolved, yet it does not initialize the declaring class until the initialization barrier.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23720#discussion_r1971991806
More information about the core-libs-dev
mailing list