40 #include "memory/resourceArea.hpp" |
40 #include "memory/resourceArea.hpp" |
41 #include "memory/sharedHeap.hpp" |
41 #include "memory/sharedHeap.hpp" |
42 #include "memory/space.hpp" |
42 #include "memory/space.hpp" |
43 #include "oops/oop.inline.hpp" |
43 #include "oops/oop.inline.hpp" |
44 #include "oops/oop.inline2.hpp" |
44 #include "oops/oop.inline2.hpp" |
45 #include "runtime/aprofiler.hpp" |
|
46 #include "runtime/biasedLocking.hpp" |
45 #include "runtime/biasedLocking.hpp" |
47 #include "runtime/fprofiler.hpp" |
46 #include "runtime/fprofiler.hpp" |
48 #include "runtime/handles.hpp" |
47 #include "runtime/handles.hpp" |
49 #include "runtime/handles.inline.hpp" |
48 #include "runtime/handles.inline.hpp" |
50 #include "runtime/java.hpp" |
49 #include "runtime/java.hpp" |
871 for (int i = 0; i < _n_gens; i++) { |
870 for (int i = 0; i < _n_gens; i++) { |
872 _gens[i]->safe_object_iterate(cl); |
871 _gens[i]->safe_object_iterate(cl); |
873 } |
872 } |
874 } |
873 } |
875 |
874 |
876 void GenCollectedHeap::object_iterate_since_last_GC(ObjectClosure* cl) { |
|
877 for (int i = 0; i < _n_gens; i++) { |
|
878 _gens[i]->object_iterate_since_last_GC(cl); |
|
879 } |
|
880 } |
|
881 |
|
882 Space* GenCollectedHeap::space_containing(const void* addr) const { |
875 Space* GenCollectedHeap::space_containing(const void* addr) const { |
883 for (int i = 0; i < _n_gens; i++) { |
876 for (int i = 0; i < _n_gens; i++) { |
884 Space* res = _gens[i]->space_containing(addr); |
877 Space* res = _gens[i]->space_containing(addr); |
885 if (res != NULL) return res; |
878 if (res != NULL) return res; |
886 } |
879 } |
1184 always_do_update_barrier = false; |
1177 always_do_update_barrier = false; |
1185 // Fill TLAB's and such |
1178 // Fill TLAB's and such |
1186 CollectedHeap::accumulate_statistics_all_tlabs(); |
1179 CollectedHeap::accumulate_statistics_all_tlabs(); |
1187 ensure_parsability(true); // retire TLABs |
1180 ensure_parsability(true); // retire TLABs |
1188 |
1181 |
1189 // Call allocation profiler |
|
1190 AllocationProfiler::iterate_since_last_gc(); |
|
1191 // Walk generations |
1182 // Walk generations |
1192 GenGCPrologueClosure blk(full); |
1183 GenGCPrologueClosure blk(full); |
1193 generation_iterate(&blk, false); // not old-to-young. |
1184 generation_iterate(&blk, false); // not old-to-young. |
1194 }; |
1185 }; |
1195 |
1186 |