< prev index next >

src/hotspot/share/gc/g1/g1Allocator.hpp

Print this page
rev 49851 : imported patch 8191471-g1-varying-tlab-allocation


  82                                           size_t desired_word_size,
  83                                           size_t* actual_word_size);
  84 public:
  85   G1Allocator(G1CollectedHeap* heap);
  86 
  87 #ifdef ASSERT
  88   // Do we currently have an active mutator region to allocate into?
  89   bool has_mutator_alloc_region() { return mutator_alloc_region()->get() != NULL; }
  90 #endif
  91 
  92   void init_mutator_alloc_region();
  93   void release_mutator_alloc_region();
  94 
  95   void init_gc_alloc_regions(EvacuationInfo& evacuation_info);
  96   void release_gc_alloc_regions(EvacuationInfo& evacuation_info);
  97   void abandon_gc_alloc_regions();
  98   bool is_retained_old_region(HeapRegion* hr);
  99 
 100   // Allocate blocks of memory during mutator time.
 101 
 102   inline HeapWord* attempt_allocation(size_t word_size);


 103   inline HeapWord* attempt_allocation_locked(size_t word_size);
 104   inline HeapWord* attempt_allocation_force(size_t word_size);
 105 
 106   size_t unsafe_max_tlab_alloc();
 107   size_t used_in_alloc_regions();
 108 
 109   // Allocate blocks of memory during garbage collection. Will ensure an
 110   // allocation region, either by picking one or expanding the
 111   // heap, and then allocate a block of the given size. The block
 112   // may not be a humongous - it must fit into a single heap region.
 113   HeapWord* par_allocate_during_gc(InCSetState dest,
 114                                    size_t word_size);
 115 
 116   HeapWord* par_allocate_during_gc(InCSetState dest,
 117                                    size_t min_word_size,
 118                                    size_t desired_word_size,
 119                                    size_t* actual_word_size);
 120 };
 121 
 122 // Manages the PLABs used during garbage collection. Interface for allocation from PLABs.




  82                                           size_t desired_word_size,
  83                                           size_t* actual_word_size);
  84 public:
  85   G1Allocator(G1CollectedHeap* heap);
  86 
  87 #ifdef ASSERT
  88   // Do we currently have an active mutator region to allocate into?
  89   bool has_mutator_alloc_region() { return mutator_alloc_region()->get() != NULL; }
  90 #endif
  91 
  92   void init_mutator_alloc_region();
  93   void release_mutator_alloc_region();
  94 
  95   void init_gc_alloc_regions(EvacuationInfo& evacuation_info);
  96   void release_gc_alloc_regions(EvacuationInfo& evacuation_info);
  97   void abandon_gc_alloc_regions();
  98   bool is_retained_old_region(HeapRegion* hr);
  99 
 100   // Allocate blocks of memory during mutator time.
 101 
 102   inline HeapWord* attempt_allocation(size_t min_word_size,
 103                                       size_t desired_word_size,
 104                                       size_t* actual_word_size);
 105   inline HeapWord* attempt_allocation_locked(size_t word_size);
 106   inline HeapWord* attempt_allocation_force(size_t word_size);
 107 
 108   size_t unsafe_max_tlab_alloc();
 109   size_t used_in_alloc_regions();
 110 
 111   // Allocate blocks of memory during garbage collection. Will ensure an
 112   // allocation region, either by picking one or expanding the
 113   // heap, and then allocate a block of the given size. The block
 114   // may not be a humongous - it must fit into a single heap region.
 115   HeapWord* par_allocate_during_gc(InCSetState dest,
 116                                    size_t word_size);
 117 
 118   HeapWord* par_allocate_during_gc(InCSetState dest,
 119                                    size_t min_word_size,
 120                                    size_t desired_word_size,
 121                                    size_t* actual_word_size);
 122 };
 123 
 124 // Manages the PLABs used during garbage collection. Interface for allocation from PLABs.


< prev index next >