Top


定義場所(file name)

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

名前(function name)

void AdvancedThresholdPolicy::initialize() {

本体部(body)

  {- -------------------------------------------
  (1) オプションの値を調整
      ---------------------------------------- -}

      // Turn on ergonomic compiler count selection
      if (FLAG_IS_DEFAULT(CICompilerCountPerCPU) && FLAG_IS_DEFAULT(CICompilerCount)) {
        FLAG_SET_DEFAULT(CICompilerCountPerCPU, true);
      }

  {- -------------------------------------------
  (1) (変数宣言など)
      ---------------------------------------- -}

      int count = CICompilerCount;
      if (CICompilerCountPerCPU) {
        // Simple log n seems to grow too slowly for tiered, try something faster: log n * log log n
        int log_cpu = log2_intptr(os::active_processor_count());
        int loglog_cpu = log2_intptr(MAX2(log_cpu, 1));
        count = MAX2(log_cpu * loglog_cpu, 1) * 3 / 2;
      }

  {- -------------------------------------------
  (1) (フィールドの初期化)
      ---------------------------------------- -}

      set_c1_count(MAX2(count / 3, 1));
      set_c2_count(MAX2(count - count / 3, 1));

  {- -------------------------------------------
  (1) オプションの値を調整
      ---------------------------------------- -}

      // Some inlining tuning
    #ifdef X86
      if (FLAG_IS_DEFAULT(InlineSmallCode)) {
        FLAG_SET_DEFAULT(InlineSmallCode, 2000);
      }
    #endif

    #ifdef SPARC
      if (FLAG_IS_DEFAULT(InlineSmallCode)) {
        FLAG_SET_DEFAULT(InlineSmallCode, 2500);
      }
    #endif


  {- -------------------------------------------
  (1) (フィールドの初期化)
      ---------------------------------------- -}

      set_start_time(os::javaTimeMillis());
    }

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