Top


定義場所(file name)

hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp

説明(description)

// Handle the invocation event.

名前(function name)

void SimpleThresholdPolicy::method_invocation_event(methodHandle mh, methodHandle imh,
                                              CompLevel level, TRAPS) {

本体部(body)

  {- -------------------------------------------
  (1) SimpleThresholdPolicy::compile() を呼んで, JIT コンパイル処理を行う.

      ただし, 以下の場合はこの処理は行わない.
      * JIT コンパイル処理を行ってはいけない状況 (= CompilationPolicy::is_compilation_enabled() が false) の場合
      * 同じ JIT コンパイル要求が既に出されていた場合 (= CompileBroker::compilation_is_in_queue() が true)
      * SimpleThresholdPolicy が「JIT は現在のレベルのままで十分」と判定した場合 (= SimpleThresholdPolicy::call_event() の返値が引数の level と同じ場合)
      ---------------------------------------- -}

      if (is_compilation_enabled() && !CompileBroker::compilation_is_in_queue(mh, InvocationEntryBci)) {
        CompLevel next_level = call_event(mh(), level);
        if (next_level != level) {
          compile(mh, InvocationEntryBci, next_level, THREAD);
        }
      }
    }

This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.