--- a/src/hotspot/share/gc/z/zRelocate.cpp Thu Oct 17 20:27:44 2019 +0100
+++ b/src/hotspot/share/gc/z/zRelocate.cpp Thu Oct 17 20:53:35 2019 +0100
@@ -48,6 +48,9 @@
// Update thread local address bad mask
ZThreadLocalData::set_address_bad_mask(thread, ZAddressBadMask);
+ // Relocate invisible root
+ ZThreadLocalData::do_invisible_root(thread, ZBarrier::relocate_barrier_on_root_oop_field);
+
// Remap TLAB
ZThreadLocalAllocBuffer::remap(thread);
}
@@ -69,12 +72,12 @@
public:
ZRelocateRootsTask() :
ZTask("ZRelocateRootsTask"),
- _roots() {}
+ _roots(true /* visit_jvmti_weak_export */) {}
virtual void work() {
// During relocation we need to visit the JVMTI
// export weak roots to rehash the JVMTI tag map
- _roots.oops_do(&_cl, true /* visit_jvmti_weak_export */);
+ _roots.oops_do(&_cl);
}
};
@@ -123,7 +126,7 @@
// Relocation contention
ZStatInc(ZCounterRelocationContention);
log_trace(gc)("Relocation contention, thread: " PTR_FORMAT " (%s), forwarding: " PTR_FORMAT
- ", entry: " UINT32_FORMAT ", oop: " PTR_FORMAT ", size: " SIZE_FORMAT,
+ ", entry: " SIZE_FORMAT ", oop: " PTR_FORMAT ", size: " SIZE_FORMAT,
ZThread::id(), ZThread::name(), p2i(forwarding), cursor, from_good, size);
// Try undo allocation