< prev index next >

src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionCounters.cpp

Print this page
rev 9705 : [backport] Implement early update references phase.

*** 59,69 **** const char* ns = PerfDataManager::ns_to_string(SUN_GC); const char* fullname = PerfDataManager::counter_name(ns, data_name); assert(!PerfDataManager::exists(fullname), "must not exist"); _regions_data[i] = PerfDataManager::create_long_variable(SUN_GC, data_name, PerfData::U_None, CHECK); - } } } ShenandoahHeapRegionCounters::~ShenandoahHeapRegionCounters() { --- 59,68 ----
*** 77,88 **** if (current - last > ShenandoahRegionSamplingRate && Atomic::cmpxchg(current, &_last_sample_millis, last) == last) { ShenandoahHeap* heap = ShenandoahHeap::heap(); jlong status = 0; ! if (heap->concurrent_mark_in_progress()) status |= 1; ! if (heap->is_evacuation_in_progress()) status |= 2; _status->set_value(status); _timestamp->set_value(os::elapsed_counter()); size_t num_regions = heap->num_regions(); --- 76,88 ---- if (current - last > ShenandoahRegionSamplingRate && Atomic::cmpxchg(current, &_last_sample_millis, last) == last) { ShenandoahHeap* heap = ShenandoahHeap::heap(); jlong status = 0; ! if (heap->concurrent_mark_in_progress()) status |= 1 << 0; ! if (heap->is_evacuation_in_progress()) status |= 1 << 1; ! if (heap->is_update_refs_in_progress()) status |= 1 << 2; _status->set_value(status); _timestamp->set_value(os::elapsed_counter()); size_t num_regions = heap->num_regions();
< prev index next >