hotspot/src/share/vm/opto/library_call.cpp
changeset 45766 4b5557c9b656
parent 45514 0fc9cc73ce45
child 46735 219c4312853e
--- 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);