PSHeapSummary ParallelScavengeHeap::create_ps_heap_summary() { PSOldGen* old = old_gen(); HeapWord* old_committed_end = (HeapWord*)old->virtual_space()->committed_high_addr(); VirtualSpaceSummary old_summary(old->reserved().start(), old_committed_end, old->reserved().end()); SpaceSummary old_space(old->reserved().start(), old_committed_end, old->used_in_bytes()); PSYoungGen* young = young_gen(); VirtualSpaceSummary young_summary(young->reserved().start(), (HeapWord*)young->virtual_space()->committed_high_addr(), young->reserved().end()); MutableSpace* eden = young_gen()->eden_space(); SpaceSummary eden_space(eden->bottom(), eden->end(), eden->used_in_bytes()); MutableSpace* from = young_gen()->from_space(); SpaceSummary from_space(from->bottom(), from->end(), from->used_in_bytes()); MutableSpace* to = young_gen()->to_space(); SpaceSummary to_space(to->bottom(), to->end(), to->used_in_bytes()); VirtualSpaceSummary heap_summary = create_heap_space_summary(); return PSHeapSummary(heap_summary, used(), old_summary, old_space, young_summary, eden_space, from_space, to_space); }
inline jlong take_sample() { return _m->used_in_bytes(); }
inline void update_used() { _used->set_value(_object_space->used_in_bytes()); }