RFR (S): 8184269: JVMCI CompilerToVM::Data::initialize() should use BarrierSet fake RTTI to identify card table barrier sets

Erik Österlund erik.osterlund at oracle.com
Wed Jul 12 10:47:32 UTC 2017


Hi,

Bug ID:
https://bugs.openjdk.java.net/browse/JDK-8184269

Webrev:
http://cr.openjdk.java.net/~eosterlund/8184269/webrev.00/

The CompilerToVM::Data::initialize() member function of JVMCI identifies 
barrier sets with cards by taking the current BarrierSet and in a switch 
statement enumerating if it is in the set of all BarrierSets (except 
ModRef for some odd reason).
This switch statement includes both concrete barrier sets and abstract 
barrier sets that can never be selected.
This seems like the wrong way of doing things, and FakeRTTI should be 
used instead to see if the current barrier set is-a CardTableModRefBS, 
which is the condition for populating the card size and card table base 
address fields with sensible values.

Thanks,
/Erik


More information about the hotspot-compiler-dev mailing list