< prev index next >

src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp

Print this page

        

*** 29,45 **** --- 29,52 ---- #include "gc_implementation/parallelScavenge/psOldGen.hpp" #include "gc_implementation/parallelScavenge/psPromotionManager.hpp" #include "gc_implementation/parallelScavenge/psPromotionLAB.inline.hpp" #include "gc_implementation/parallelScavenge/psScavenge.hpp" #include "oops/oop.inline.hpp" + #include "utilities/taskqueue.inline.hpp" inline PSPromotionManager* PSPromotionManager::manager_array(int index) { assert(_manager_array != NULL, "access of NULL manager_array"); assert(index >= 0 && index <= (int)ParallelGCThreads, "out of range manager_array access"); return &_manager_array[index]; } + + template <class T> + inline void PSPromotionManager::push_depth(T* p) { + claimed_stack_depth()->push(p); + } + template <class T> inline void PSPromotionManager::claim_or_forward_internal_depth(T* p) { if (p != NULL) { // XXX: error if p != NULL here oop o = oopDesc::load_decode_heap_oop_not_null(p); if (o->is_forwarded()) {
*** 97,107 **** // This method is pretty bulky. It would be nice to split it up // into smaller submethods, but we need to be careful not to hurt // performance. // template<bool promote_immediately> ! oop PSPromotionManager::copy_to_survivor_space(oop o) { assert(should_scavenge(&o), "Sanity"); oop new_obj = NULL; // NOTE! We must be very careful with any methods that access the mark --- 104,114 ---- // This method is pretty bulky. It would be nice to split it up // into smaller submethods, but we need to be careful not to hurt // performance. // template<bool promote_immediately> ! inline oop PSPromotionManager::copy_to_survivor_space(oop o) { assert(should_scavenge(&o), "Sanity"); oop new_obj = NULL; // NOTE! We must be very careful with any methods that access the mark
< prev index next >