comparison src/share/vm/gc_implementation/parallelScavenge/psScavenge.inline.hpp @ 2379:b099aaf51bf8

6962931: move interned strings out of the perm gen Reviewed-by: never, coleenp, ysr, jwilhelm
author jcoomes
date Tue, 22 Mar 2011 13:36:33 -0700
parents f95d63e2154a
children 1d1603768966
comparison
equal deleted inserted replaced
2378:924777755fad 2379:b099aaf51bf8
84 card_table()->inline_write_ref_field_gc(p, new_obj); 84 card_table()->inline_write_ref_field_gc(p, new_obj);
85 } 85 }
86 } 86 }
87 } 87 }
88 88
89 class PSScavengeRootsClosure: public OopClosure {
90 private:
91 PSPromotionManager* _promotion_manager;
92
93 protected:
94 template <class T> void do_oop_work(T *p) {
95 if (PSScavenge::should_scavenge(p)) {
96 // We never card mark roots, maybe call a func without test?
97 PSScavenge::copy_and_push_safe_barrier(_promotion_manager, p);
98 }
99 }
100 public:
101 PSScavengeRootsClosure(PSPromotionManager* pm) : _promotion_manager(pm) { }
102 void do_oop(oop* p) { PSScavengeRootsClosure::do_oop_work(p); }
103 void do_oop(narrowOop* p) { PSScavengeRootsClosure::do_oop_work(p); }
104 };
105
89 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSSCAVENGE_INLINE_HPP 106 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSSCAVENGE_INLINE_HPP