RFR: 8350118: Simplify the layout access VarHandle [v2]

Jorn Vernee jvernee at openjdk.org
Thu Feb 27 10:30:06 UTC 2025


On Wed, 26 Feb 2025 19:56:04 GMT, Chen Liang <liach at openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/foreign/Utils.java line 74:
>> 
>>> 72:             return ret;
>>> 73:         return computeFilterHandle(index);
>>> 74:     }
>> 
>> Why is this using an array, instead of just having 3 fields?
>
> This emulates how MethodHandleImpl does the cache.

Ok. I think the benefit is that each element is individually lazy initialized. I'm not sure about the setup with the array though. It seems like having 3 stable fields would be simpler? Or maybe just initialize them up front in clinit, since they are mostly used together. That would also avoid the need to create a `Lookup` every time.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23720#discussion_r1973301941


More information about the build-dev mailing list