< prev index next >

src/share/vm/gc/shenandoah/shenandoahHeap.hpp

Print this page
rev 13080 : Partial GC: Only evacuating threads push oop to work queue.


 320 
 321   void set_region_in_collection_set(size_t region_index, bool b);
 322 
 323   // Mainly there to avoid accidentally calling the templated
 324   // method below with ShenandoahHeapRegion* which would be *wrong*.
 325   inline bool in_collection_set(ShenandoahHeapRegion* r) const;
 326 
 327   template <class T>
 328   inline bool in_collection_set(T obj) const;
 329 
 330   void clear_cset_fast_test();
 331 
 332   inline bool allocated_after_next_mark_start(HeapWord* addr) const;
 333   void set_next_top_at_mark_start(HeapWord* region_base, HeapWord* addr);
 334   HeapWord* next_top_at_mark_start(HeapWord* region_base);
 335 
 336   inline bool allocated_after_complete_mark_start(HeapWord* addr) const;
 337   void set_complete_top_at_mark_start(HeapWord* region_base, HeapWord* addr);
 338   HeapWord* complete_top_at_mark_start(HeapWord* region_base);
 339 
 340   inline oop  evacuate_object(oop src, Thread* thread);




 341   inline bool cancelled_concgc() const;
 342   inline void set_cancelled_concgc(bool v);
 343   inline bool try_cancel_concgc() const;
 344   void clear_cancelled_concgc();
 345 
 346   ShenandoahHeapRegionSet* regions() { return _ordered_regions;}
 347   ShenandoahFreeSet* free_regions();
 348   ShenandoahCollectionSet* collection_set() { return _collection_set; }
 349   void clear_free_regions();
 350   void add_free_region(ShenandoahHeapRegion* r);
 351 
 352   ShenandoahConnectionMatrix* connection_matrix();
 353 
 354   void increase_used(size_t bytes);
 355   void decrease_used(size_t bytes);
 356 
 357   void set_used(size_t bytes);
 358   size_t calculateUsed();
 359 
 360   size_t garbage();




 320 
 321   void set_region_in_collection_set(size_t region_index, bool b);
 322 
 323   // Mainly there to avoid accidentally calling the templated
 324   // method below with ShenandoahHeapRegion* which would be *wrong*.
 325   inline bool in_collection_set(ShenandoahHeapRegion* r) const;
 326 
 327   template <class T>
 328   inline bool in_collection_set(T obj) const;
 329 
 330   void clear_cset_fast_test();
 331 
 332   inline bool allocated_after_next_mark_start(HeapWord* addr) const;
 333   void set_next_top_at_mark_start(HeapWord* region_base, HeapWord* addr);
 334   HeapWord* next_top_at_mark_start(HeapWord* region_base);
 335 
 336   inline bool allocated_after_complete_mark_start(HeapWord* addr) const;
 337   void set_complete_top_at_mark_start(HeapWord* region_base, HeapWord* addr);
 338   HeapWord* complete_top_at_mark_start(HeapWord* region_base);
 339 
 340   // Evacuates object src. Returns the evacuated object if this thread
 341   // succeeded, otherwise rolls back the evacuation and returns the
 342   // evacuated object by the competing thread. 'succeeded' is an out
 343   // param and set to true if this thread succeeded, otherwise to false.
 344   inline oop  evacuate_object(oop src, Thread* thread, bool& evacuated);
 345   inline bool cancelled_concgc() const;
 346   inline void set_cancelled_concgc(bool v);
 347   inline bool try_cancel_concgc() const;
 348   void clear_cancelled_concgc();
 349 
 350   ShenandoahHeapRegionSet* regions() { return _ordered_regions;}
 351   ShenandoahFreeSet* free_regions();
 352   ShenandoahCollectionSet* collection_set() { return _collection_set; }
 353   void clear_free_regions();
 354   void add_free_region(ShenandoahHeapRegion* r);
 355 
 356   ShenandoahConnectionMatrix* connection_matrix();
 357 
 358   void increase_used(size_t bytes);
 359   void decrease_used(size_t bytes);
 360 
 361   void set_used(size_t bytes);
 362   size_t calculateUsed();
 363 
 364   size_t garbage();


< prev index next >