66 inline bool is_marked(oop) const;
67 inline bool is_marked_strong(oop obj) const;
68 inline bool is_marked_weak(oop obj) const;
69
70 inline HeapWord* get_next_marked_addr(HeapWord* addr, HeapWord* limit) const;
71
72 inline bool allocated_after_mark_start(oop obj) const;
73 inline bool allocated_after_mark_start(HeapWord* addr) const;
74
75 inline HeapWord* top_at_mark_start(ShenandoahHeapRegion* r) const;
76 inline void capture_top_at_mark_start(ShenandoahHeapRegion* r);
77 inline void reset_top_at_mark_start(ShenandoahHeapRegion* r);
78 void initialize_top_at_mark_start(ShenandoahHeapRegion* r);
79
80 inline void reset_top_bitmap(ShenandoahHeapRegion *r);
81 void clear_bitmap(ShenandoahHeapRegion *r);
82
83 bool is_bitmap_clear() const;
84 bool is_bitmap_clear_range(HeapWord* start, HeapWord* end) const;
85
86 bool is_complete();
87 void mark_complete();
88 void mark_incomplete();
89
90 // Task queues
91 ShenandoahObjToScanQueueSet* task_queues() const { return _task_queues; }
92 };
93
94 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_HPP
|
66 inline bool is_marked(oop) const;
67 inline bool is_marked_strong(oop obj) const;
68 inline bool is_marked_weak(oop obj) const;
69
70 inline HeapWord* get_next_marked_addr(HeapWord* addr, HeapWord* limit) const;
71
72 inline bool allocated_after_mark_start(oop obj) const;
73 inline bool allocated_after_mark_start(HeapWord* addr) const;
74
75 inline HeapWord* top_at_mark_start(ShenandoahHeapRegion* r) const;
76 inline void capture_top_at_mark_start(ShenandoahHeapRegion* r);
77 inline void reset_top_at_mark_start(ShenandoahHeapRegion* r);
78 void initialize_top_at_mark_start(ShenandoahHeapRegion* r);
79
80 inline void reset_top_bitmap(ShenandoahHeapRegion *r);
81 void clear_bitmap(ShenandoahHeapRegion *r);
82
83 bool is_bitmap_clear() const;
84 bool is_bitmap_clear_range(HeapWord* start, HeapWord* end) const;
85
86 size_t count_marked(MemRegion mr) const;
87
88 bool is_complete();
89 void mark_complete();
90 void mark_incomplete();
91
92 // Task queues
93 ShenandoahObjToScanQueueSet* task_queues() const { return _task_queues; }
94 };
95
96 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_HPP
|