On Wed, 26 Feb 2025 20:13:42 GMT, Chen Liang <li...@openjdk.org> wrote:

>> Simplify the layout access var handles to be direct in some common cases. 
>> Also made `VarHandle::isAccessModeSupported` report if an access mode is 
>> supported for a VH.
>> 
>> Reduces the instructions to execute this code in a simple main by 47%:
>> 
>> long[] arr = new long[8];
>> var ms = MemorySegment.ofArray(arr);
>> ms.setAtIndex(ValueLayout.JAVA_BYTE, 12, (byte) 3);
>> 
>> 
>> Main overheads in FFM are identified to be:
>> 1. Eager initialization of direct MethodHandle; can be CDS archived
>> 2. MH combinator forms via LambdaFormEditor, not cached right now and always 
>> have large overhead
>> 
>> Still need other measures to deal with common user patterns of 
>> `MethodHandles.insertCoordinates(vh, 1, 0L)` which currently is still very 
>> slow.
>> 
>> Tests: 2 unrelated failures on tier 1-3
>
> Chen Liang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Jorn vernee review

Some more general questions I have: Using which methodology was the performance 
impact of this patch measured? How can someone reproduce that measurement (now 
and in the future)? Is there some script or other automation we could add to 
the repo to do the measurement?

(I have an idea about the answers, but I think it's good to capture the answers 
here, as part of this review thread, as well)

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

PR Comment: https://git.openjdk.org/jdk/pull/23720#issuecomment-2686113353

Reply via email to