TCG (Tiny Code Generator)
E724156
TCG (Tiny Code Generator) is QEMU’s lightweight just-in-time compilation backend that translates guest machine instructions into efficient host machine code for fast emulation.
Statements (50)
| Predicate | Object |
|---|---|
| instanceOf |
dynamic binary translator
ⓘ
just-in-time compilation backend ⓘ software component ⓘ |
| abbreviation | TCG NERFINISHED ⓘ |
| approach |
dynamic translation of basic blocks
ⓘ
just-in-time compilation ⓘ |
| designGoal |
portability across host CPUs
ⓘ
reasonable performance without heavy optimization ⓘ simpler implementation than a full optimizing compiler ⓘ |
| developer | QEMU project NERFINISHED ⓘ |
| feature |
basic block chaining
ⓘ
code cache for translated blocks ⓘ host-specific code generation backends ⓘ intermediate representation for guest instructions ⓘ lightweight design ⓘ support for instrumentation via QEMU plugins ⓘ support for multiple guest architectures ⓘ support for multiple host architectures ⓘ support for self-modifying code handling ⓘ |
| fullName | Tiny Code Generator NERFINISHED ⓘ |
| implementedIn | C NERFINISHED ⓘ |
| input | guest CPU instructions ⓘ |
| introducedIn | QEMU 0.10 series (approximate) ⓘ |
| license | GNU General Public License ⓘ |
| optimizationLevel | low-to-moderate optimization compared to full compilers ⓘ |
| output | native host machine code ⓘ |
| partOf | QEMU NERFINISHED ⓘ |
| purpose |
enable fast CPU emulation
ⓘ
provide a portable code generation layer for QEMU ⓘ translate guest machine instructions into host machine code ⓘ |
| relatedConcept |
JIT compilation
ⓘ
dynamic binary translation ⓘ |
| replaced | dyngen-based code generation in QEMU ⓘ |
| repository | QEMU source tree ⓘ |
| roleInQEMU | core translation engine between guest and host ⓘ |
| supportsGuestArchitecture |
AArch64
NERFINISHED
ⓘ
ARM NERFINISHED ⓘ MIPS NERFINISHED ⓘ PowerPC NERFINISHED ⓘ RISC-V NERFINISHED ⓘ x86 NERFINISHED ⓘ x86-64 ⓘ |
| supportsHostArchitecture |
AArch64
NERFINISHED
ⓘ
ARM NERFINISHED ⓘ PowerPC NERFINISHED ⓘ x86 ⓘ x86-64 NERFINISHED ⓘ |
| usedBy |
QEMU system emulator
NERFINISHED
ⓘ
QEMU user-mode emulator ⓘ |
| website | https://www.qemu.org ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.