On Mon, 20 Jan 2025 18:15:11 GMT, Jorn Vernee <jver...@openjdk.org> wrote:
>> That was my original version, but this proved to be faster (albeit very >> little, O(.5ns)). I can't really explain why, that's above my paygrade, but >> one thing that comes to mind when storing references is that there's might >> be a GC barrier involved? >> >> Footprint reduction would be 8 bytes * #carrier threads, and with scalar >> replacement, ofAddress should become a noop, right? >> >> Let me re-run the BM once more with pointers, whether I can reproduce. > >> Footprint reduction would be 8 bytes * #carrier threads, and with scalar >> replacement, ofAddress should become a noop, right? > > Yes. When moving references in and out of the cache slots, I lose .8ns: Benchmark Mode Cnt Score Error Units CallOverheadByValue.byPtr avgt 10 3.283 ? 0.020 ns/op CallOverheadByValue.byValue avgt 10 6.309 ? 0.027 ns/op ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23142#discussion_r1922749824