Load Barrier Assembly

Simone Bordet simone.bordet at gmail.com
Thu Apr 4 07:04:15 UTC 2019


I have been looking at the load barrier assembly, and found out that
(at least in JDK 12) the code is (via -XX:+PrintAssembly):

test %rsi, 0x20(%r15)
jne slow_path

This is slightly different from what reported in Per's presentations
where it was:

test %rsi, (0x16)%r15
jnz slow_path

I'm not an assembly expert, is the second version is a typo?

But the question I have is: what's loaded in r15, and why the bad mask
is 32 bytes after that address?
Can the bad mask be stored in a registry (at the cost of losing one registry)?


Simone Bordet
Finally, no matter how good the architecture and design are,
to deliver bug-free software with optimal performance and reliability,
the implementation technique must be flawless.   Victoria Livschitz

More information about the zgc-dev mailing list