< prev index next >

src/share/vm/gc/g1/heapRegion.hpp

Print this page




 438   bool is_old() const { return _type.is_old(); }
 439 
 440   // A pinned region contains objects which are not moved by garbage collections.
 441   // Humongous regions and archive regions are pinned.
 442   bool is_pinned() const { return _type.is_pinned(); }
 443 
 444   // An archive region is a pinned region, also tagged as old, which
 445   // should not be marked during mark/sweep. This allows the address
 446   // space to be shared by JVM instances.
 447   bool is_archive() const { return _type.is_archive(); }
 448 
 449   // For a humongous region, region in which it starts.
 450   HeapRegion* humongous_start_region() const {
 451     return _humongous_start_region;
 452   }
 453 
 454   // Makes the current region be a "starts humongous" region, i.e.,
 455   // the first region in a series of one or more contiguous regions
 456   // that will contain a single "humongous" object.
 457   //
 458   // obj_top : points to the end of the humongous object that's being
 459   // allocated.
 460   void set_starts_humongous(HeapWord* obj_top);
 461 
 462   // Makes the current region be a "continues humongous'
 463   // region. first_hr is the "start humongous" region of the series
 464   // which this region will be part of.
 465   void set_continues_humongous(HeapRegion* first_hr);
 466 
 467   // Unsets the humongous-related fields on the region.
 468   void clear_humongous();
 469 
 470   // If the region has a remembered set, return a pointer to it.
 471   HeapRegionRemSet* rem_set() const {
 472     return _rem_set;
 473   }
 474 
 475   inline bool in_collection_set() const;
 476 
 477   inline HeapRegion* next_in_collection_set() const;
 478   inline void set_next_in_collection_set(HeapRegion* r);
 479 
 480   void set_allocation_context(AllocationContext_t context) {




 438   bool is_old() const { return _type.is_old(); }
 439 
 440   // A pinned region contains objects which are not moved by garbage collections.
 441   // Humongous regions and archive regions are pinned.
 442   bool is_pinned() const { return _type.is_pinned(); }
 443 
 444   // An archive region is a pinned region, also tagged as old, which
 445   // should not be marked during mark/sweep. This allows the address
 446   // space to be shared by JVM instances.
 447   bool is_archive() const { return _type.is_archive(); }
 448 
 449   // For a humongous region, region in which it starts.
 450   HeapRegion* humongous_start_region() const {
 451     return _humongous_start_region;
 452   }
 453 
 454   // Makes the current region be a "starts humongous" region, i.e.,
 455   // the first region in a series of one or more contiguous regions
 456   // that will contain a single "humongous" object.
 457   //
 458   // end : points to the end of the humongous region series.
 459   void set_starts_humongous(HeapWord* end);

 460 
 461   // Makes the current region be a "continues humongous'
 462   // region. first_hr is the "start humongous" region of the series
 463   // which this region will be part of.
 464   void set_continues_humongous(HeapRegion* first_hr);
 465 
 466   // Unsets the humongous-related fields on the region.
 467   void clear_humongous();
 468 
 469   // If the region has a remembered set, return a pointer to it.
 470   HeapRegionRemSet* rem_set() const {
 471     return _rem_set;
 472   }
 473 
 474   inline bool in_collection_set() const;
 475 
 476   inline HeapRegion* next_in_collection_set() const;
 477   inline void set_next_in_collection_set(HeapRegion* r);
 478 
 479   void set_allocation_context(AllocationContext_t context) {


< prev index next >