< prev index next >

src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp

Print this page

        

*** 39,48 **** --- 39,49 ---- #include "gc/parallel/psScavenge.hpp" #include "gc/parallel/psVMOperations.hpp" #include "gc/shared/gcHeapSummary.hpp" #include "gc/shared/gcLocker.hpp" #include "gc/shared/gcWhen.hpp" + #include "gc/shared/scavengableNMethods.hpp" #include "logging/log.hpp" #include "memory/metaspaceCounters.hpp" #include "oops/oop.inline.hpp" #include "runtime/handles.inline.hpp" #include "runtime/java.hpp"
*** 148,167 **** --- 149,181 ---- _young_manager->add_pool(_eden_pool); _young_manager->add_pool(_survivor_pool); } + namespace { + class PSIsScavengable : public BoolObjectClosure { + bool do_object_b(oop obj) { + return ParallelScavengeHeap::heap()->is_in_young(obj); + } + }; + + PSIsScavengable _is_scavengable; + } + + void ParallelScavengeHeap::post_initialize() { CollectedHeap::post_initialize(); // Need to init the tenuring threshold PSScavenge::initialize(); if (UseParallelOldGC) { PSParallelCompact::post_initialize(); } else { PSMarkSweepProxy::initialize(); } PSPromotionManager::initialize(); + + ScavengableNMethods::initialize(&_is_scavengable); } void ParallelScavengeHeap::update_counters() { young_gen()->update_counters(); old_gen()->update_counters();
*** 695,714 **** old_gen()->object_space()->mangle_unused_area(); } } #endif ! bool ParallelScavengeHeap::is_scavengable(oop obj) { ! return is_in_young(obj); } ! void ParallelScavengeHeap::register_nmethod(nmethod* nm) { ! CodeCache::register_scavenge_root_nmethod(nm); } void ParallelScavengeHeap::verify_nmethod(nmethod* nm) { ! CodeCache::verify_scavenge_root_nmethod(nm); } GrowableArray<GCMemoryManager*> ParallelScavengeHeap::memory_managers() { GrowableArray<GCMemoryManager*> memory_managers(2); memory_managers.append(_young_manager); --- 709,736 ---- old_gen()->object_space()->mangle_unused_area(); } } #endif ! void ParallelScavengeHeap::register_nmethod(nmethod* nm) { ! ScavengableNMethods::register_nmethod(nm); } ! void ParallelScavengeHeap::unregister_nmethod(nmethod* nm) { ! ScavengableNMethods::unregister_nmethod(nm); } void ParallelScavengeHeap::verify_nmethod(nmethod* nm) { ! ScavengableNMethods::verify_nmethod(nm); ! } ! ! void ParallelScavengeHeap::flush_nmethod(nmethod* nm) { ! ScavengableNMethods::flush_nmethod(nm); ! } ! ! void ParallelScavengeHeap::prune_nmethods() { ! ScavengableNMethods::prune_nmethods(); } GrowableArray<GCMemoryManager*> ParallelScavengeHeap::memory_managers() { GrowableArray<GCMemoryManager*> memory_managers(2); memory_managers.append(_young_manager);
< prev index next >