hotspot/src/share/vm/runtime/compilationPolicy.cpp
// Returns true if m must be compiled before executing it
// This is intended to force compiles for methods (usually for
// debugging) that would otherwise be interpreted for some reason.
bool CompilationPolicy::must_be_compiled(methodHandle m, int comp_level) {
{- -------------------------------------------
(1) 以下のどれかに該当すれば true を返す. それ以外の場合は false を返す.
*
*
---------------------------------------- -}
if (m->has_compiled_code()) return false; // already compiled
if (!can_be_compiled(m, comp_level)) return false;
return !UseInterpreter || // must compile all methods
(UseCompiler && AlwaysCompileLoopMethods && m->has_loops() && CompileBroker::should_compile_new_jobs()); // eagerly compile loop methods
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.