inlineconstchar* GetDeoptimizationKindName(DeoptimizationKind kind) { switch (kind) { case DeoptimizationKind::kAotInlineCache: return"AOT inline cache"; case DeoptimizationKind::kJitInlineCache: return"JIT inline cache"; case DeoptimizationKind::kJitSameTarget: return"JIT same target"; case DeoptimizationKind::kLoopBoundsBCE: return"loop bounds check elimination"; case DeoptimizationKind::kLoopNullBCE: return"loop bounds check elimination on null"; case DeoptimizationKind::kBlockBCE: return"block bounds check elimination"; case DeoptimizationKind::kCHA: return"class hierarchy analysis"; case DeoptimizationKind::kDebugging: return"Deopt requested for debug support"; case DeoptimizationKind::kFullFrame: return"full frame"; case DeoptimizationKind::kMethodHandleTypeMismatch: return"MethodHandle's type does not match callsite";
}
LOG(FATAL) << "Unexpected kind " << static_cast<size_t>(kind);
UNREACHABLE();
}
// We use a DeoptimizationStackSlot to record if a deoptimization is required // for functions that are already on stack. The value in the slot specifies the // reason we need to deoptimize. enumclass DeoptimizeFlagValue: uint8_t {
kCHA = 0b001,
kForceDeoptForRedefinition = 0b010,
kCheckCallerForDeopt = 0b100,
kAll = kCHA | kForceDeoptForRedefinition | kCheckCallerForDeopt
};
} // namespace art
#endif// ART_RUNTIME_DEOPTIMIZATION_KIND_H_
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-29)
¤
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.