Cristian Talau

dblp:136/0889 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
0since 2021 · last 2013
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Runtime systems and virtual machines · 50% Programming languages and type systems · 25% Compilers and program optimization · 25%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Runtime systems and virtual machines › binary translation
bytecode translation
0.212013
Miniboxing: improving the speed to code size tradeoff in parametric polymorphism translations · OOPSLA 2013
Runtime systems and virtual machines › virtual machine implementation
java virtual machine
0.212013
Miniboxing: improving the speed to code size tradeoff in parametric polymorphism translations · OOPSLA 2013
Programming languages and type systems › type systems › polymorphism
parametric polymorphism
0.212013
Miniboxing: improving the speed to code size tradeoff in parametric polymorphism translations · OOPSLA 2013
Compilers and program optimization
specialization
0.212013
Miniboxing: improving the speed to code size tradeoff in parametric polymorphism translations · OOPSLA 2013
YearPublicationVenuePosition
2013 Miniboxing: improving the speed to code size tradeoff in parametric polymorphism translations
abstract
Parametric polymorphism enables code reuse and type safety. Underneath the uniform interface exposed to programmers, however, its low level implementation has to cope with inherently non-uniform data: value types of different sizes and semantics (bytes, integers, floating point numbers) and reference types (pointers to heap objects). On the Java Virtual Machine, parametric polymorphism is currently translated to bytecode using two competing approaches: homogeneous and heterogeneous. Homogeneous translation requires boxing, and thus introduces indirect access delays. Heterogeneous translation duplicates and adapts code for each value type individually, producing more bytecode. Therefore bytecode speed and size are at odds with each other. This paper proposes a novel translation that significantly reduces the bytecode size without affecting the execution speed. The key insight is that larger value types (such as integers) can hold smaller ones (such as bytes) thus reducing the duplication necessary in heterogeneous translations. In our implementation, on the Scala compiler, we encode all primitive value types in long integers. The resulting bytecode approaches the performance of monomorphic code, matches the performance of the heterogeneous translation and obtains speedups of up to 22x over the homogeneous translation, all with modest increases in size.
Vlad Ureche, Cristian Talau, Martin Odersky
OOPSLA2