< prev index next >
src/share/vm/gc/g1/heapRegion.hpp
Print this page
*** 25,34 ****
--- 25,36 ----
#ifndef SHARE_VM_GC_G1_HEAPREGION_HPP
#define SHARE_VM_GC_G1_HEAPREGION_HPP
#include "gc/g1/g1AllocationContext.hpp"
#include "gc/g1/g1BlockOffsetTable.hpp"
+ #include "gc/g1/g1HeapRegionTraceType.hpp"
+ #include "gc/g1/heapRegionTracer.hpp"
#include "gc/g1/heapRegionType.hpp"
#include "gc/g1/survRateGroup.hpp"
#include "gc/shared/ageTable.hpp"
#include "gc/shared/spaceDecorator.hpp"
#include "utilities/macros.hpp"
*** 241,250 ****
--- 243,254 ----
inline size_t scanned_block_size(const HeapWord* addr) const {
return HeapRegion::block_size(addr); // Avoid virtual call
}
+ void report_region_type_change(G1HeapRegionTraceType::Type to);
+
protected:
// The index of this region in the heap region sequence.
uint _hrm_index;
AllocationContext_t _allocation_context;
*** 425,434 ****
--- 429,439 ----
_prev_marked_bytes = _next_marked_bytes = 0;
}
const char* get_type_str() const { return _type.get_str(); }
const char* get_short_type_str() const { return _type.get_short_str(); }
+ G1HeapRegionTraceType::Type get_trace_type() { return _type.get_trace_type(); }
bool is_free() const { return _type.is_free(); }
bool is_young() const { return _type.is_young(); }
bool is_eden() const { return _type.is_eden(); }
*** 635,653 ****
} else {
assert( _age_index == -1, "pre-condition" );
}
}
! void set_free() { _type.set_free(); }
! void set_eden() { _type.set_eden(); }
! void set_eden_pre_gc() { _type.set_eden_pre_gc(); }
! void set_survivor() { _type.set_survivor(); }
! void set_old() { _type.set_old(); }
! void set_archive() { _type.set_archive(); }
// Determine if an object has been allocated since the last
// mark performed by the collector. This returns true iff the object
// is within the unmarked area of the region.
bool obj_allocated_since_prev_marking(oop obj) const {
--- 640,658 ----
} else {
assert( _age_index == -1, "pre-condition" );
}
}
! void set_free();
! void set_eden();
! void set_eden_pre_gc();
! void set_survivor();
! void set_old();
! void set_archive();
// Determine if an object has been allocated since the last
// mark performed by the collector. This returns true iff the object
// is within the unmarked area of the region.
bool obj_allocated_since_prev_marking(oop obj) const {
< prev index next >