--- a/hotspot/src/share/vm/opto/library_call.cpp Thu Jun 22 18:42:45 2017 +0000
+++ b/hotspot/src/share/vm/opto/library_call.cpp Fri Jun 23 09:33:21 2017 +0200
@@ -5171,6 +5171,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);