--- old/src/hotspot/share/gc/g1/g1FullGCOopClosures.inline.hpp 2018-03-25 12:59:20.135928810 +0200 +++ new/src/hotspot/share/gc/g1/g1FullGCOopClosures.inline.hpp 2018-03-25 12:59:19.943931408 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,6 +31,7 @@ #include "gc/g1/g1FullGCOopClosures.hpp" #include "gc/g1/heapRegionRemSet.hpp" #include "memory/iterator.inline.hpp" +#include "oops/oop.inline.hpp" template inline void G1MarkAndPushClosure::do_oop_nv(T* p) { @@ -66,11 +67,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 obj; }