390
391 void roots_iterate(OopClosure* cl);
392
393 private:
394 void set_gc_state_mask(uint mask, bool value);
395 void set_gc_state_mask_concurrently(uint mask, bool value);
396
397 public:
398 void set_concurrent_mark_in_progress(bool in_progress);
399 void set_evacuation_in_progress_concurrently(bool in_progress);
400 void set_evacuation_in_progress_at_safepoint(bool in_progress);
401 void set_update_refs_in_progress(bool in_progress);
402 void set_degenerated_gc_in_progress(bool in_progress);
403 void set_full_gc_in_progress(bool in_progress);
404 void set_full_gc_move_in_progress(bool in_progress);
405 void set_concurrent_partial_in_progress(bool in_progress);
406 void set_concurrent_traversal_in_progress(bool in_progress);
407 void set_has_forwarded_objects(bool cond);
408
409 inline bool is_stable() const;
410 inline bool is_concurrent_mark_in_progress() const;
411 inline bool is_update_refs_in_progress() const;
412 inline bool is_evacuation_in_progress() const;
413 inline bool is_degenerated_gc_in_progress() const;
414 inline bool is_full_gc_in_progress() const;
415 inline bool is_full_gc_move_in_progress() const;
416 inline bool is_concurrent_partial_in_progress() const;
417 inline bool is_concurrent_traversal_in_progress() const;
418 inline bool has_forwarded_objects() const;
419 inline bool is_gc_in_progress_mask(uint mask) const;
420
421 inline bool region_in_collection_set(size_t region_index) const;
422
423 // Mainly there to avoid accidentally calling the templated
424 // method below with ShenandoahHeapRegion* which would be *wrong*.
425 inline bool in_collection_set(ShenandoahHeapRegion* r) const;
426
427 template <class T>
428 inline bool in_collection_set(T obj) const;
429
|
390
391 void roots_iterate(OopClosure* cl);
392
393 private:
394 void set_gc_state_mask(uint mask, bool value);
395 void set_gc_state_mask_concurrently(uint mask, bool value);
396
397 public:
398 void set_concurrent_mark_in_progress(bool in_progress);
399 void set_evacuation_in_progress_concurrently(bool in_progress);
400 void set_evacuation_in_progress_at_safepoint(bool in_progress);
401 void set_update_refs_in_progress(bool in_progress);
402 void set_degenerated_gc_in_progress(bool in_progress);
403 void set_full_gc_in_progress(bool in_progress);
404 void set_full_gc_move_in_progress(bool in_progress);
405 void set_concurrent_partial_in_progress(bool in_progress);
406 void set_concurrent_traversal_in_progress(bool in_progress);
407 void set_has_forwarded_objects(bool cond);
408
409 inline bool is_stable() const;
410 inline bool is_idle() const;
411 inline bool is_concurrent_mark_in_progress() const;
412 inline bool is_update_refs_in_progress() const;
413 inline bool is_evacuation_in_progress() const;
414 inline bool is_degenerated_gc_in_progress() const;
415 inline bool is_full_gc_in_progress() const;
416 inline bool is_full_gc_move_in_progress() const;
417 inline bool is_concurrent_partial_in_progress() const;
418 inline bool is_concurrent_traversal_in_progress() const;
419 inline bool has_forwarded_objects() const;
420 inline bool is_gc_in_progress_mask(uint mask) const;
421
422 inline bool region_in_collection_set(size_t region_index) const;
423
424 // Mainly there to avoid accidentally calling the templated
425 // method below with ShenandoahHeapRegion* which would be *wrong*.
426 inline bool in_collection_set(ShenandoahHeapRegion* r) const;
427
428 template <class T>
429 inline bool in_collection_set(T obj) const;
430
|