comparison src/share/vm/gc_implementation/g1/concurrentZFThread.cpp @ 993:54b3b351d6f9

Merge
author jrose
date Wed, 23 Sep 2009 23:56:15 -0700
parents e1fdf4fd34dc
children 89e0543e1737 035d2e036a9b
comparison
equal deleted inserted replaced
992:6a8ccac44f41 993:54b3b351d6f9
33 int ConcurrentZFThread::_sync_zfs = 0; 33 int ConcurrentZFThread::_sync_zfs = 0;
34 int ConcurrentZFThread::_zf_waits = 0; 34 int ConcurrentZFThread::_zf_waits = 0;
35 int ConcurrentZFThread::_regions_filled = 0; 35 int ConcurrentZFThread::_regions_filled = 0;
36 36
37 ConcurrentZFThread::ConcurrentZFThread() : 37 ConcurrentZFThread::ConcurrentZFThread() :
38 ConcurrentGCThread(), 38 ConcurrentGCThread()
39 _co_tracker(G1ZFGroup)
40 { 39 {
41 create_and_start(); 40 create_and_start();
42 } 41 }
43 42
44 void ConcurrentZFThread::wait_for_ZF_completed(HeapRegion* hr) { 43 void ConcurrentZFThread::wait_for_ZF_completed(HeapRegion* hr) {
69 void ConcurrentZFThread::run() { 68 void ConcurrentZFThread::run() {
70 initialize_in_thread(); 69 initialize_in_thread();
71 Thread* thr_self = Thread::current(); 70 Thread* thr_self = Thread::current();
72 _vtime_start = os::elapsedVTime(); 71 _vtime_start = os::elapsedVTime();
73 wait_for_universe_init(); 72 wait_for_universe_init();
74 _co_tracker.enable();
75 _co_tracker.start();
76 73
77 G1CollectedHeap* g1 = G1CollectedHeap::heap(); 74 G1CollectedHeap* g1 = G1CollectedHeap::heap();
78 _sts.join(); 75 _sts.join();
79 while (!_should_terminate) { 76 while (!_should_terminate) {
80 _sts.leave(); 77 _sts.leave();
133 break; 130 break;
134 } 131 }
135 } 132 }
136 _vtime_accum = (os::elapsedVTime() - _vtime_start); 133 _vtime_accum = (os::elapsedVTime() - _vtime_start);
137 _sts.join(); 134 _sts.join();
138
139 _co_tracker.update();
140 } 135 }
141 _co_tracker.update(false);
142 _sts.leave(); 136 _sts.leave();
143 137
144 assert(_should_terminate, "just checking"); 138 assert(_should_terminate, "just checking");
145 terminate(); 139 terminate();
146 } 140 }