RFR: 8350118: Simplify the layout access VarHandle

Maurizio Cimadamore mcimadamore at openjdk.org
Fri Feb 21 14:46:52 UTC 2025


On Fri, 21 Feb 2025 13:49:51 GMT, Chen Liang <liach at openjdk.org> wrote:

> I have disabled them with #, and the status is confirmed by test for access modes. I kept the infra to make future reenabling easy.

Doh - I missed the `#` -- maybe add few more to make that more explicit? (I agree with the approach)

>> src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java line 1556:
>> 
>>> 1554: 
>>> 1555:             @Override
>>> 1556:             public VarHandle memorySegmentViewHandle(Class<?> carrier, MemoryLayout enclosing, long alignmentMask, ByteOrder order, boolean fixedOffset, long offset) {
>> 
>> When I was playing with the code I kept being confused by the `fixedOffset` parameter name. The reason being that no var handle is really "fixed offset" (all VH take a "base" offset -- and this doesn't change that). What this "fixedOffset" means is really "there's no other (dynamic) offset on top of the base offset". I think calling it "stridedAccess" seems subjectively more evocative (or something like that).
>
> Shouldn't this be called noStride then?

noStride works (I was mostly suggesting that appealing to the concept of "there's a stride or not" might be more useful)

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

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


More information about the build-dev mailing list