37 #include "runtime/os.hpp" |
37 #include "runtime/os.hpp" |
38 #include "runtime/vmThread.hpp" |
38 #include "runtime/vmThread.hpp" |
39 |
39 |
40 // ======= Concurrent Mark Sweep Thread ======== |
40 // ======= Concurrent Mark Sweep Thread ======== |
41 |
41 |
42 // The CMS thread is created when Concurrent Mark Sweep is used in the |
42 ConcurrentMarkSweepThread* ConcurrentMarkSweepThread::_cmst = NULL; |
43 // older of two generations in a generational memory system. |
43 CMSCollector* ConcurrentMarkSweepThread::_collector = NULL; |
44 |
44 bool ConcurrentMarkSweepThread::_should_terminate = false; |
45 ConcurrentMarkSweepThread* |
45 int ConcurrentMarkSweepThread::_CMS_flag = CMS_nil; |
46 ConcurrentMarkSweepThread::_cmst = NULL; |
46 |
47 CMSCollector* ConcurrentMarkSweepThread::_collector = NULL; |
47 volatile jint ConcurrentMarkSweepThread::_pending_yields = 0; |
48 bool ConcurrentMarkSweepThread::_should_terminate = false; |
48 |
49 int ConcurrentMarkSweepThread::_CMS_flag = CMS_nil; |
49 SurrogateLockerThread* ConcurrentMarkSweepThread::_slt = NULL; |
50 |
|
51 volatile jint ConcurrentMarkSweepThread::_pending_yields = 0; |
|
52 |
|
53 SurrogateLockerThread* |
|
54 ConcurrentMarkSweepThread::_slt = NULL; |
|
55 SurrogateLockerThread::SLT_msg_type |
50 SurrogateLockerThread::SLT_msg_type |
56 ConcurrentMarkSweepThread::_sltBuffer = SurrogateLockerThread::empty; |
51 ConcurrentMarkSweepThread::_sltBuffer = SurrogateLockerThread::empty; |
57 Monitor* |
52 Monitor* ConcurrentMarkSweepThread::_sltMonitor = NULL; |
58 ConcurrentMarkSweepThread::_sltMonitor = NULL; |
|
59 |
53 |
60 ConcurrentMarkSweepThread::ConcurrentMarkSweepThread(CMSCollector* collector) |
54 ConcurrentMarkSweepThread::ConcurrentMarkSweepThread(CMSCollector* collector) |
61 : ConcurrentGCThread() { |
55 : ConcurrentGCThread() { |
62 assert(UseConcMarkSweepGC, "UseConcMarkSweepGC should be set"); |
56 assert(UseConcMarkSweepGC, "UseConcMarkSweepGC should be set"); |
63 assert(_cmst == NULL, "CMS thread already created"); |
57 assert(_cmst == NULL, "CMS thread already created"); |