src/hotspot/share/opto/library_call.cpp
changeset 51514 1e332d63bd96
parent 51485 0c7040d1d1ca
child 51643 8267d480566f
--- a/src/hotspot/share/opto/library_call.cpp	Thu Aug 23 16:47:53 2018 -0700
+++ b/src/hotspot/share/opto/library_call.cpp	Fri Aug 24 08:17:23 2018 +0200
@@ -4386,7 +4386,8 @@
     if (!stopped()) {
       PreserveJVMState pjvms(this);
       CallJavaNode* slow_call = generate_method_call(vmIntrinsics::_clone, is_virtual);
-      Node* slow_result = set_results_for_java_call(slow_call);
+      // We need to deoptimize on exception (see comment above)
+      Node* slow_result = set_results_for_java_call(slow_call, false, /* deoptimize */ true);
       // this->control() comes from set_results_for_java_call
       result_reg->init_req(_slow_path, control());
       result_val->init_req(_slow_path, slow_result);