< prev index next >

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

Print this page
rev 51547 : Refactor to group marking bitmap and TAMS structure in one class ShenandoahMarkingContext
rev 51548 : [mq]: refactor-marking-context.01

*** 41,50 **** --- 41,51 ---- class ShenandoahCollectorPolicy; class ShenandoahConnectionMatrix; class ShenandoahControlThread; class ShenandoahFastRegionSet; class ShenandoahHeuristics; + class ShenandoahMarkingContext; class ShenandoahPhaseTimings; class ShenandoahHeap; class ShenandoahHeapRegion; class ShenandoahHeapRegionClosure; class ShenandoahCollectionSet;
*** 280,300 **** volatile size_t _used; volatile size_t _committed; MarkBitMap _verification_bit_map; - MarkBitMap _mark_bit_map0; - MarkBitMap _mark_bit_map1; - MarkBitMap* _complete_mark_bit_map; - MarkBitMap* _next_mark_bit_map; MarkBitMap _aux_bit_map; ! HeapWord** _complete_top_at_mark_starts; ! HeapWord** _complete_top_at_mark_starts_base; ! ! HeapWord** _next_top_at_mark_starts; ! HeapWord** _next_top_at_mark_starts_base; volatile size_t _bytes_allocated_since_gc_start; ShenandoahSharedFlag _progress_last_gc; --- 281,294 ---- volatile size_t _used; volatile size_t _committed; MarkBitMap _verification_bit_map; MarkBitMap _aux_bit_map; ! ShenandoahMarkingContext* _complete_marking_context; ! ShenandoahMarkingContext* _next_marking_context; volatile size_t _bytes_allocated_since_gc_start; ShenandoahSharedFlag _progress_last_gc;
*** 499,516 **** inline bool in_collection_set(ShenandoahHeapRegion* r) const; template <class T> inline bool in_collection_set(T obj) const; - inline bool allocated_after_next_mark_start(HeapWord* addr) const; - void set_next_top_at_mark_start(HeapWord* region_base, HeapWord* addr); - HeapWord* next_top_at_mark_start(HeapWord* region_base); - - inline bool allocated_after_complete_mark_start(HeapWord* addr) const; - void set_complete_top_at_mark_start(HeapWord* region_base, HeapWord* addr); - HeapWord* complete_top_at_mark_start(HeapWord* region_base); - // Evacuates object src. Returns the evacuated object if this thread // succeeded, otherwise rolls back the evacuation and returns the // evacuated object by the competing thread. inline oop evacuate_object(oop src, Thread* thread); inline bool cancelled_gc() const; --- 493,502 ----
*** 539,556 **** void notify_alloc(size_t words, bool waste); void reset_next_mark_bitmap(); void reset_next_mark_bitmap_traversal(); ! MarkBitMap* complete_mark_bit_map(); ! MarkBitMap* next_mark_bit_map(); ! inline bool is_marked_complete(oop obj) const; ! inline bool mark_next(oop obj) const; ! inline bool is_marked_next(oop obj) const; ! bool is_next_bitmap_clear(); ! bool is_next_bitmap_clear_range(HeapWord* start, HeapWord* end); ! bool is_complete_bitmap_clear_range(HeapWord* start, HeapWord* end); bool commit_bitmap_slice(ShenandoahHeapRegion *r); bool uncommit_bitmap_slice(ShenandoahHeapRegion *r); // Hint that the bitmap slice is not needed --- 525,541 ---- void notify_alloc(size_t words, bool waste); void reset_next_mark_bitmap(); void reset_next_mark_bitmap_traversal(); ! inline ShenandoahMarkingContext* complete_marking_context() const { ! return _complete_marking_context; ! } ! ! inline ShenandoahMarkingContext* next_marking_context() const { ! return _next_marking_context; ! } bool commit_bitmap_slice(ShenandoahHeapRegion *r); bool uncommit_bitmap_slice(ShenandoahHeapRegion *r); // Hint that the bitmap slice is not needed
*** 622,632 **** template<class T> inline void marked_object_oop_safe_iterate(ShenandoahHeapRegion* region, T* cl); GCTimer* gc_timer() const; ! void swap_mark_bitmaps(); void cancel_gc(GCCause::Cause cause); ShenandoahHeapLock* lock() { return &_lock; } void assert_heaplock_owned_by_current_thread() PRODUCT_RETURN; --- 607,617 ---- template<class T> inline void marked_object_oop_safe_iterate(ShenandoahHeapRegion* region, T* cl); GCTimer* gc_timer() const; ! void swap_mark_contexts(); void cancel_gc(GCCause::Cause cause); ShenandoahHeapLock* lock() { return &_lock; } void assert_heaplock_owned_by_current_thread() PRODUCT_RETURN;
< prev index next >