logo of the SSW institute
Institut für Systemsoftware
Johannes Kepler Universität Linz
Fachbereich Informatik
logo of the Cristian Doppler Research Association
Christian Doppler Labor
Monitoring and Evolution of Very-Large-Scale Software Systems

Home

General
Staff
Contact
Partners
Alumni

Research
Areas
Projects
Papers
Books
Reports
Awards

Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad

Misc
Library
Seminars
Gallery
Links
Search

Webmaster


logo of the Johannes Kepler University (JKU)

Lazy Continuations for Java Virtual Machines

Lukas Stadler
Institute for System Software

Christian Wimmer
Department of Computer Science
University of California, Irvine
cwimmer@uci.edu

Thomas Würthinger
Institute for System Software

Hanspeter Mössenböck
Institute for System Software
Christian Doppler Laboratory for Automated Software Engineering
moessenboeck@ssw.uni-linz.ac.at

John Rose
Sun Microsystems, Inc.
john.rose@sun.com

In Proceedings of the 7th International Conference on Principles and Practice of Programming in Java (PPPJ'09), Calgary, Canada, August 27-28, 2009, pp.143-152. ACM Press, 2009. doi:10.1145/1596655.1596679


Abstract

Continuations, or 'the rest of the computation', are a concept that is most often used in the context of functional and dynamic programming languages. Implementations of such languages that work on top of the Java virtual machine (JVM) have traditionally been complicated by the lack of continuations because they must be simulated.

We propose an implementation of continuations in the Java virtual machine with a lazy or on-demand approach. Our system imposes zero run-time overhead as long as no activations need to be saved and restored and performs well when continuations are used. Although our implementation can be used from Java code directly, it is mainly intended to facilitate the creation of frameworks that allow other functional or dynamic languages to be executed on a Java virtual machine.

As there are no widely used benchmarks for continuation functionality on JVMs, we developed synthetical benchmarks that show the expected costs of the most important operations depending on various parameters.


http://dx.doi.org/10.1145/1596655.1596679

PDF

© ACM, 2009. This is the authorís version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution.