< prev index next >
src/hotspot/share/opto/escape.cpp
Print this page
rev 60137 : 8227745: Enable Escape Analysis for Better Performance in the Presence of JVMTI Agents
Reviewed-by: mdoerr, goetz
rev 60138 : 8227745: delta webrev.5 -> webrev.6
@@ -341,10 +341,11 @@
}
return has_non_escaping_obj;
}
+// Returns true if an object in the scope of sfn does not escape globally.
bool ConnectionGraph::has_not_global_escape_in_scope(SafePointNode* sfn) {
Compile* C = _compile;
for (JVMState* jvms = sfn->jvms(); jvms != NULL; jvms = jvms->caller()) {
if (C->env()->should_retain_local_variables() || C->env()->jvmti_can_walk_any_space() ||
DeoptimizeObjectsALot) {
@@ -370,10 +371,12 @@
}
}
return false;
}
+// Returns true if at least one of the arguments to the call is an object
+// that does not escape globally.
bool ConnectionGraph::has_arg_escape(CallJavaNode* call) {
if (call->method() != NULL) {
uint max_idx = TypeFunc::Parms + call->method()->arg_size();
for (uint idx = TypeFunc::Parms; idx < max_idx; idx++) {
Node* p = call->in(idx);
< prev index next >