JIT - Dipartimento di Sistemi e Informatica

JIT - Dipartimento di Sistemi e Informatica JIT - Dipartimento di Sistemi e Informatica

01.06.2013 Views

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

<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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!