src/share/vm/memory/genCollectedHeap.cpp

Print this page
rev 6674 : imported patch fixes-kim


1071   return true;
1072 }
1073 
1074 void GenCollectedHeap::save_marks() {
1075   for (int i = 0; i < _n_gens; i++) {
1076     _gens[i]->save_marks();
1077   }
1078 }
1079 
1080 GenCollectedHeap* GenCollectedHeap::heap() {
1081   assert(_gch != NULL, "Uninitialized access to GenCollectedHeap::heap()");
1082   assert(_gch->kind() == CollectedHeap::GenCollectedHeap, "not a generational heap");
1083   return _gch;
1084 }
1085 
1086 
1087 void GenCollectedHeap::prepare_for_compaction() {
1088   guarantee(_n_gens = 2, "Wrong number of generations");
1089   Generation* old_gen = _gens[1];
1090   // Start by compacting into same gen.
1091   CompactPoint cp(old_gen, NULL, NULL);
1092   old_gen->prepare_for_compaction(&cp);
1093   Generation* young_gen = _gens[0];
1094   young_gen->prepare_for_compaction(&cp);
1095 }
1096 
1097 GCStats* GenCollectedHeap::gc_stats(int level) const {
1098   return _gens[level]->gc_stats();
1099 }
1100 
1101 void GenCollectedHeap::verify(bool silent, VerifyOption option /* ignored */) {
1102   for (int i = _n_gens-1; i >= 0; i--) {
1103     Generation* g = _gens[i];
1104     if (!silent) {
1105       gclog_or_tty->print("%s", g->name());
1106       gclog_or_tty->print(" ");
1107     }
1108     g->verify();
1109   }
1110   if (!silent) {
1111     gclog_or_tty->print("remset ");




1071   return true;
1072 }
1073 
1074 void GenCollectedHeap::save_marks() {
1075   for (int i = 0; i < _n_gens; i++) {
1076     _gens[i]->save_marks();
1077   }
1078 }
1079 
1080 GenCollectedHeap* GenCollectedHeap::heap() {
1081   assert(_gch != NULL, "Uninitialized access to GenCollectedHeap::heap()");
1082   assert(_gch->kind() == CollectedHeap::GenCollectedHeap, "not a generational heap");
1083   return _gch;
1084 }
1085 
1086 
1087 void GenCollectedHeap::prepare_for_compaction() {
1088   guarantee(_n_gens = 2, "Wrong number of generations");
1089   Generation* old_gen = _gens[1];
1090   // Start by compacting into same gen.
1091   CompactPoint cp(old_gen);
1092   old_gen->prepare_for_compaction(&cp);
1093   Generation* young_gen = _gens[0];
1094   young_gen->prepare_for_compaction(&cp);
1095 }
1096 
1097 GCStats* GenCollectedHeap::gc_stats(int level) const {
1098   return _gens[level]->gc_stats();
1099 }
1100 
1101 void GenCollectedHeap::verify(bool silent, VerifyOption option /* ignored */) {
1102   for (int i = _n_gens-1; i >= 0; i--) {
1103     Generation* g = _gens[i];
1104     if (!silent) {
1105       gclog_or_tty->print("%s", g->name());
1106       gclog_or_tty->print(" ");
1107     }
1108     g->verify();
1109   }
1110   if (!silent) {
1111     gclog_or_tty->print("remset ");