Sciweavers

PPPJ
2015
ACM

Improving the Interoperation between Generics Translations

8 years 8 months ago
Improving the Interoperation between Generics Translations
Generics on the Java platform are compiled using the erasure transformation, which only supports by-reference values. This causes slowdowns when generics operate on primitive types, such as integers, as they have to be transformed into reference-based objects. Project Valhalla is an effort to remedy this problem by specializing classes at load-time so they can efficiently handle primitive values. In its current early prototype1 , the Valhalla compilation scheme limits the interaction between specialized and erased generics, thus preventing certain useful code patterns from being expressed. Scala has been using compile-time specialization for 6 years and has three generics compilation schemes working side by side. In Scala, programmers are allowed to write code that freely exercises the interaction between the different compilation schemes, at the expense of introducing subtle performance issues. Similar performance issues can affect Valhalla-enabled bytecode, whether the code was wri...
Vlad Ureche, Milos Stojanovic, Romain Beguet, Nico
Added 16 Apr 2016
Updated 16 Apr 2016
Type Journal
Year 2015
Where PPPJ
Authors Vlad Ureche, Milos Stojanovic, Romain Beguet, Nicolas Stucki, Martin Odersky
Comments (0)