< prev index next >

src/share/vm/gc/g1/concurrentMarkThread.hpp

Print this page
rev 12505 : imported patch g1_whitebox
rev 12506 : [mq]: list_phases
rev 12507 : imported patch explicit_stack

*** 1,7 **** /* ! * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 23,32 **** --- 23,33 ---- */ #ifndef SHARE_VM_GC_G1_CONCURRENTMARKTHREAD_HPP #define SHARE_VM_GC_G1_CONCURRENTMARKTHREAD_HPP + #include "gc/shared/concurrentGCPhaseManager.hpp" #include "gc/shared/concurrentGCThread.hpp" // The Concurrent Mark GC Thread triggers the parallel G1CMConcurrentMarkingTasks // as well as handling various marking cleanup.
*** 48,57 **** --- 49,61 ---- InProgress }; volatile State _state; + // WhiteBox testing support. + ConcurrentGCPhaseManager::Stack _phase_manager_stack; + void sleepBeforeNextCycle(); void delay_to_keep_mmu(G1Policy* g1_policy, bool remark); void run_service(); void stop_service();
*** 81,88 **** --- 85,100 ---- // cleared). While during_cycle() is true we will not start another cycle // so that cycles do not overlap. We cannot use just in_progress() // as the CM thread might take some time to wake up before noticing // that started() is set and set in_progress(). bool during_cycle() { return !idle(); } + + // WhiteBox testing support. + const char* const* concurrent_phases() const; + bool request_concurrent_phase(const char* phase); + + ConcurrentGCPhaseManager::Stack* phase_manager_stack() { + return &_phase_manager_stack; + } }; #endif // SHARE_VM_GC_G1_CONCURRENTMARKTHREAD_HPP
< prev index next >