< prev index next >
src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp
Print this page
rev 57531 : imported patch 8234173.0
*** 129,139 ****
}
if (!_mark_bits->is_marked(pointee)) {
_mark_bits->mark_obj(pointee);
// is the pointee a sample object?
! if (NULL == pointee->mark().to_pointer()) {
add_chain(reference, pointee);
}
// if we are processinig initial root set, don't add to queue
if (_current_parent != NULL) {
--- 129,139 ----
}
if (!_mark_bits->is_marked(pointee)) {
_mark_bits->mark_obj(pointee);
// is the pointee a sample object?
! if (pointee->mark().is_marked()) {
add_chain(reference, pointee);
}
// if we are processinig initial root set, don't add to queue
if (_current_parent != NULL) {
*** 146,156 ****
}
}
void BFSClosure::add_chain(UnifiedOopRef reference, const oop pointee) {
assert(pointee != NULL, "invariant");
! assert(NULL == pointee->mark().to_pointer(), "invariant");
Edge leak_edge(_current_parent, reference);
_edge_store->put_chain(&leak_edge, _current_parent == NULL ? 1 : _current_frontier_level + 2);
}
void BFSClosure::dfs_fallback() {
--- 146,156 ----
}
}
void BFSClosure::add_chain(UnifiedOopRef reference, const oop pointee) {
assert(pointee != NULL, "invariant");
! assert(pointee->mark().is_marked(), "invariant");
Edge leak_edge(_current_parent, reference);
_edge_store->put_chain(&leak_edge, _current_parent == NULL ? 1 : _current_frontier_level + 2);
}
void BFSClosure::dfs_fallback() {
< prev index next >