RFR: 8227677: Shenandoah: C2: Make in-native LRB special case of normal LRB

Roman Kennke rkennke at redhat.com
Mon Jul 15 13:25:39 UTC 2019


Currently, IN_NATIVE LRB generates a runtime call during parsing in C2.
This may break optimizations. It is known to break the
mirror->Klass*->mirror / Klass*->mirror->Klass* optimizations, and
possibly some others too (e.g. wholesale elimination of the barrier on
new/constant objects).

It seems better to emit the normal LoadReferenceBarrier, with a special
property 'native' instead, and only generate different
runtime-call-addresses.

The patch reverts the other C2 parts that I pushed for IN_NATIVE support.

Bug:
https://bugs.openjdk.java.net/browse/JDK-8227677
Webrev:
http://cr.openjdk.java.net/~rkennke/JDK-8227677/webrev.00/

Testing: hotspot_gc_shenandoah, ctw-tests

Ok?

Roman




More information about the hotspot-gc-dev mailing list