On 05/12/2019 23:27, Maurizio Cimadamore wrote:
This gives same performance as with -XX:+TrustFinalNonStaticFields -
if we remove these changes, then memory segment bounds are never
inlined. I'm happy to change this if you have other suggestions on how
to get there, of course (I can run some benchmarks w/ and w/o and post
some numbers if that helps).
Here are some numbers for a straight VH get using a constant address;
with the patch I get this (throughput - higher the better):
GetSetConstantBenchmark.testMemoryHandleGet --> 299325598.056 ±
160635.595 ops/s
Without the patch I get this:
GetSetConstantBenchmark.testMemoryHandleGet --> 163721200.469 ±
2344351.046 ops/s
So, the difference is quiet big. Graal (using JVMCI) seems less
sensitive to this particular issue, and I detected no differences there.
That said, if we have plans to fix this another way, I'm happy to remove
this workaround.
Cheers
Maurizio