equal
deleted
inserted
replaced
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); |