< prev index next >

src/hotspot/share/ci/bcEscapeAnalyzer.cpp

Print this page

        

*** 1195,1236 **** worklist.push(succ); } } } ! bool BCEscapeAnalyzer::do_analysis() { Arena* arena = CURRENT_ENV->arena(); // identify basic blocks _methodBlocks = _method->get_method_blocks(); iterate_blocks(arena); - // TEMPORARY - return true; } vmIntrinsics::ID BCEscapeAnalyzer::known_intrinsic() { vmIntrinsics::ID iid = method()->intrinsic_id(); ! ! if (iid == vmIntrinsics::_getClass || ! iid == vmIntrinsics::_hashCode) return iid; ! else return vmIntrinsics::_none; } ! bool BCEscapeAnalyzer::compute_escape_for_intrinsic(vmIntrinsics::ID iid) { switch (iid) { - case vmIntrinsics::_getClass: - _return_local = false; - break; case vmIntrinsics::_hashCode: // initialized state is correct break; default: assert(false, "unexpected intrinsic"); } - return true; } void BCEscapeAnalyzer::initialize() { int i; --- 1195,1229 ---- worklist.push(succ); } } } ! void BCEscapeAnalyzer::do_analysis() { Arena* arena = CURRENT_ENV->arena(); // identify basic blocks _methodBlocks = _method->get_method_blocks(); iterate_blocks(arena); } vmIntrinsics::ID BCEscapeAnalyzer::known_intrinsic() { vmIntrinsics::ID iid = method()->intrinsic_id(); ! if (iid == vmIntrinsics::_hashCode) { return iid; ! } else { return vmIntrinsics::_none; + } } ! void BCEscapeAnalyzer::compute_escape_for_intrinsic(vmIntrinsics::ID iid) { switch (iid) { case vmIntrinsics::_hashCode: // initialized state is correct break; default: assert(false, "unexpected intrinsic"); } } void BCEscapeAnalyzer::initialize() { int i;
*** 1330,1341 **** tty->print(" intrinsic"); method()->print_short_name(); tty->print_cr(" (%d bytes)", method()->code_size()); } - bool success; - initialize(); // Do not scan method if it has no object parameters and // does not returns an object (_return_allocated is set in initialize()). if (_arg_local.Size() == 0 && !_return_allocated) { --- 1323,1332 ----
*** 1347,1359 **** methodData()->set_eflag(MethodData::estimated); return; } if (iid != vmIntrinsics::_none) ! success = compute_escape_for_intrinsic(iid); else { ! success = do_analysis(); } // don't store interprocedural escape information if it introduces // dependencies or if method data is empty // --- 1338,1350 ---- methodData()->set_eflag(MethodData::estimated); return; } if (iid != vmIntrinsics::_none) ! compute_escape_for_intrinsic(iid); else { ! do_analysis(); } // don't store interprocedural escape information if it introduces // dependencies or if method data is empty //
< prev index next >