--- a/hotspot/src/share/vm/opto/library_call.cpp Tue Aug 01 08:53:32 2017 -0700
+++ b/hotspot/src/share/vm/opto/library_call.cpp Tue Aug 01 14:09:34 2017 -0700
@@ -5250,6 +5250,10 @@
Deoptimization::Action_make_not_entrant);
assert(stopped(), "Should be stopped");
}
+
+ const TypeKlassPtr* dest_klass_t = _gvn.type(dest_klass)->is_klassptr();
+ const Type *toop = TypeOopPtr::make_from_klass(dest_klass_t->klass());
+ src = _gvn.transform(new CheckCastPPNode(control(), src, toop));
}
arraycopy_move_allocation_here(alloc, dest, saved_jvms, saved_reexecute_sp, new_idx);