27 #include "gc/z/zMark.inline.hpp"
28 #include "gc/z/zMarkCache.inline.hpp"
29 #include "gc/z/zMarkStack.inline.hpp"
30 #include "gc/z/zMarkTerminate.inline.hpp"
31 #include "gc/z/zOopClosures.inline.hpp"
32 #include "gc/z/zPage.hpp"
33 #include "gc/z/zPageTable.inline.hpp"
34 #include "gc/z/zRootsIterator.hpp"
35 #include "gc/z/zStat.hpp"
36 #include "gc/z/zTask.hpp"
37 #include "gc/z/zThread.hpp"
38 #include "gc/z/zThreadLocalAllocBuffer.hpp"
39 #include "gc/z/zUtils.inline.hpp"
40 #include "gc/z/zWorkers.inline.hpp"
41 #include "logging/log.hpp"
42 #include "memory/iterator.inline.hpp"
43 #include "oops/objArrayOop.inline.hpp"
44 #include "oops/oop.inline.hpp"
45 #include "runtime/atomic.hpp"
46 #include "runtime/handshake.hpp"
47 #include "runtime/orderAccess.hpp"
48 #include "runtime/prefetch.inline.hpp"
49 #include "runtime/thread.hpp"
50 #include "utilities/align.hpp"
51 #include "utilities/globalDefinitions.hpp"
52 #include "utilities/ticks.hpp"
53
54 static const ZStatSubPhase ZSubPhaseConcurrentMark("Concurrent Mark");
55 static const ZStatSubPhase ZSubPhaseConcurrentMarkTryFlush("Concurrent Mark Try Flush");
56 static const ZStatSubPhase ZSubPhaseConcurrentMarkIdle("Concurrent Mark Idle");
57 static const ZStatSubPhase ZSubPhaseConcurrentMarkTryTerminate("Concurrent Mark Try Terminate");
58 static const ZStatSubPhase ZSubPhaseMarkTryComplete("Pause Mark Try Complete");
59
60 ZMark::ZMark(ZWorkers* workers, ZPageTable* page_table) :
61 _workers(workers),
62 _page_table(page_table),
63 _allocator(),
64 _stripes(),
65 _terminate(),
66 _work_terminateflush(true),
|
27 #include "gc/z/zMark.inline.hpp"
28 #include "gc/z/zMarkCache.inline.hpp"
29 #include "gc/z/zMarkStack.inline.hpp"
30 #include "gc/z/zMarkTerminate.inline.hpp"
31 #include "gc/z/zOopClosures.inline.hpp"
32 #include "gc/z/zPage.hpp"
33 #include "gc/z/zPageTable.inline.hpp"
34 #include "gc/z/zRootsIterator.hpp"
35 #include "gc/z/zStat.hpp"
36 #include "gc/z/zTask.hpp"
37 #include "gc/z/zThread.hpp"
38 #include "gc/z/zThreadLocalAllocBuffer.hpp"
39 #include "gc/z/zUtils.inline.hpp"
40 #include "gc/z/zWorkers.inline.hpp"
41 #include "logging/log.hpp"
42 #include "memory/iterator.inline.hpp"
43 #include "oops/objArrayOop.inline.hpp"
44 #include "oops/oop.inline.hpp"
45 #include "runtime/atomic.hpp"
46 #include "runtime/handshake.hpp"
47 #include "runtime/mutexLocker.inline.hpp"
48 #include "runtime/orderAccess.hpp"
49 #include "runtime/prefetch.inline.hpp"
50 #include "runtime/thread.hpp"
51 #include "utilities/align.hpp"
52 #include "utilities/globalDefinitions.hpp"
53 #include "utilities/ticks.hpp"
54
55 static const ZStatSubPhase ZSubPhaseConcurrentMark("Concurrent Mark");
56 static const ZStatSubPhase ZSubPhaseConcurrentMarkTryFlush("Concurrent Mark Try Flush");
57 static const ZStatSubPhase ZSubPhaseConcurrentMarkIdle("Concurrent Mark Idle");
58 static const ZStatSubPhase ZSubPhaseConcurrentMarkTryTerminate("Concurrent Mark Try Terminate");
59 static const ZStatSubPhase ZSubPhaseMarkTryComplete("Pause Mark Try Complete");
60
61 ZMark::ZMark(ZWorkers* workers, ZPageTable* page_table) :
62 _workers(workers),
63 _page_table(page_table),
64 _allocator(),
65 _stripes(),
66 _terminate(),
67 _work_terminateflush(true),
|