RFR: 8219582: PPC: Crash after C1 checkcast patched and GC

Anton Kozlov akozlov at azul.com
Fri Feb 22 15:05:18 UTC 2019


Hi,

bug: https://bugs.openjdk.java.net/browse/JDK-8219582
webrev: http://cr.openjdk.java.net/~akozlov/8219582/webrev.00/

PPC C1 checkcast implementation overcomes possible object-to-check and temp registers conflict by using destination register as temp to store the object. It usually works, but after object moved to dst and before checkcast completed, safepoint may occur because of implicit runtime call from klass2reg_with_patching. During the call, oop in dst register is not visible to GC, so it will not be updated after GC moved objects.

Please review the fix, that is to load klass (and may be call runtime) at beginning of the LIR instruction, when all oops are in place expected by GC. 

Thanks,
Anton


More information about the hotspot-runtime-dev mailing list