hotspot/src/share/vm/runtime/thread.hpp
changeset 28039 bf5a8340bf8a
parent 27917 c5937f7b4e8b
child 29321 b7582a690cb9
child 29326 ebaa169c6dc3
child 29185 41cf0610fedf
equal deleted inserted replaced
28038:76e7ca4c8b6e 28039:bf5a8340bf8a
   906 
   906 
   907   // JVMTI PopFrame support
   907   // JVMTI PopFrame support
   908   // This is set to popframe_pending to signal that top Java frame should be popped immediately
   908   // This is set to popframe_pending to signal that top Java frame should be popped immediately
   909   int _popframe_condition;
   909   int _popframe_condition;
   910 
   910 
       
   911   // If reallocation of scalar replaced objects fails, we throw OOM
       
   912   // and during exception propagation, pop the top
       
   913   // _frames_to_pop_failed_realloc frames, the ones that reference
       
   914   // failed reallocations.
       
   915   int _frames_to_pop_failed_realloc;
       
   916 
   911 #ifndef PRODUCT
   917 #ifndef PRODUCT
   912   int _jmp_ring_index;
   918   int _jmp_ring_index;
   913   struct {
   919   struct {
   914     // We use intptr_t instead of address so debugger doesn't try and display strings
   920     // We use intptr_t instead of address so debugger doesn't try and display strings
   915     intptr_t _target;
   921     intptr_t _target;
  1565   bool pop_frame_in_process(void)                     { return ((_popframe_condition & popframe_processing_bit) != 0); }
  1571   bool pop_frame_in_process(void)                     { return ((_popframe_condition & popframe_processing_bit) != 0); }
  1566   void set_pop_frame_in_process(void)                 { _popframe_condition |= popframe_processing_bit; }
  1572   void set_pop_frame_in_process(void)                 { _popframe_condition |= popframe_processing_bit; }
  1567   void clr_pop_frame_in_process(void)                 { _popframe_condition &= ~popframe_processing_bit; }
  1573   void clr_pop_frame_in_process(void)                 { _popframe_condition &= ~popframe_processing_bit; }
  1568 #endif
  1574 #endif
  1569 
  1575 
       
  1576   int frames_to_pop_failed_realloc() const            { return _frames_to_pop_failed_realloc; }
       
  1577   void set_frames_to_pop_failed_realloc(int nb)       { _frames_to_pop_failed_realloc = nb; }
       
  1578   void dec_frames_to_pop_failed_realloc()             { _frames_to_pop_failed_realloc--; }
       
  1579 
  1570  private:
  1580  private:
  1571   // Saved incoming arguments to popped frame.
  1581   // Saved incoming arguments to popped frame.
  1572   // Used only when popped interpreted frame returns to deoptimized frame.
  1582   // Used only when popped interpreted frame returns to deoptimized frame.
  1573   void*    _popframe_preserved_args;
  1583   void*    _popframe_preserved_args;
  1574   int      _popframe_preserved_args_size;
  1584   int      _popframe_preserved_args_size;