diff src/share/vm/oops/methodCounters.hpp @ 20457:631667807de7

8058184: Move _highest_comp_level and _highest_osr_comp_level from MethodData to MethodCounters Summary: Tiered policy requires highest compilation levels always available Reviewed-by: kvn, vlivanov
author iveresov
date Thu, 11 Sep 2014 12:18:26 -0700
parents aeaca88565e6
children 7848fc12602b
line wrap: on
line diff
--- a/src/share/vm/oops/methodCounters.hpp	Thu Sep 11 15:41:43 2014 +0000
+++ b/src/share/vm/oops/methodCounters.hpp	Thu Sep 11 12:18:26 2014 -0700
@@ -39,6 +39,8 @@
 
 #ifdef TIERED
   float             _rate;                        // Events (invocation and backedge counter increments) per millisecond
+  u1                _highest_comp_level;          // Highest compile level this method has ever seen.
+  u1                _highest_osr_comp_level;      // Same for OSR level
   jlong             _prev_time;                   // Previous time the rate was acquired
 #endif
 
@@ -47,6 +49,8 @@
                      _number_of_breakpoints(0)
 #ifdef TIERED
                    , _rate(0),
+                     _highest_comp_level(0),
+                     _highest_osr_comp_level(0),
                      _prev_time(0)
 #endif
   {
@@ -100,6 +104,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; }