--- old/src/hotspot/share/jfr/leakprofiler/utilities/saveRestore.cpp 2019-08-13 12:39:50.744237997 +0200 +++ new/src/hotspot/share/jfr/leakprofiler/utilities/saveRestore.cpp 2019-08-13 12:39:50.460233070 +0200 @@ -27,7 +27,7 @@ #include "jfr/leakprofiler/utilities/saveRestore.hpp" #include "oops/oop.inline.hpp" -MarkWordContext::MarkWordContext() : _obj(NULL), _mark_word(0) {} +MarkWordContext::MarkWordContext() : _obj(NULL), _mark_word(markWord::zero) {} MarkWordContext::MarkWordContext(const oop obj) : _obj(obj), _mark_word(obj->mark()) { assert(_obj->mark() == _mark_word, "invariant"); @@ -36,9 +36,9 @@ // This is an "impossible" state during a safepoint, // hence we will use it to quickly identify objects // during the reachability search from gc roots. - assert(0 == markWord::INFLATING().value(), "invariant"); + assert(markWord(markWord::zero) == markWord::INFLATING(), "invariant"); _obj->set_mark(markWord::INFLATING()); - assert(0 == obj->mark().value(), "invariant"); + assert(markWord(markWord::zero) == obj->mark(), "invariant"); } MarkWordContext::~MarkWordContext() { @@ -48,7 +48,7 @@ } } -MarkWordContext::MarkWordContext(const MarkWordContext& rhs) : _obj(NULL), _mark_word(0) { +MarkWordContext::MarkWordContext(const MarkWordContext& rhs) : _obj(NULL), _mark_word(markWord::zero) { swap(const_cast(rhs)); }