Top


定義場所(file name)

hotspot/src/share/vm/runtime/simpleThresholdPolicy.inline.hpp

名前(function name)

template<CompLevel level>
bool SimpleThresholdPolicy::loop_predicate_helper(int i, int b, double scale) {

本体部(body)

  {- -------------------------------------------
  (1) 現在の InvocationCounter の値(i引数, b引数), 及び現在の JIT コンパイルレベル(level テンプレート引数) に基づき
      以下の値をリターン.
      (なお, scale 引数は比較対象の閾値を調整するためのもの. 比較時に閾値が scale 倍される)

      * level が CompLevel_none もしくは CompLevel_limited_profile の場合:
        以下が成り立てば true をリターン. そうでなければ false をリターン.

        * backward branch の実行回数(b)が Tier3BackEdgeThreshold*scale を超えている

      * level が CompLevel_full_profile の場合:
        以下が成り立てば true をリターン. そうでなければ false をリターン.

        * backward branch の実行回数(b)が Tier4BackEdgeThreshold*scale を超えている
      ---------------------------------------- -}

      switch(level) {
      case CompLevel_none:
      case CompLevel_limited_profile:
        return b > Tier3BackEdgeThreshold * scale;
      case CompLevel_full_profile:
        return b > Tier4BackEdgeThreshold * scale;
      }
      return true;
    }

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