< prev index next >

src/share/vm/gc/shared/collectedHeap.cpp

Print this page
rev 13349 : imported patch deflate.patch

@@ -620,10 +620,27 @@
 
 void CollectedHeap::accumulate_statistics_all_gclabs() {
   // Default implementation does nothing.
 }
 
+void CollectedHeap::deflate_idle_monitors_all_threads() {
+  ObjectSynchronizer::deflate_idle_monitors_all_threads();
+}
+
+class DeflateIdleMonitorsThreadClosure : public ThreadClosure {
+public:
+  void do_thread(Thread* thread) {
+    ObjectSynchronizer::deflate_idle_monitors_and_oops_do(thread, NULL);
+  }
+};
+
+void CollectedHeap::parallel_deflate_idle_monitors(WorkGang* workers) {
+  StrongRootsScope(workers->active_workers());
+  DeflateIdleMonitorsThreadClosure cl;
+  Threads::parallel_threads_do(&cl);
+}
+
 #ifndef CC_INTERP
 void CollectedHeap::compile_prepare_oop(MacroAssembler* masm, Register obj) {
   // Default implementation does nothing.
 }
 #endif
< prev index next >