< prev index next >
src/hotspot/share/jfr/leakprofiler/chains/objectSampleMarker.hpp
Print this page
*** 43,53 ****
markWord _mark_word;
ObjectSampleMarkWord(const oop obj,
const markWord mark_word) : _obj(obj),
_mark_word(mark_word) {}
public:
! ObjectSampleMarkWord() : _obj(NULL), _mark_word(0) {}
};
GrowableArray<ObjectSampleMarkWord>* _store;
public:
--- 43,53 ----
markWord _mark_word;
ObjectSampleMarkWord(const oop obj,
const markWord mark_word) : _obj(obj),
_mark_word(mark_word) {}
public:
! ObjectSampleMarkWord() : _obj(NULL), _mark_word(markWord::zero) {}
};
GrowableArray<ObjectSampleMarkWord>* _store;
public:
*** 70,81 ****
// now we will "poison" the mark word of the sample object
// to the intermediate monitor INFLATING state.
// This is an "impossible" state during a safepoint,
// hence we will use it to quickly identify sample objects
// during the reachability search from gc roots.
! assert(0 == markWord::INFLATING().value(), "invariant");
obj->set_mark(markWord::INFLATING());
! assert(0 == obj->mark().value(), "invariant");
}
};
#endif // SHARE_JFR_LEAKPROFILER_CHAINS_OBJECTSAMPLEMARKER_HPP
--- 70,81 ----
// now we will "poison" the mark word of the sample object
// to the intermediate monitor INFLATING state.
// This is an "impossible" state during a safepoint,
// hence we will use it to quickly identify sample objects
// during the reachability search from gc roots.
! assert(NULL == markWord::INFLATING().to_pointer(), "invariant");
obj->set_mark(markWord::INFLATING());
! assert(NULL == obj->mark().to_pointer(), "invariant");
}
};
#endif // SHARE_JFR_LEAKPROFILER_CHAINS_OBJECTSAMPLEMARKER_HPP
< prev index next >