JIT - Dipartimento di Sistemi e Informatica
JIT - Dipartimento di Sistemi e Informatica JIT - Dipartimento di Sistemi e Informatica
Dipartimento di Sistemi e Informatica, University of Florence Sistemi Distribuiti, Prof. Paolo Nesi Sorgenti Compilatore JIT Codice MSIL Ambiente di Compilatore esecuzione .NET Runtime Codice nativo Codice MSIL (Assembly) .EXE/.DLL Output Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2005-2006 11 Intermediate Language (IL) VB VC ... Script IL Common Language Runtime JIT Compiler Native Code Assembly Language of CLR Code is never interpreted Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2005-2006 12 6
Dipartimento di Sistemi e Informatica, University of Florence Sistemi Distribuiti, Prof. Paolo Nesi Intermediate Language Presenta similitudini con linguaggi ad alto livello, ma anche con con il linguaggio assembly: ♣ Istruzioni per il il caricamento, la memorizzazione e l’inizializzazione l inizializzazione dei dati richiamare richiamare metodi da oggetti aritmetiche aritmetiche e logiche gestione gestione eccezioni di tipo “Try/Catch Try/Catch” Operazioni Operazioni sui registri, ma indipendente dalla piattaforma Operazioni Operazioni “atomiche atomiche” Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2005-2006 13 Intermediate Language Permette al CLR controlli durante la compilazione: ♣ Codice Type Safe ♣ Puntatori corretti ♣ Conversioni corrette ♣ ecc. Di fatto rappresenta il linguaggio a livello più pi basso e l’unico l unico “eseguibile eseguibile” dal CLR Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2005-2006 14 7
- Page 1 and 2: Dipartimento di Sistemi e Informati
- Page 3 and 4: Dipartimento di Sistemi e Informati
- Page 5: Dipartimento di Sistemi e Informati
- Page 9 and 10: Dipartimento di Sistemi e Informati
- Page 11 and 12: Dipartimento di Sistemi e Informati
- Page 13 and 14: Dipartimento di Sistemi e Informati
- Page 15 and 16: Dipartimento di Sistemi e Informati
- Page 17 and 18: Dipartimento di Sistemi e Informati
- Page 19 and 20: Dipartimento di Sistemi e Informati
- Page 21 and 22: Dipartimento di Sistemi e Informati
- Page 23 and 24: Dipartimento di Sistemi e Informati
- Page 25 and 26: Dipartimento di Sistemi e Informati
- Page 27 and 28: Dipartimento di Sistemi e Informati
- Page 29 and 30: Dipartimento di Sistemi e Informati
- Page 31 and 32: Dipartimento di Sistemi e Informati
- Page 33 and 34: Dipartimento di Sistemi e Informati
- Page 35 and 36: Dipartimento di Sistemi e Informati
- Page 37: Dipartimento di Sistemi e Informati
<strong>Dipartimento</strong> <strong>di</strong> <strong>Sistemi</strong> e <strong>Informatica</strong>, University of Florence<br />
<strong>Sistemi</strong> Distribuiti, Prof. Paolo Nesi<br />
Sorgenti<br />
Compilatore<br />
<strong>JIT</strong><br />
Co<strong>di</strong>ce MSIL<br />
Ambiente <strong>di</strong><br />
Compilatore esecuzione<br />
.NET Runtime<br />
Co<strong>di</strong>ce<br />
nativo<br />
Co<strong>di</strong>ce<br />
MSIL<br />
(Assembly)<br />
.EXE/.DLL<br />
Output<br />
<strong>Sistemi</strong> Distribuiti, Univ. Firenze, Paolo Nesi 2005-2006 11<br />
Interme<strong>di</strong>ate Language (IL)<br />
VB VC ... Script<br />
IL<br />
Common Language Runtime<br />
<strong>JIT</strong><br />
Compiler<br />
Native<br />
Code<br />
Assembly<br />
Language<br />
of CLR<br />
Code is<br />
never<br />
interpreted<br />
<strong>Sistemi</strong> Distribuiti, Univ. Firenze, Paolo Nesi 2005-2006 12<br />
6