Это не определение для блока перевода, это функция с именем tb_find_slow()
, которая возвращает указатель на блок перевода. Структура блока перевода определена в exec-all.h
.
Что касается того, что они есть, эта страница имеет краткое описание:
QEMU переводит собственные инструкции в «микрооперации» и создает их как «блоки перевода». Когда происходит выполнение, первое, что происходит, - это поиск, чтобы найти блок перевода, который уже был создан.
Другими словами, это своего рода компилятор, работающий точно по времени.
Есть функция tb_find_fast()
, которая использует хэш, основанный на бите состояния процессора (счетчик программ, селектор кода и флаги), который должен быть уникальным для каждого блока перевода. Если этот хэш не работает (результирующий блок перевода имеет другой PC / CS / flags), то он возвращается к медленному методу, который является последовательным сканированием списка блоков перевода.