src/hotspot/share/gc/z/zRelocate.cpp
changeset 58066 8407928b9fe5
parent 57851 6728c41f2a08
child 58237 944b58cbaf93
equal deleted inserted replaced
58065:3fee0e6b54f5 58066:8407928b9fe5
    46 public:
    46 public:
    47   virtual void do_thread(Thread* thread) {
    47   virtual void do_thread(Thread* thread) {
    48     // Update thread local address bad mask
    48     // Update thread local address bad mask
    49     ZThreadLocalData::set_address_bad_mask(thread, ZAddressBadMask);
    49     ZThreadLocalData::set_address_bad_mask(thread, ZAddressBadMask);
    50 
    50 
       
    51     // Relocate invisible root
       
    52     ZThreadLocalData::do_invisible_root(thread, ZBarrier::relocate_barrier_on_root_oop_field);
       
    53 
    51     // Remap TLAB
    54     // Remap TLAB
    52     ZThreadLocalAllocBuffer::remap(thread);
    55     ZThreadLocalAllocBuffer::remap(thread);
    53   }
    56   }
    54 
    57 
    55   virtual void do_oop(oop* p) {
    58   virtual void do_oop(oop* p) {
    67   ZRelocateRootsIteratorClosure _cl;
    70   ZRelocateRootsIteratorClosure _cl;
    68 
    71 
    69 public:
    72 public:
    70   ZRelocateRootsTask() :
    73   ZRelocateRootsTask() :
    71       ZTask("ZRelocateRootsTask"),
    74       ZTask("ZRelocateRootsTask"),
    72       _roots(true /* visit_invisible */, true /* visit_jvmti_weak_export */) {}
    75       _roots(true /* visit_jvmti_weak_export */) {}
    73 
    76 
    74   virtual void work() {
    77   virtual void work() {
    75     // During relocation we need to visit the JVMTI
    78     // During relocation we need to visit the JVMTI
    76     // export weak roots to rehash the JVMTI tag map
    79     // export weak roots to rehash the JVMTI tag map
    77     _roots.oops_do(&_cl);
    80     _roots.oops_do(&_cl);