< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
Print this page
rev 53044 : Concurrent stringtable processing
*** 281,299 ****
--- 281,303 ----
// Heap is under updating: needs SVRB/SVWB barriers.
UPDATEREFS_BITPOS = 3,
// Heap is under traversal collection
TRAVERSAL_BITPOS = 4,
+
+ // We're cleaning weakrefs and similar constructs.
+ REFCLEANING_BITPOS = 5,
};
enum GCState {
STABLE = 0,
HAS_FORWARDED = 1 << HAS_FORWARDED_BITPOS,
MARKING = 1 << MARKING_BITPOS,
EVACUATION = 1 << EVACUATION_BITPOS,
UPDATEREFS = 1 << UPDATEREFS_BITPOS,
TRAVERSAL = 1 << TRAVERSAL_BITPOS,
+ REFCLEANING = 1 << REFCLEANING_BITPOS,
};
private:
ShenandoahSharedBitmap _gc_state;
ShenandoahSharedFlag _degenerated_gc_in_progress;
*** 314,333 ****
--- 318,339 ----
void set_degenerated_gc_in_progress(bool in_progress);
void set_full_gc_in_progress(bool in_progress);
void set_full_gc_move_in_progress(bool in_progress);
void set_concurrent_traversal_in_progress(bool in_progress);
void set_has_forwarded_objects(bool cond);
+ void set_refcleaning_in_progress(bool in_progress);
inline bool is_stable() const;
inline bool is_idle() const;
inline bool is_concurrent_mark_in_progress() const;
inline bool is_update_refs_in_progress() const;
inline bool is_evacuation_in_progress() const;
inline bool is_degenerated_gc_in_progress() const;
inline bool is_full_gc_in_progress() const;
inline bool is_full_gc_move_in_progress() const;
inline bool is_concurrent_traversal_in_progress() const;
+ inline bool is_refcleaning_in_progress() const;
inline bool has_forwarded_objects() const;
inline bool is_gc_in_progress_mask(uint mask) const;
// ---------- GC cancellation and degeneration machinery
//
< prev index next >