--- a/src/hotspot/share/gc/g1/g1OopClosures.inline.hpp Mon Apr 09 08:19:26 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1OopClosures.inline.hpp Thu Apr 05 10:54:53 2018 +0200
@@ -36,6 +36,7 @@
#include "oops/access.inline.hpp"
#include "oops/compressedOops.inline.hpp"
#include "oops/oopsHierarchy.hpp"
+#include "oops/oop.inline.hpp"
#include "runtime/prefetch.inline.hpp"
template <class T>
@@ -45,8 +46,8 @@
// stall. We'll try to prefetch the object (for write, given that
// we might need to install the forwarding reference) and we'll
// get back to it when pop it from the queue
- Prefetch::write(obj->mark_addr(), 0);
- Prefetch::read(obj->mark_addr(), (HeapWordSize*2));
+ Prefetch::write(obj->mark_addr_raw(), 0);
+ Prefetch::read(obj->mark_addr_raw(), (HeapWordSize*2));
// slightly paranoid test; I'm trying to catch potential
// problems before we go into push_on_queue to know where the
@@ -240,7 +241,7 @@
const InCSetState state = _g1->in_cset_state(obj);
if (state.is_in_cset()) {
oop forwardee;
- markOop m = obj->mark();
+ markOop m = obj->mark_raw();
if (m->is_marked()) {
forwardee = (oop) m->decode_pointer();
} else {