// Use inline assembler to implement icache flush. int ICache::ppc64_flush_icache(address start, int lines, int magic) {
address end = start + (unsignedint)lines*ICache::line_size;
assert(start <= end, "flush_icache parms");
// Store modified cache lines from data cache. for (address a = start; a < end; a += ICache::line_size) {
__asm__ __volatile__( "dcbst 0, %0 \n"
:
: "r" (a)
: "memory");
}
// First call to flush itself. // Pointless since we call C, but it is expected to get // executed during VM_Version::determine_features().
ICache::invalidate_range((address)(*flush_icache_stub), 0);
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 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.