template <class CardOrRangeVisitor> inlinevoid G1CardSet::iterate_cards_or_ranges_in_container(ContainerPtr const container, CardOrRangeVisitor& cl) { switch (container_type(container)) { case ContainerInlinePtr: { if (cl.start_iterate(G1GCPhaseTimes::MergeRSMergedInline)) {
G1CardSetInlinePtr ptr(container);
ptr.iterate(cl, _config->inline_ptr_bits_per_card());
} return;
} case ContainerArrayOfCards: { if (cl.start_iterate(G1GCPhaseTimes::MergeRSMergedArrayOfCards)) {
container_ptr<G1CardSetArray>(container)->iterate(cl);
} return;
} case ContainerBitMap: { // There is no first-level bitmap spanning the whole area.
ShouldNotReachHere(); return;
} case ContainerHowl: {
assert(container_type(FullCardSet) == ContainerHowl, "Must be"); if (container == FullCardSet) { if (cl.start_iterate(G1GCPhaseTimes::MergeRSMergedFull)) {
cl(0, _config->max_cards_in_region());
} return;
} if (cl.start_iterate(G1GCPhaseTimes::MergeRSMergedHowl)) {
container_ptr<G1CardSetHowl>(container)->iterate(cl, _config);
} return;
}
}
log_error(gc)("Unknown card set container type %u", container_type(container));
ShouldNotReachHere();
}
#endif// SHARE_GC_G1_G1CARDSET_INLINE_HPP
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.1Bemerkung:
(vorverarbeitet am 2026-10-11)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.