< prev index next >

src/hotspot/share/opto/output.cpp

Print this page
rev 56101 : 8227745: Enable Escape Analysis for better performance when debugging
Reviewed-by: ???

*** 724,733 **** --- 724,735 ---- MachCallNode *mcall; int safepoint_pc_offset = current_offset; bool is_method_handle_invoke = false; bool return_oop = false; + bool not_global_escape_in_scope = sfn->_not_global_escape_in_scope; + bool arg_escape = false; // Add the safepoint in the DebugInfoRecorder if( !mach->is_MachCall() ) { mcall = NULL; debug_info()->add_safepoint(safepoint_pc_offset, sfn->_oop_map);
*** 738,747 **** --- 740,750 ---- if (mcall->is_MachCallJava()) { if (mcall->as_MachCallJava()->_method_handle_invoke) { assert(has_method_handle_invokes(), "must have been set during call generation"); is_method_handle_invoke = true; } + arg_escape = mcall->as_MachCallJava()->_arg_escape; } // Check if a call returns an object. if (mcall->returns_pointer()) { return_oop = true;
*** 858,868 **** assert(jvms->bci() >= InvocationEntryBci && jvms->bci() <= 0x10000, "must be a valid or entry BCI"); assert(!jvms->should_reexecute() || depth == max_depth, "reexecute allowed only for the youngest"); // 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); } // End jvms loop // Mark the end of the scope set. debug_info()->end_safepoint(safepoint_pc_offset); } --- 861,873 ---- assert(jvms->bci() >= InvocationEntryBci && jvms->bci() <= 0x10000, "must be a valid or entry BCI"); assert(!jvms->should_reexecute() || depth == max_depth, "reexecute allowed only for the youngest"); // 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, ! not_global_escape_in_scope, arg_escape, ! locvals, expvals, monvals); } // End jvms loop // Mark the end of the scope set. debug_info()->end_safepoint(safepoint_pc_offset); }
< prev index next >