< prev index next >
src/hotspot/share/gc/g1/g1FullGCOopClosures.inline.hpp
Print this page
rev 49289 : 8199735: Mark word updates need to use Access API
*** 1,7 ****
/*
! * Copyright (c) 2017, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 29,38 ****
--- 29,39 ----
#include "gc/g1/g1ConcurrentMarkBitMap.inline.hpp"
#include "gc/g1/g1FullGCMarker.inline.hpp"
#include "gc/g1/g1FullGCOopClosures.hpp"
#include "gc/g1/heapRegionRemSet.hpp"
#include "memory/iterator.inline.hpp"
+ #include "oops/oop.inline.hpp"
template <typename T>
inline void G1MarkAndPushClosure::do_oop_nv(T* p) {
_marker->mark_and_push(p);
}
*** 64,78 ****
}
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
"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)));
return obj;
}
// Forwarded, update and return new reference.
assert(Universe::heap()->is_in_reserved(forwardee), "should be in object space");
--- 65,79 ----
}
oop forwardee = obj->forwardee();
if (forwardee == NULL) {
// Not forwarded, return current reference.
! 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_raw()), p2i(markOopDesc::prototype_for_object(obj)));
return obj;
}
// Forwarded, update and return new reference.
assert(Universe::heap()->is_in_reserved(forwardee), "should be in object space");
< prev index next >