--- a/src/hotspot/share/gc/g1/g1FullGCOopClosures.inline.hpp Mon Apr 09 08:19:26 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1FullGCOopClosures.inline.hpp Thu Apr 05 10:54:53 2018 +0200
@@ -33,6 +33,7 @@
#include "memory/iterator.inline.hpp"
#include "oops/access.inline.hpp"
#include "oops/compressedOops.inline.hpp"
+#include "oops/oop.inline.hpp"
template <typename T>
inline void G1MarkAndPushClosure::do_oop_nv(T* p) {
@@ -67,11 +68,11 @@
oop forwardee = obj->forwardee();
if (forwardee == NULL) {
// Not forwarded, return current reference.
- assert(obj->mark() == markOopDesc::prototype_for_object(obj) || // Correct mark
- obj->mark()->must_be_preserved(obj) || // Will be restored by PreservedMarksSet
- (UseBiasedLocking && obj->has_bias_pattern()), // Will be restored by BiasedLocking
+ assert(obj->mark_raw() == markOopDesc::prototype_for_object(obj) || // Correct mark
+ obj->mark_raw()->must_be_preserved(obj) || // Will be restored by PreservedMarksSet
+ (UseBiasedLocking && obj->has_bias_pattern_raw()), // Will be restored by BiasedLocking
"Must have correct prototype or be preserved, obj: " PTR_FORMAT ", mark: " PTR_FORMAT ", prototype: " PTR_FORMAT,
- p2i(obj), p2i(obj->mark()), p2i(markOopDesc::prototype_for_object(obj)));
+ p2i(obj), p2i(obj->mark_raw()), p2i(markOopDesc::prototype_for_object(obj)));
return;
}