A bytecode set for adaptive optimizations
Type de document :
Communication dans un congrès avec actes
Titre :
A bytecode set for adaptive optimizations
Auteur(s) :
Béra, Clément [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Miranda, Eliot [Auteur]
Cadence Design Systems [CDS]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Miranda, Eliot [Auteur]
Cadence Design Systems [CDS]
Titre de la manifestation scientifique :
International Workshop on Smalltalk Technologies
Ville :
Cambridge
Pays :
Royaume-Uni
Date de début de la manifestation scientifique :
2014
Mot(s)-clé(s) en anglais :
virtual machine
bytecode
pharo
smalltalk
bytecode
pharo
smalltalk
Discipline(s) HAL :
Informatique [cs]/Langage de programmation [cs.PL]
Résumé en anglais : [en]
The Cog virtual machine features a bytecode interpreter and a baseline Just-in-time compiler. To reach the performance level of industrial quality virtual machines such as Java HotSpot, it needs to employ an adaptive ...
Lire la suite >The Cog virtual machine features a bytecode interpreter and a baseline Just-in-time compiler. To reach the performance level of industrial quality virtual machines such as Java HotSpot, it needs to employ an adaptive inlining com-piler, a tool that on the fly aggressively optimizes frequently executed portions of code. We decided to implement such a tool as a bytecode to bytecode optimizer, implemented above the virtual machine, where it can be written and developed in Smalltalk. The optimizer we plan needs to extend the operations encoded in the bytecode set and its quality heavily depends on the bytecode set quality. The current bytecode set understood by the virtual machine is old and lacks any room to add new operations. We decided to implement a new bytecode set, which includes additional bytecodes that allow the Just-in-time compiler to generate less generic, and hence simpler and faster code sequences for frequently executed primitives. The new bytecode set includes traps for validating speculative inlining de-cisions and is extensible without compromising optimization opportunities. In addition, we took advantage of this work to solve limitations of the current bytecode set such as the maximum number of instance variable per class, or number of literals per method. In this paper we describe this new byte-code set. We plan to have it in production in the Cog virtual machine and its Pharo, Squeak and Newspeak clients in the coming year.Lire moins >
Lire la suite >The Cog virtual machine features a bytecode interpreter and a baseline Just-in-time compiler. To reach the performance level of industrial quality virtual machines such as Java HotSpot, it needs to employ an adaptive inlining com-piler, a tool that on the fly aggressively optimizes frequently executed portions of code. We decided to implement such a tool as a bytecode to bytecode optimizer, implemented above the virtual machine, where it can be written and developed in Smalltalk. The optimizer we plan needs to extend the operations encoded in the bytecode set and its quality heavily depends on the bytecode set quality. The current bytecode set understood by the virtual machine is old and lacks any room to add new operations. We decided to implement a new bytecode set, which includes additional bytecodes that allow the Just-in-time compiler to generate less generic, and hence simpler and faster code sequences for frequently executed primitives. The new bytecode set includes traps for validating speculative inlining de-cisions and is extensible without compromising optimization opportunities. In addition, we took advantage of this work to solve limitations of the current bytecode set such as the maximum number of instance variable per class, or number of literals per method. In this paper we describe this new byte-code set. We plan to have it in production in the Cog virtual machine and its Pharo, Squeak and Newspeak clients in the coming year.Lire moins >
Langue :
Anglais
Comité de lecture :
Oui
Audience :
Internationale
Vulgarisation :
Non
Collections :
Source :
Fichiers
- https://hal.inria.fr/hal-01088801/document
- Accès libre
- Accéder au document
- https://hal.inria.fr/hal-01088801/document
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- iwst2014_A%20bytecode%20set%20for%20adaptive%20optimizations.pdf
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- iwst2014_A%20bytecode%20set%20for%20adaptive%20optimizations.pdf
- Accès libre
- Accéder au document