A bytecode set for adaptive optimizations

Clément Béra 1 Eliot Miranda 2
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Abstract : 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.
Type de document :
Communication dans un congrès
International Workshop on Smalltalk Technologies, 2014, Cambridge, United Kingdom
Liste complète des métadonnées

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

Contributeur : Lse Lse <>
Soumis le : vendredi 28 novembre 2014 - 16:55:59
Dernière modification le : jeudi 21 février 2019 - 10:52:50
Document(s) archivé(s) le : vendredi 14 avril 2017 - 23:00:15


iwst2014_A bytecode set for ad...
Fichiers produits par l'(les) auteur(s)


  • HAL Id : hal-01088801, version 1


Clément Béra, Eliot Miranda. A bytecode set for adaptive optimizations. International Workshop on Smalltalk Technologies, 2014, Cambridge, United Kingdom. 〈hal-01088801〉



Consultations de la notice


Téléchargements de fichiers