Mercurial > hg > graal-jvmci-8
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 |