equal
deleted
inserted
replaced
54 static const ZStatSubPhase ZSubPhaseConcurrentMarkTryFlush("Concurrent Mark Try Flush"); |
54 static const ZStatSubPhase ZSubPhaseConcurrentMarkTryFlush("Concurrent Mark Try Flush"); |
55 static const ZStatSubPhase ZSubPhaseConcurrentMarkIdle("Concurrent Mark Idle"); |
55 static const ZStatSubPhase ZSubPhaseConcurrentMarkIdle("Concurrent Mark Idle"); |
56 static const ZStatSubPhase ZSubPhaseConcurrentMarkTryTerminate("Concurrent Mark Try Terminate"); |
56 static const ZStatSubPhase ZSubPhaseConcurrentMarkTryTerminate("Concurrent Mark Try Terminate"); |
57 static const ZStatSubPhase ZSubPhaseMarkTryComplete("Pause Mark Try Complete"); |
57 static const ZStatSubPhase ZSubPhaseMarkTryComplete("Pause Mark Try Complete"); |
58 |
58 |
59 ZMark::ZMark(ZWorkers* workers, ZPageTable* pagetable) : |
59 ZMark::ZMark(ZWorkers* workers, ZPageTable* page_table) : |
60 _workers(workers), |
60 _workers(workers), |
61 _pagetable(pagetable), |
61 _page_table(page_table), |
62 _allocator(), |
62 _allocator(), |
63 _stripes(), |
63 _stripes(), |
64 _terminate(), |
64 _terminate(), |
65 _work_terminateflush(true), |
65 _work_terminateflush(true), |
66 _work_nproactiveflush(0), |
66 _work_nproactiveflush(0), |
305 obj->oop_iterate(&cl); |
305 obj->oop_iterate(&cl); |
306 } |
306 } |
307 } |
307 } |
308 |
308 |
309 bool ZMark::try_mark_object(ZMarkCache* cache, uintptr_t addr, bool finalizable) { |
309 bool ZMark::try_mark_object(ZMarkCache* cache, uintptr_t addr, bool finalizable) { |
310 ZPage* const page = _pagetable->get(addr); |
310 ZPage* const page = _page_table->get(addr); |
311 if (page->is_allocating()) { |
311 if (page->is_allocating()) { |
312 // Newly allocated objects are implicitly marked |
312 // Newly allocated objects are implicitly marked |
313 return false; |
313 return false; |
314 } |
314 } |
315 |
315 |