RFR: 8193193: immByteMapBase operand generated for non-CardTable GCs
Roman Kennke
rkennke at redhat.com
Thu Dec 7 17:15:08 UTC 2017
This is aarch64-only.
The operand immByteMapBase in aarch64 blindly casts the BarrierSet to
CardTableModRefBS and checks if the byte_map_base field points into the
heap. This sometimes generates the operand for non-CTMRBS GCs too:
->byte_map_base will resolve some random ptr, and if that happens to be
inside the heap, it will generate the operand, causing all sorts of
weird trouble.
The fix is to check the BS type before casting:
http://cr.openjdk.java.net/~rkennke/aarch64-ctmrbs/webrev.00/
Builds+passes relevant tests that have been failing before.
Ok to push it?
Roman
More information about the hotspot-compiler-dev
mailing list