< prev index next > src/hotspot/share/opto/bytecodeInfo.cpp
Print this page
static bool is_init_with_ea(ciMethod* callee_method,
ciMethod* caller_method, Compile* C) {
if (!C->do_escape_analysis() || !EliminateAllocations) {
return false; // EA is off
}
! if (callee_method->is_object_initializer()) {
return true; // constructor
}
! if (caller_method->is_object_initializer() &&
caller_method != C->method() &&
caller_method->holder()->is_subclass_of(callee_method->holder())) {
return true; // super constructor is called from inlined constructor
}
if (C->eliminate_boxing() && callee_method->is_boxing_method()) {
static bool is_init_with_ea(ciMethod* callee_method,
ciMethod* caller_method, Compile* C) {
if (!C->do_escape_analysis() || !EliminateAllocations) {
return false; // EA is off
}
! if (callee_method->is_object_constructor()) {
return true; // constructor
}
! if ((caller_method->is_object_constructor() || caller_method->is_class_initializer()) &&
caller_method != C->method() &&
caller_method->holder()->is_subclass_of(callee_method->holder())) {
return true; // super constructor is called from inlined constructor
}
if (C->eliminate_boxing() && callee_method->is_boxing_method()) {
< prev index next >