< prev index next >

src/share/vm/runtime/jniHandles.hpp

Print this page
rev 13309 : 8185263: Fix zero build after 8169881, 8175318, 8178350
Reviewed-by:


 135   oop*            _free_list;                   // Handle free list
 136   int             _allocate_before_rebuild;     // Number of blocks to allocate before rebuilding free list
 137 
 138   // Check JNI, "planned capacity" for current frame (or push/ensure)
 139   size_t          _planned_capacity;
 140 
 141   #ifndef PRODUCT
 142   JNIHandleBlock* _block_list_link;             // Link for list below
 143   static JNIHandleBlock* _block_list;           // List of all allocated blocks (for debugging only)
 144   #endif
 145 
 146   static JNIHandleBlock* _block_free_list;      // Free list of currently unused blocks
 147   static int      _blocks_allocated;            // For debugging/printing
 148 
 149   // Fill block with bad_handle values
 150   void zap();
 151 
 152   // Free list computation
 153   void rebuild_free_list();
 154 



 155  public:
 156   // Handle allocation
 157   jobject allocate_handle(oop obj);
 158 
 159   // Release Handle
 160   void release_handle(jobject);
 161 
 162   // Block allocation and block free list management
 163   static JNIHandleBlock* allocate_block(Thread* thread = NULL);
 164   static void release_block(JNIHandleBlock* block, Thread* thread = NULL);
 165 
 166   // JNI PushLocalFrame/PopLocalFrame support
 167   JNIHandleBlock* pop_frame_link() const          { return _pop_frame_link; }
 168   void set_pop_frame_link(JNIHandleBlock* block)  { _pop_frame_link = block; }
 169 
 170   // Stub generator support
 171   static int top_offset_in_bytes()                { return offset_of(JNIHandleBlock, _top); }
 172 
 173   // Garbage collection support
 174   // Traversal of regular handles




 135   oop*            _free_list;                   // Handle free list
 136   int             _allocate_before_rebuild;     // Number of blocks to allocate before rebuilding free list
 137 
 138   // Check JNI, "planned capacity" for current frame (or push/ensure)
 139   size_t          _planned_capacity;
 140 
 141   #ifndef PRODUCT
 142   JNIHandleBlock* _block_list_link;             // Link for list below
 143   static JNIHandleBlock* _block_list;           // List of all allocated blocks (for debugging only)
 144   #endif
 145 
 146   static JNIHandleBlock* _block_free_list;      // Free list of currently unused blocks
 147   static int      _blocks_allocated;            // For debugging/printing
 148 
 149   // Fill block with bad_handle values
 150   void zap();
 151 
 152   // Free list computation
 153   void rebuild_free_list();
 154 
 155   // No more handles in the both the current and following blocks
 156   void clear() { _top = 0; }
 157 
 158  public:
 159   // Handle allocation
 160   jobject allocate_handle(oop obj);
 161 
 162   // Release Handle
 163   void release_handle(jobject);
 164 
 165   // Block allocation and block free list management
 166   static JNIHandleBlock* allocate_block(Thread* thread = NULL);
 167   static void release_block(JNIHandleBlock* block, Thread* thread = NULL);
 168 
 169   // JNI PushLocalFrame/PopLocalFrame support
 170   JNIHandleBlock* pop_frame_link() const          { return _pop_frame_link; }
 171   void set_pop_frame_link(JNIHandleBlock* block)  { _pop_frame_link = block; }
 172 
 173   // Stub generator support
 174   static int top_offset_in_bytes()                { return offset_of(JNIHandleBlock, _top); }
 175 
 176   // Garbage collection support
 177   // Traversal of regular handles


< prev index next >