< prev index next >
src/share/vm/gc_implementation/g1/g1OopClosures.hpp
Print this page
rev 7557 : 8060025: Object copy time regressions after JDK-8031323 and JDK-8057536
Summary: Evaluate and improve object copy time by micro-optimizations and splitting out slow and fast paths aggressively.
Reviewed-by:
Contributed-by: Tony Printezis <tprintezis@twitter.com>, Thomas Schatzl <thomas.schatzl@oracle.com>
*** 24,33 ****
--- 24,34 ----
#ifndef SHARE_VM_GC_IMPLEMENTATION_G1_G1OOPCLOSURES_HPP
#define SHARE_VM_GC_IMPLEMENTATION_G1_G1OOPCLOSURES_HPP
#include "memory/iterator.hpp"
+ #include "oops/markOop.hpp"
class HeapRegion;
class G1CollectedHeap;
class G1RemSet;
class ConcurrentMark;
*** 254,264 ****
assert(from != NULL, "from region must be non-NULL");
_from = from;
}
bool self_forwarded(oop obj) {
! bool result = (obj->is_forwarded() && (obj->forwardee()== obj));
return result;
}
bool apply_to_weak_ref_discovered_field() { return true; }
--- 255,266 ----
assert(from != NULL, "from region must be non-NULL");
_from = from;
}
bool self_forwarded(oop obj) {
! markOop m = obj->mark();
! bool result = (m->is_marked() && ((oop)m->decode_pointer() == obj));
return result;
}
bool apply_to_weak_ref_discovered_field() { return true; }
< prev index next >