hotspot/src/share/vm/opto/library_call.cpp
changeset 46735 219c4312853e
parent 46630 75aa3e39d02c
parent 45766 4b5557c9b656
--- 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);