Generazione di codice nativo

La generazione del codice è la fase del processo di compilazione che trasforma l' albero di sintassi astratto arricchito con informazioni semantiche in codice macchina o bytecode specializzato per la piattaforma target. Questa è la penultima fase del processo di compilazione che avviene prima del collegamento .

La fase di generazione del codice nativo generalmente include:

Adattamento alla piattaforma di destinazione

La fase di generazione del codice nativo deve tener conto nel miglior modo possibile delle caratteristiche della piattaforma di esecuzione ( microprocessore , macchina virtuale ) al fine di generare codice che vi venga eseguito il più rapidamente possibile. Nel caso di un processore, la sua microarchitettura gioca un ruolo determinante:

Compilazione al volo

Nel caso di compilazione al volo , la generazione del codice nativo deve essere veloce e consumare poca memoria per non penalizzare l'esecuzione del programma compilato. È quindi necessario utilizzare algoritmi diversi rispetto a una compilazione separata dall'esecuzione. Inoltre, un compilatore JIT può sfruttare le informazioni di profilazione ottenute durante l'esecuzione per scegliere quali parti di codice ottimizzare al massimo.

Vedi anche