Towards Self-aware Virtual Machines

Camillo Bruni 1
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Résumé : Les langages de haut-niveau supportent des operations réflectives qui permettent à l’ environenment d’exécution d’un langage d’inspecter et de changer son propre état et sa propre exécution. Ces langages de haut-niveau s’exécutent normalement sur une machine virtuelle (vm) qui ajoute une couche d’abstraction au-dessus du matériel. À cause de cette séparation, peu d’opération réflectives sont disponibles pour inspecter et modifier la vm. Plusieurs vms expérimentales offrent de telles opérations réflectives en proposant un modèle unifié qui ne distingue pas la couche vm de la couche langage. Dans cette thèse, nous suivons une approche similaire qui propose un environnement d’exécution unifié et auto-décrit. Nous nous intéressons à une solution minimale. Au lieu de dépendre de modifications d’une vm, nous générons dynamiquement du code natif depuis la couche langage. Nous présentons Benzo, un framework pour la génération dynamique de code natif. Benzo fournit une interface générique et de bas-niveau pour accéder aux fonctionnalités fondamentales de la vm. Grâce à Benzo, nous analysons plusieurs applications qui nécessitent un accès direct à la vm. Nous montrons comment Benzo peut être utilisé pour implémenter une librairie de Foreign Function Interfaces, permettant de faciliter l’accès aux fonctionnalités bas-niveau de la vm. Pour évaluer les limitations de Benzo, nous visons deux autres applications: la génération dynamique de primitive et un compilateur jit (Just-In-Time). Ces deux applications doivent changer le comportement de la vm. Pour cela, elles ont besoin d’une interaction poussée avec la vm.
Type de document :
Thèse
Programming Languages [cs.PL]. Université Lille 1 - Sciences et Technologies, 2014. English
Liste complète des métadonnées

Littérature citée [52 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/tel-01097323
Contributeur : Lse Lse <>
Soumis le : vendredi 19 décembre 2014 - 14:16:29
Dernière modification le : mercredi 25 juillet 2018 - 01:24:31
Document(s) archivé(s) le : lundi 23 mars 2015 - 17:52:00

Identifiants

  • HAL Id : tel-01097323, version 1

Citation

Camillo Bruni. Towards Self-aware Virtual Machines. Programming Languages [cs.PL]. Université Lille 1 - Sciences et Technologies, 2014. English. 〈tel-01097323〉

Partager

Métriques

Consultations de la notice

269

Téléchargements de fichiers

272