< prev index next >

src/share/vm/runtime/synchronizer.cpp

Print this page
rev 13333 : [mq]: tl-syncroots.patch


1944     } else {
1945       // We failed. Retry with offending CAS result.
1946       my_cur = cas_result;
1947     }
1948   }
1949 }
1950 
1951 bool ParallelObjectSynchronizerIterator::parallel_oops_do(OopClosure* f) {
1952   PaddedEnd<ObjectMonitor>* block = (PaddedEnd<ObjectMonitor>*)claim();
1953   if (block != NULL) {
1954     for (int i = 1; i < ObjectSynchronizer::_BLOCKSIZE; i++) {
1955       ObjectMonitor* mid = (ObjectMonitor *)&block[i];
1956       if (mid->object() != NULL) {
1957         f->do_oop((oop*)mid->object_addr());
1958       }
1959     }
1960     return true;
1961   }
1962   return false;
1963 }






















1944     } else {
1945       // We failed. Retry with offending CAS result.
1946       my_cur = cas_result;
1947     }
1948   }
1949 }
1950 
1951 bool ParallelObjectSynchronizerIterator::parallel_oops_do(OopClosure* f) {
1952   PaddedEnd<ObjectMonitor>* block = (PaddedEnd<ObjectMonitor>*)claim();
1953   if (block != NULL) {
1954     for (int i = 1; i < ObjectSynchronizer::_BLOCKSIZE; i++) {
1955       ObjectMonitor* mid = (ObjectMonitor *)&block[i];
1956       if (mid->object() != NULL) {
1957         f->do_oop((oop*)mid->object_addr());
1958       }
1959     }
1960     return true;
1961   }
1962   return false;
1963 }
1964 
1965 void ObjectSynchronizer::list_oops_do(ObjectMonitor* list, OopClosure* f) {
1966   assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint");
1967   ObjectMonitor* mid;
1968   for (mid = list; mid != NULL; mid = mid->FreeNext) {
1969     if (mid->object() != NULL) {
1970       f->do_oop((oop*)mid->object_addr());
1971     }
1972   }
1973 }
1974 
1975 void ObjectSynchronizer::thread_local_used_oops_do(Thread* thread, OopClosure* f) {
1976   assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint");
1977   list_oops_do(thread->omInUseList, f);
1978 }
1979 
1980 void ObjectSynchronizer::global_used_oops_do(OopClosure* f) {
1981   assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint");
1982   list_oops_do(gOmInUseList, f);
1983 }
< prev index next >