Skip to Main content Skip to Navigation
Conference papers

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.
Document type :
Conference papers
Complete list of metadata

Cited literature [14 references]  Display  Hide  Download
Contributor : Lse Lse Connect in order to contact the contributor
Submitted on : Friday, November 28, 2014 - 4:55:59 PM
Last modification on : Thursday, January 20, 2022 - 5:31:20 PM
Long-term archiving on: : Friday, April 14, 2017 - 11:00:15 PM


iwst2014_A bytecode set for ad...
Files produced by the author(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⟩



Record views


Files downloads