RFR: 8348556: Inlining fails earlier for MemorySegment::reinterpret [v4]

Per Minborg pminborg at openjdk.org
Thu Feb 6 15:38:56 UTC 2025


On Wed, 5 Feb 2025 14:43:52 GMT, Per Minborg <pminborg at openjdk.org> wrote:

>> This PR proposes to add some `@ForceInline` annotations in the `Module` class in order to assist inlining of FFM var/method handles.
>> 
>> There are also some changes in other classes (notably `j.l.Object`) which, if implemented, can take us four additional levels of inlining. However, there is a tradeoff with adding `@ForceInline` and just trying to get as deep as possible for a specific use case is probably not the best idea. 
>> 
>> So, we should discuss which of the proposed changes (if any), we'd like to integrate.
>> 
>> Tested and passed tier1-3
>
> Per Minborg has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Remove reformatting
>  - Remove file

Baseline:

Benchmark                            (offsetCount)  (segmentSize)   Mode  Cnt        Score       Error  Units
FFMVarHandleInlineTest.t0_reference           2048           1024  thrpt   25  1552613.262 ? 14295.035  ops/s
FFMVarHandleInlineTest.t1_level8              2048           1024  thrpt   25  1558465.228 ?  8458.874  ops/s
FFMVarHandleInlineTest.t2_level9              2048           1024  thrpt   25  1542009.100 ? 10240.173  ops/s
FFMVarHandleInlineTest.t3_level10             2048           1024  thrpt   25  1553407.503 ? 10834.133  ops/s
FFMVarHandleInlineTest.t4_level11             2048           1024  thrpt   25    87666.558 ?   765.848  ops/s. <-- We hit the inline limit here


Patch:

Benchmark                         (offsetCount)  (segmentSize)   Mode  Cnt        Score       Error  Units
FFMVarHandleInlineTest.t_level14           2048           1024  thrpt    6  1522770.197 ? 47791.455  ops/s
FFMVarHandleInlineTest.t_level15           2048           1024  thrpt    6     3368.237 ?   127.196  ops/s

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

PR Comment: https://git.openjdk.org/jdk/pull/23460#issuecomment-2640142513


More information about the core-libs-dev mailing list