< prev index next >

src/share/vm/utilities/bitMap.hpp

Print this page
rev 13101 : imported patch 8176571-fine-bitmaps-allocated-as-mtgc


 335 class ArenaBitMap : public BitMap {
 336  public:
 337   // Clears the bitmap memory.
 338   ArenaBitMap(Arena* arena, idx_t size_in_bits);
 339 
 340  private:
 341   // Don't allow copy or assignment.
 342   ArenaBitMap(const ArenaBitMap&);
 343   ArenaBitMap& operator=(const ArenaBitMap&);
 344 };
 345 
 346 // A BitMap with storage in the CHeap.
 347 class CHeapBitMap : public BitMap {
 348 
 349  private:
 350   // Don't allow copy or assignment, to prevent the
 351   // allocated memory from leaking out to other instances.
 352   CHeapBitMap(const CHeapBitMap&);
 353   CHeapBitMap& operator=(const CHeapBitMap&);
 354 



 355  public:
 356   CHeapBitMap() : BitMap(NULL, 0) {}

 357   // Clears the bitmap memory.
 358   CHeapBitMap(idx_t size_in_bits);

 359   ~CHeapBitMap();
 360 
 361   // Resize the backing bitmap memory.
 362   //
 363   // Old bits are transfered to the new memory
 364   // and the extended memory is cleared.
 365   void resize(idx_t new_size_in_bits);
 366 
 367   // Set up and clear the bitmap memory.
 368   //
 369   // Precondition: The bitmap was default constructed and has
 370   // not yet had memory allocated via resize or initialize.
 371   void initialize(idx_t size_in_bits);
 372 
 373   // Set up and clear the bitmap memory.
 374   //
 375   // Can be called on previously initialized bitmaps.
 376   void reinitialize(idx_t size_in_bits);
 377 };
 378 




 335 class ArenaBitMap : public BitMap {
 336  public:
 337   // Clears the bitmap memory.
 338   ArenaBitMap(Arena* arena, idx_t size_in_bits);
 339 
 340  private:
 341   // Don't allow copy or assignment.
 342   ArenaBitMap(const ArenaBitMap&);
 343   ArenaBitMap& operator=(const ArenaBitMap&);
 344 };
 345 
 346 // A BitMap with storage in the CHeap.
 347 class CHeapBitMap : public BitMap {
 348 
 349  private:
 350   // Don't allow copy or assignment, to prevent the
 351   // allocated memory from leaking out to other instances.
 352   CHeapBitMap(const CHeapBitMap&);
 353   CHeapBitMap& operator=(const CHeapBitMap&);
 354 
 355   // NMT memory type
 356   MEMFLAGS _flags;
 357 
 358  public:
 359   CHeapBitMap() : BitMap(NULL, 0), _flags(mtInternal) {}
 360   CHeapBitMap(MEMFLAGS flags) : BitMap(NULL, 0), _flags(flags) {}
 361   // Clears the bitmap memory.
 362   CHeapBitMap(idx_t size_in_bits);
 363   CHeapBitMap(idx_t size_in_bits, MEMFLAGS flags);
 364   ~CHeapBitMap();
 365 
 366   // Resize the backing bitmap memory.
 367   //
 368   // Old bits are transfered to the new memory
 369   // and the extended memory is cleared.
 370   void resize(idx_t new_size_in_bits);
 371 
 372   // Set up and clear the bitmap memory.
 373   //
 374   // Precondition: The bitmap was default constructed and has
 375   // not yet had memory allocated via resize or initialize.
 376   void initialize(idx_t size_in_bits);
 377 
 378   // Set up and clear the bitmap memory.
 379   //
 380   // Can be called on previously initialized bitmaps.
 381   void reinitialize(idx_t size_in_bits);
 382 };
 383 


< prev index next >