Top


定義場所(file name)

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

名前(function name)

bool SimpleThresholdPolicy::call_predicate(int i, int b, CompLevel cur_level) {

本体部(body)

  {- -------------------------------------------
  (1) SimpleThresholdPolicy::call_predicate_helper() を呼び出し, 結果をリターン.

      (なお, cur_level 引数の値(= 現在の JIT コンパイルレベル)に応じて, 
       SimpleThresholdPolicy::call_predicate_helper() のテンプレート引数の値を変えている.
       * cur_level が CompLevel_none もしくは CompLevel_limited_profile の場合:
         テンプレート引数は CompLevel_none
       * cur_level が CompLevel_full_profile の場合:
         テンプレート引数は CompLevel_full_profile
      )


      (なお, 正確には cur_level 引数の値が
      CompLevel_none, CompLevel_limited_profile, CompLevel_full_profile のどれでもない場合には
      true をリターンする, という処理パスもある
      ただし, 現状では SimpleThresholdPolicy::common() からしか呼び出されておらず, 
      上記以外の値がくることはない模様)
      ---------------------------------------- -}

      switch(cur_level) {
      case CompLevel_none:
      case CompLevel_limited_profile: {
        return call_predicate_helper<CompLevel_none>(i, b, 1.0);
      }
      case CompLevel_full_profile: {
        return call_predicate_helper<CompLevel_full_profile>(i, b, 1.0);
      }
      default:
        return true;
      }
    }

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