< 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 >