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

Reply via email to