// Closures used during concurrent start. // The treatment of "weak" roots is selectable through the template parameter, // this is usually used to control unloading of classes and interned strings. template <bool should_mark_weak> class G1ConcurrentStartMarkClosures : public G1EvacuationRootClosures {
G1SharedClosures<true> _strong;
G1SharedClosures<should_mark_weak> _weak;
G1EvacuationRootClosures* G1EvacuationRootClosures::create_root_closures(G1ParScanThreadState* pss, G1CollectedHeap* g1h) {
G1EvacuationRootClosures* res = NULL; if (g1h->collector_state()->in_concurrent_start_gc()) { if (ClassUnloadingWithConcurrentMark) {
res = new G1ConcurrentStartMarkClosures<false>(g1h, pss);
} else {
res = new G1ConcurrentStartMarkClosures<true>(g1h, pss);
}
} else {
res = new G1EvacuationClosures(g1h, pss, g1h->collector_state()->in_young_only_phase());
} return res;
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-10)
¤
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.