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