RFR: Simpler obj equals barrier for C2

Roman Kennke rkennke at redhat.com
Tue Sep 11 14:09:20 UTC 2018


This greatly simplifies the object equals barrier for C2. Instead of 3
somewhat complex entry points, this only has 1, and it's very similar to
the same entries that we have in runtime and interpreter.

That entry point replaces the call to 'new CmpP(a, b)' with
access_object_equals(a, b). Shenandoah does generate the WB-based
acmp-barrier there. We have found in earlier experiments that this is
not significantly worse than the RB-based acmp-barriers.

The patch also reverts a whole lot of stuff related to the old RB-based
acmp-barriers. There's probably more to revert that I don't quickly see
(Roland?).

http://cr.openjdk.java.net/~rkennke/c2-obj-eq-barrier/webrev.01/

Testing: tier3_gc_shenandoah

WDYT?

Roman



More information about the shenandoah-dev mailing list