< prev index next >

src/hotspot/share/opto/bytecodeInfo.cpp

Print this page

        

*** 83,96 **** 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_initializer()) { ! return true; // constuctor } ! if (caller_method->is_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()) { --- 83,96 ---- 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_or_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 >