Mercurial > hg > graal-compiler
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 678:4ac7d97e6101
6822263: G1: JVMTI heap iteration fails
Summary: Make object_iterate() traverse the perm gen
Reviewed-by: apetrusenko, tonyp
author | iveresov |
---|---|
date | Thu, 26 Mar 2009 08:51:32 -0700 |
parents | 96b229c54d1e |
children | 29e7d79232b9 |
comparison
equal
deleted
inserted
replaced
677:96b229c54d1e | 678:4ac7d97e6101 |
---|---|
863 | 863 |
864 // Iteration functions. | 864 // Iteration functions. |
865 | 865 |
866 // Iterate over all the ref-containing fields of all objects, calling | 866 // Iterate over all the ref-containing fields of all objects, calling |
867 // "cl.do_oop" on each. | 867 // "cl.do_oop" on each. |
868 virtual void oop_iterate(OopClosure* cl); | 868 virtual void oop_iterate(OopClosure* cl) { |
869 oop_iterate(cl, true); | |
870 } | |
871 void oop_iterate(OopClosure* cl, bool do_perm); | |
869 | 872 |
870 // Same as above, restricted to a memory region. | 873 // Same as above, restricted to a memory region. |
871 virtual void oop_iterate(MemRegion mr, OopClosure* cl); | 874 virtual void oop_iterate(MemRegion mr, OopClosure* cl) { |
875 oop_iterate(mr, cl, true); | |
876 } | |
877 void oop_iterate(MemRegion mr, OopClosure* cl, bool do_perm); | |
872 | 878 |
873 // Iterate over all objects, calling "cl.do_object" on each. | 879 // Iterate over all objects, calling "cl.do_object" on each. |
874 virtual void object_iterate(ObjectClosure* cl); | 880 virtual void object_iterate(ObjectClosure* cl) { |
875 virtual void safe_object_iterate(ObjectClosure* cl) { object_iterate(cl); } | 881 object_iterate(cl, true); |
882 } | |
883 virtual void safe_object_iterate(ObjectClosure* cl) { | |
884 object_iterate(cl, true); | |
885 } | |
886 void object_iterate(ObjectClosure* cl, bool do_perm); | |
876 | 887 |
877 // Iterate over all objects allocated since the last collection, calling | 888 // Iterate over all objects allocated since the last collection, calling |
878 // "cl.do_object" on each. The heap must have been initialized properly | 889 // "cl.do_object" on each. The heap must have been initialized properly |
879 // to support this function, or else this call will fail. | 890 // to support this function, or else this call will fail. |
880 virtual void object_iterate_since_last_GC(ObjectClosure* cl); | 891 virtual void object_iterate_since_last_GC(ObjectClosure* cl); |