< prev index next > src/hotspot/share/gc/shared/preservedMarks.cpp
Print this page
*
*/
#include "precompiled.hpp"
#include "gc/shared/preservedMarks.inline.hpp"
+ #include "gc/shared/slidingForwarding.inline.hpp"
#include "gc/shared/workerThread.hpp"
#include "gc/shared/workerUtils.hpp"
#include "memory/allocation.inline.hpp"
#include "memory/resourceArea.hpp"
#include "oops/oop.inline.hpp"
assert_empty();
}
void PreservedMarks::adjust_preserved_mark(PreservedMark* elem) {
oop obj = elem->get_oop();
! if (obj->is_forwarded()) {
! elem->set_oop(obj->forwardee());
}
}
void PreservedMarks::adjust_during_full_gc() {
StackIterator<PreservedMark, mtGC> iter(_stack);
assert_empty();
}
void PreservedMarks::adjust_preserved_mark(PreservedMark* elem) {
oop obj = elem->get_oop();
! if (SlidingForwarding::is_forwarded(obj)) {
! elem->set_oop(SlidingForwarding::forwardee(obj));
}
}
void PreservedMarks::adjust_during_full_gc() {
StackIterator<PreservedMark, mtGC> iter(_stack);
< prev index next >