--- old/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp 2018-04-29 18:10:16.058512796 -0400 +++ new/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp 2018-04-29 18:10:14.618429630 -0400 @@ -1068,7 +1068,7 @@ void LIRGenerator::do_CheckCast(CheckCast* x) { LIRItem obj(x->obj(), this); CodeEmitInfo* patching_info = NULL; - if (!x->klass()->is_loaded() || (PatchALot && !x->is_incompatible_class_change_check())) { + if (!x->klass()->is_loaded() || (PatchALot && !x->is_incompatible_class_change_check() && !x->is_invokespecial_receiver_check())) { // Must do this before locking the destination register as // an oop register, and before the obj is loaded (so x->obj()->item() // is valid for creating a debug info location).