--- a/src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp Mon Apr 30 17:50:05 2018 -0400
+++ b/src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp Mon Apr 30 20:29:19 2018 -0400
@@ -875,7 +875,7 @@
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 (the latter is for deoptimization).
patching_info = state_for (x, x->state_before());