< prev index next >

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

Print this page
rev 13387 : [mq]: parallel_sp_cleaning.patch

*** 599,633 **** virtual void verify(VerifyOption option) = 0; // Accumulate additional statistics from GCLABs. virtual void accumulate_statistics_all_gclabs(); - // Return true if GC supports per-thread monitor deflation. - // In this case, idle monitors will not get deflated when entering - // a safepoint, but instead will get deflated when the GC - // calls into Thread::oops_do() or Thread::possibly_parallel_oops_do(). - // This allows for better parallelization and cache behaviour. - // - // NOTICE that monitor deflation requires the mark words to be intact, - // which means that this can only be supported by GCs that don't stow - // away the mark word in order to temporarily store a forwarding pointer - // to it. - virtual bool supports_per_thread_monitor_deflation() const { - return false; - } - - // This is called by ObjectSynchronizer::deflate_idle_monitors() when - // the above supports_per_thread_monitor_deflation() returns false, - // or on special non-GC cleanup safepoints (even if the above returns true). - // It gives the GC a chance to deflate idle monitors using its GC worker - // threads, and thus support parallelization of monitor deflation. - // The default implementation simply deflates idle monitors single-threaded, - // using the calling (VM) thread. - virtual void deflate_idle_monitors_all_threads(); - - void parallel_deflate_idle_monitors(WorkGang* workers); - // Non product verification and debugging. #ifndef PRODUCT // Support for PromotionFailureALot. Return true if it's time to cause a // promotion failure. The no-argument version uses // this->_promotion_failure_alot_count as the counter. --- 599,608 ----
< prev index next >