< prev index next >

src/share/vm/runtime/thread.hpp

Print this page

        

@@ -813,10 +813,13 @@
  private:  // restore original namespace restriction
 #endif
 
   JavaFrameAnchor _anchor;                       // Encapsulation of current java frame and it state
 
+  size_t _bytes_until_sample;                    // Thread local counter to determine when to sample
+                                                 // allocations.
+
   ThreadFunction _entry_point;
 
   JNIEnv        _jni_environment;
 
   // Deopt support

@@ -1100,10 +1103,13 @@
 
   // last_Java_pc
 
   address last_Java_pc(void)                     { return _anchor.last_Java_pc(); }
 
+  // Bytes until next heap sample.
+  size_t* bytes_until_sample()                   { return &_bytes_until_sample; }
+
   // Safepoint support
 #if !(defined(PPC64) || defined(AARCH64))
   JavaThreadState thread_state() const           { return _thread_state; }
   void set_thread_state(JavaThreadState s)       { _thread_state = s;    }
 #else

@@ -1552,10 +1558,11 @@
     return byte_offset_of(JavaThread, _anchor) + JavaFrameAnchor::last_Java_pc_offset();
   }
   static ByteSize frame_anchor_offset() {
     return byte_offset_of(JavaThread, _anchor);
   }
+  static ByteSize bytes_until_sample_offset()    { return byte_offset_of(JavaThread, _bytes_until_sample); }
   static ByteSize callee_target_offset()         { return byte_offset_of(JavaThread, _callee_target); }
   static ByteSize vm_result_offset()             { return byte_offset_of(JavaThread, _vm_result); }
   static ByteSize vm_result_2_offset()           { return byte_offset_of(JavaThread, _vm_result_2); }
   static ByteSize thread_state_offset()          { return byte_offset_of(JavaThread, _thread_state); }
   static ByteSize saved_exception_pc_offset()    { return byte_offset_of(JavaThread, _saved_exception_pc); }
< prev index next >