< prev index next >

src/share/vm/memory/genCollectedHeap.cpp

Print this page




1076   }
1077 };
1078 
1079 void GenCollectedHeap::prepare_for_verify() {
1080   ensure_parsability(false);        // no need to retire TLABs
1081   GenPrepareForVerifyClosure blk;
1082   generation_iterate(&blk, false);
1083 }
1084 
1085 void GenCollectedHeap::generation_iterate(GenClosure* cl,
1086                                           bool old_to_young) {
1087   if (old_to_young) {
1088     cl->do_generation(_old_gen);
1089     cl->do_generation(_young_gen);
1090   } else {
1091     cl->do_generation(_young_gen);
1092     cl->do_generation(_old_gen);
1093   }
1094 }
1095 
1096 void GenCollectedHeap::space_iterate(SpaceClosure* cl) {
1097   _young_gen->space_iterate(cl, true);
1098   _old_gen->space_iterate(cl, true);
1099 }
1100 
1101 bool GenCollectedHeap::is_maximal_no_gc() const {
1102   return _young_gen->is_maximal_no_gc() && _old_gen->is_maximal_no_gc();
1103 }
1104 
1105 void GenCollectedHeap::save_marks() {
1106   _young_gen->save_marks();
1107   _old_gen->save_marks();
1108 }
1109 
1110 GenCollectedHeap* GenCollectedHeap::heap() {
1111   assert(_gch != NULL, "Uninitialized access to GenCollectedHeap::heap()");
1112   assert(_gch->kind() == CollectedHeap::GenCollectedHeap, "not a generational heap");
1113   return _gch;
1114 }
1115 
1116 
1117 void GenCollectedHeap::prepare_for_compaction() {
1118   guarantee(_n_gens = 2, "Wrong number of generations");
1119   // Start by compacting into same gen.
1120   CompactPoint cp(_old_gen);




1076   }
1077 };
1078 
1079 void GenCollectedHeap::prepare_for_verify() {
1080   ensure_parsability(false);        // no need to retire TLABs
1081   GenPrepareForVerifyClosure blk;
1082   generation_iterate(&blk, false);
1083 }
1084 
1085 void GenCollectedHeap::generation_iterate(GenClosure* cl,
1086                                           bool old_to_young) {
1087   if (old_to_young) {
1088     cl->do_generation(_old_gen);
1089     cl->do_generation(_young_gen);
1090   } else {
1091     cl->do_generation(_young_gen);
1092     cl->do_generation(_old_gen);
1093   }
1094 }
1095 





1096 bool GenCollectedHeap::is_maximal_no_gc() const {
1097   return _young_gen->is_maximal_no_gc() && _old_gen->is_maximal_no_gc();
1098 }
1099 
1100 void GenCollectedHeap::save_marks() {
1101   _young_gen->save_marks();
1102   _old_gen->save_marks();
1103 }
1104 
1105 GenCollectedHeap* GenCollectedHeap::heap() {
1106   assert(_gch != NULL, "Uninitialized access to GenCollectedHeap::heap()");
1107   assert(_gch->kind() == CollectedHeap::GenCollectedHeap, "not a generational heap");
1108   return _gch;
1109 }
1110 
1111 
1112 void GenCollectedHeap::prepare_for_compaction() {
1113   guarantee(_n_gens = 2, "Wrong number of generations");
1114   // Start by compacting into same gen.
1115   CompactPoint cp(_old_gen);


< prev index next >