Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp @ 941:8b46c4d82093
4957990: Perm heap bloat in JVM
Summary: Treat ProfileData in MDO's as a source of weak, not strong, roots. Fixes the bug for stop-world collection -- the case of concurrent collection will be fixed separately.
Reviewed-by: jcoomes, jmasa, kvn, never
author | ysr |
---|---|
date | Wed, 02 Sep 2009 00:04:29 -0700 |
parents | 0fbdb4381b99 |
children | 54b3b351d6f9 |
comparison
equal
deleted
inserted
replaced
940:8624da129f0b | 941:8b46c4d82093 |
---|---|
899 | 899 |
900 // Mark live objects | 900 // Mark live objects |
901 static void marking_phase(ParCompactionManager* cm, | 901 static void marking_phase(ParCompactionManager* cm, |
902 bool maximum_heap_compaction); | 902 bool maximum_heap_compaction); |
903 static void follow_stack(ParCompactionManager* cm); | 903 static void follow_stack(ParCompactionManager* cm); |
904 static void follow_weak_klass_links(ParCompactionManager* cm); | 904 static void follow_weak_klass_links(); |
905 static void follow_mdo_weak_refs(); | |
905 | 906 |
906 template <class T> static inline void adjust_pointer(T* p, bool is_root); | 907 template <class T> static inline void adjust_pointer(T* p, bool is_root); |
907 static void adjust_root_pointer(oop* p) { adjust_pointer(p, true); } | 908 static void adjust_root_pointer(oop* p) { adjust_pointer(p, true); } |
908 | 909 |
909 template <class T> | 910 template <class T> |
1218 #endif // #ifdef VALIDATE_MARK_SWEEP | 1219 #endif // #ifdef VALIDATE_MARK_SWEEP |
1219 | 1220 |
1220 // Call backs for class unloading | 1221 // Call backs for class unloading |
1221 // Update subklass/sibling/implementor links at end of marking. | 1222 // Update subklass/sibling/implementor links at end of marking. |
1222 static void revisit_weak_klass_link(ParCompactionManager* cm, Klass* k); | 1223 static void revisit_weak_klass_link(ParCompactionManager* cm, Klass* k); |
1224 | |
1225 // Clear unmarked oops in MDOs at the end of marking. | |
1226 static void revisit_mdo(ParCompactionManager* cm, DataLayout* p); | |
1223 | 1227 |
1224 #ifndef PRODUCT | 1228 #ifndef PRODUCT |
1225 // Debugging support. | 1229 // Debugging support. |
1226 static const char* space_names[last_space_id]; | 1230 static const char* space_names[last_space_id]; |
1227 static void print_region_ranges(); | 1231 static void print_region_ranges(); |