Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/vm/runtime/simpleThresholdPolicy.hpp
          +++ new/src/share/vm/runtime/simpleThresholdPolicy.hpp
↓ open down ↓ 90 lines elided ↑ open up ↑
  91   91                                         CompLevel level, nmethod* nm, TRAPS);
  92   92    virtual void method_back_branch_event(methodHandle method, methodHandle inlinee,
  93   93                                          int bci, CompLevel level, nmethod* nm, TRAPS);
  94   94  public:
  95   95    SimpleThresholdPolicy() : _c1_count(0), _c2_count(0) { }
  96   96    virtual int compiler_count(CompLevel comp_level) {
  97   97      if (is_c1_compile(comp_level)) return c1_count();
  98   98      if (is_c2_compile(comp_level)) return c2_count();
  99   99      return 0;
 100  100    }
      101 +  virtual CompLevel initial_compile_level() { return MIN2((CompLevel)TieredStopAtLevel, CompLevel_initial_compile); }
 101  102    virtual void do_safepoint_work() { }
 102  103    virtual void delay_compilation(methodOop method) { }
 103  104    virtual void disable_compilation(methodOop method) { }
 104  105    virtual void reprofile(ScopeDesc* trap_scope, bool is_osr);
 105  106    virtual nmethod* event(methodHandle method, methodHandle inlinee,
 106  107                           int branch_bci, int bci, CompLevel comp_level, nmethod* nm, TRAPS);
 107  108    // Select task is called by CompileBroker. We should return a task or NULL.
 108  109    virtual CompileTask* select_task(CompileQueue* compile_queue);
 109  110    // Tell the runtime if we think a given method is adequately profiled.
 110  111    virtual bool is_mature(methodOop method);
 111  112    // Initialize: set compiler thread count
 112  113    virtual void initialize();
 113  114    virtual bool should_not_inline(ciEnv* env, ciMethod* callee) {
 114  115      return (env->comp_level() == CompLevel_limited_profile ||
 115  116              env->comp_level() == CompLevel_full_profile) &&
 116  117              callee->has_loops();
 117  118    }
 118  119  };
 119  120  
 120  121  #endif // SHARE_VM_RUNTIME_SIMPLETHRESHOLDPOLICY_HPP
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX