RFR: 8229470: Shenandoah: Fix C1 getAndSetObject() failure

Roman Kennke rkennke at redhat.com
Tue Aug 13 10:55:25 UTC 2019


JDK-8228369 broke C1's getAndSetObject() intrinsic with Shenandoah:

# Internal Error
(/home/shade/trunks/jdk-jdk/src/hotspot/share/c1/c1_LIRGenerator.hpp:224),
pid=20194, tid=20205
# assert(!opr->is_register() || opr->is_virtual()) failed: should never
set result to a physical register

 V [libjvm.so+0x78417e] LIRGenerator::set_result(Instruction*,
LIR_OprDesc*)+0x12e
V [libjvm.so+0x782a67]
LIRGenerator::do_UnsafeGetAndSetObject(UnsafeGetAndSetObject*)+0xe7
V [libjvm.so+0x76b043] LIRGenerator::do_root(Instruction*)+0x93

Fix:
http://cr.openjdk.java.net/~rkennke/JDK-8229470/webrev.00/
Testing: failed testcase, hotspot_gc_shenandoah

Ok?

Roman




More information about the hotspot-gc-dev mailing list