19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPTHREAD_HPP
26 #define SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPTHREAD_HPP
27
28 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp"
29 #include "gc_implementation/shared/concurrentGCThread.hpp"
30 #ifdef TARGET_OS_FAMILY_linux
31 # include "thread_linux.inline.hpp"
32 #endif
33 #ifdef TARGET_OS_FAMILY_solaris
34 # include "thread_solaris.inline.hpp"
35 #endif
36 #ifdef TARGET_OS_FAMILY_windows
37 # include "thread_windows.inline.hpp"
38 #endif
39
40 class ConcurrentMarkSweepGeneration;
41 class CMSCollector;
42
43 // The Concurrent Mark Sweep GC Thread
44 class ConcurrentMarkSweepThread: public ConcurrentGCThread {
45 friend class VMStructs;
46 friend class ConcurrentMarkSweepGeneration; // XXX should remove friendship
47 friend class CMSCollector;
48 public:
49 virtual void run();
50
51 private:
52 static ConcurrentMarkSweepThread* _cmst;
53 static CMSCollector* _collector;
54 static SurrogateLockerThread* _slt;
55 static SurrogateLockerThread::SLT_msg_type _sltBuffer;
56 static Monitor* _sltMonitor;
57
58 static bool _should_terminate;
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPTHREAD_HPP
26 #define SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPTHREAD_HPP
27
28 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp"
29 #include "gc_implementation/shared/concurrentGCThread.hpp"
30 #ifdef TARGET_OS_FAMILY_linux
31 # include "thread_linux.inline.hpp"
32 #endif
33 #ifdef TARGET_OS_FAMILY_solaris
34 # include "thread_solaris.inline.hpp"
35 #endif
36 #ifdef TARGET_OS_FAMILY_windows
37 # include "thread_windows.inline.hpp"
38 #endif
39 #ifdef TARGET_OS_FAMILY_bsd
40 # include "thread_bsd.inline.hpp"
41 #endif
42
43 class ConcurrentMarkSweepGeneration;
44 class CMSCollector;
45
46 // The Concurrent Mark Sweep GC Thread
47 class ConcurrentMarkSweepThread: public ConcurrentGCThread {
48 friend class VMStructs;
49 friend class ConcurrentMarkSweepGeneration; // XXX should remove friendship
50 friend class CMSCollector;
51 public:
52 virtual void run();
53
54 private:
55 static ConcurrentMarkSweepThread* _cmst;
56 static CMSCollector* _collector;
57 static SurrogateLockerThread* _slt;
58 static SurrogateLockerThread::SLT_msg_type _sltBuffer;
59 static Monitor* _sltMonitor;
60
61 static bool _should_terminate;
|