RFR [10]: Move (Java)Thread::_gc_state to lower offset to optimize barrier fast-path encoding
Aleksey Shipilev
shade at redhat.com
Wed Jun 13 11:05:22 UTC 2018
http://cr.openjdk.java.net/~shade/shenandoah/gcstate-low/webrev.01/
We get this automatically with sh/jdk, because there we reuse the "GC thread locals" area. We can do
the same trick in our backports, by moving the _gc_state field closer to Thread header, where GC
thread locals would be. This saves us 3 bytes per barrier fastpath check on x86.
WB check before:
0: testb $0x14,0x390(%r15)
+8: jne 0x00007ff85bbb8900
+10: ...
WB check after:
0: testb $0x14,0x1c(%r15)
+5: jne 0x00007f8a57bb887a
+7: ...
Testing: tier3_gc_shenandoah, eyeballing assembly
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list