--- old/src/share/vm/oops/methodCounters.hpp 2014-09-10 18:43:47.000000000 -0700 +++ new/src/share/vm/oops/methodCounters.hpp 2014-09-10 18:43:47.000000000 -0700 @@ -49,6 +49,8 @@ #ifdef TIERED float _rate; // Events (invocation and backedge counter increments) per millisecond jlong _prev_time; // Previous time the rate was acquired + u1 _highest_comp_level; // Highest compile level this method has ever seen. + u1 _highest_osr_comp_level; // Same for OSR level #endif MethodCounters() : _interpreter_invocation_count(0), @@ -57,7 +59,9 @@ _nmethod_age(INT_MAX) #ifdef TIERED , _rate(0), - _prev_time(0) + _prev_time(0), + _highest_comp_level(0), + _highest_osr_comp_level(0) #endif { invocation_counter()->init(); @@ -114,6 +118,11 @@ void set_rate(float rate) { _rate = rate; } #endif + int highest_comp_level() const; + void set_highest_comp_level(int level); + int highest_osr_comp_level() const; + void set_highest_osr_comp_level(int level); + // invocation counter InvocationCounter* invocation_counter() { return &_invocation_counter; } InvocationCounter* backedge_counter() { return &_backedge_counter; }