--- old/src/share/vm/opto/output.cpp 2017-05-29 18:07:46.587023200 +0200 +++ new/src/share/vm/opto/output.cpp 2017-05-29 18:07:46.511023282 +0200 @@ -726,6 +726,7 @@ int safepoint_pc_offset = current_offset; bool is_method_handle_invoke = false; bool return_oop = false; + bool return_vt = false; // Add the safepoint in the DebugInfoRecorder if( !mach->is_MachCall() ) { @@ -746,6 +747,9 @@ if (mcall->returns_pointer()) { return_oop = true; } + if (mcall->returns_vt()) { + return_vt = true; + } safepoint_pc_offset += mcall->ret_addr_offset(); debug_info()->add_safepoint(safepoint_pc_offset, mcall->_oop_map); } @@ -860,7 +864,7 @@ // Now we can describe the scope. methodHandle null_mh; bool rethrow_exception = false; - debug_info()->describe_scope(safepoint_pc_offset, null_mh, scope_method, jvms->bci(), jvms->should_reexecute(), rethrow_exception, is_method_handle_invoke, return_oop, locvals, expvals, monvals); + debug_info()->describe_scope(safepoint_pc_offset, null_mh, scope_method, jvms->bci(), jvms->should_reexecute(), rethrow_exception, is_method_handle_invoke, return_oop, return_vt, locvals, expvals, monvals); } // End jvms loop // Mark the end of the scope set.