< prev index next >

src/hotspot/share/oops/methodCounters.hpp

Print this page
@@ -43,10 +43,14 @@
  
   private:
    InvocationCounter _invocation_counter;         // Incremented before each activation of the method - used to trigger frequency-based optimizations
    InvocationCounter _backedge_counter;           // Incremented before each backedge taken - used to trigger frequency-based optimizations
  
+   int64_t _jit_code_invocation_count;    // C2 code invocations count during training used as limit for AOT code invocation
+   int     _aot_code_invocation_count;    // C2 AOT code invocations count
+   int     _aot_code_recompile_requested; // Request for JIT compilation to replace AOT code was made
+ 
    // Back pointer to the Method*
    Method* _method;
  
    Metadata*         _method_training_data;
    jlong             _prev_time;                   // Previous time the rate was acquired

@@ -128,10 +132,14 @@
  
    // invocation counter
    InvocationCounter* invocation_counter() { return &_invocation_counter; }
    InvocationCounter* backedge_counter()   { return &_backedge_counter; }
  
+   int64_t jit_code_invocation_count() const      { return _jit_code_invocation_count; }
+   int     aot_code_invocation_count() const      { return _aot_code_invocation_count;}
+   int     aot_code_recompile_requested() const   { return _aot_code_recompile_requested;}
+ 
    static ByteSize invocation_counter_offset()    {
      return byte_offset_of(MethodCounters, _invocation_counter);
    }
  
    static ByteSize backedge_counter_offset()      {

@@ -144,10 +152,22 @@
  
    static ByteSize backedge_mask_offset() {
      return byte_offset_of(MethodCounters, _backedge_mask);
    }
  
+   static ByteSize jit_code_invocation_counter_offset()  {
+     return byte_offset_of(MethodCounters, _jit_code_invocation_count);
+   }
+ 
+   static ByteSize aot_code_invocation_counter_offset()  {
+     return byte_offset_of(MethodCounters, _aot_code_invocation_count);
+   }
+ 
+   static ByteSize aot_code_recompile_requested_offset() {
+     return byte_offset_of(MethodCounters, _aot_code_recompile_requested);
+   }
+ 
    virtual const char* internal_name() const { return "{method counters}"; }
  
    Metadata* method_training_data_sentinel() {
      return this;
    }
< prev index next >