comparison src/share/vm/runtime/compilationPolicy.hpp @ 3837:43f9d800f276

7066339: Tiered: policy should make consistent decisions about osr levels Summary: Added feedback disabling flag to common(), fixed handling of TieredStopAtLevel. Reviewed-by: kvn, never
author iveresov
date Wed, 20 Jul 2011 18:04:17 -0700
parents 2c359f27615c
children 04b9a2566eec 20334ed5ed3c
comparison
equal deleted inserted replaced
3808:341a57af9b0a 3837:43f9d800f276
57 static CompilationPolicy* policy() { return _policy; } 57 static CompilationPolicy* policy() { return _policy; }
58 58
59 // Profiling 59 // Profiling
60 elapsedTimer* accumulated_time() { return &_accumulated_time; } 60 elapsedTimer* accumulated_time() { return &_accumulated_time; }
61 void print_time() PRODUCT_RETURN; 61 void print_time() PRODUCT_RETURN;
62 // Return initial compile level that is used with Xcomp
63 virtual CompLevel initial_compile_level() = 0;
62 virtual int compiler_count(CompLevel comp_level) = 0; 64 virtual int compiler_count(CompLevel comp_level) = 0;
63 // main notification entry, return a pointer to an nmethod if the OSR is required, 65 // main notification entry, return a pointer to an nmethod if the OSR is required,
64 // returns NULL otherwise. 66 // returns NULL otherwise.
65 virtual nmethod* event(methodHandle method, methodHandle inlinee, int branch_bci, int bci, CompLevel comp_level, nmethod* nm, TRAPS) = 0; 67 virtual nmethod* event(methodHandle method, methodHandle inlinee, int branch_bci, int bci, CompLevel comp_level, nmethod* nm, TRAPS) = 0;
66 // safepoint() is called at the end of the safepoint 68 // safepoint() is called at the end of the safepoint
92 static void trace_osr_completion(nmethod* osr_nm); 94 static void trace_osr_completion(nmethod* osr_nm);
93 void reset_counter_for_invocation_event(methodHandle method); 95 void reset_counter_for_invocation_event(methodHandle method);
94 void reset_counter_for_back_branch_event(methodHandle method); 96 void reset_counter_for_back_branch_event(methodHandle method);
95 public: 97 public:
96 NonTieredCompPolicy() : _compiler_count(0) { } 98 NonTieredCompPolicy() : _compiler_count(0) { }
99 virtual CompLevel initial_compile_level() { return CompLevel_initial_compile; }
97 virtual int compiler_count(CompLevel comp_level); 100 virtual int compiler_count(CompLevel comp_level);
98 virtual void do_safepoint_work(); 101 virtual void do_safepoint_work();
99 virtual void reprofile(ScopeDesc* trap_scope, bool is_osr); 102 virtual void reprofile(ScopeDesc* trap_scope, bool is_osr);
100 virtual void delay_compilation(methodOop method); 103 virtual void delay_compilation(methodOop method);
101 virtual void disable_compilation(methodOop method); 104 virtual void disable_compilation(methodOop method);