Porteur : Cassé Hugues, Sylvestre Loïc

Organisation : IRIT - UT

Année : M2

Mots-clé : ISS, C, OCAML, langage machine, x86

Nom du projet : JIT

Description

Bass est un environnement graphique pour l'enseignant fournissant une interface graphique permettant de programmer en assembleur ou C pour expérimenter le développement bas niveau ou embarqué. Il se base, pour la simulation, sur un générateur d'ISS (Instruction Set Simulator) appelé GLISS. Cet outil, à partir d'une description, permet de générer pour tout langage machine de générer décodeur, simulateur et désassembleur.

La simulation est assez performante mais comme chaque instruction est associée à une fonction et que l'état de la machine est stockée dans une structure de donnée, elle relativement lente par rapport à une exécution native. L'objectif de ce projet est de remplacer la simulation par une compilation native (vers x86) Just-In-Time. En se basant sur les fonctionnalités apportées par GLISS, il sera ainsi possible de compiler tout langage d'assemblage vers x86.

Ce projet se composera au moins de 2 tâches (a) fournir un environnement C permettant la génération et l'exécution JIT et (b) la spécialisation de GLISS, en OCAML, permettant de générer le compilateur JIT.

Resources supplémentaires

Article proposé par H. Cassé.