< prev index next >

src/share/vm/gc_implementation/g1/g1OopClosures.hpp

Print this page
rev 7471 : 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 >