JVM Continuations
Contents
JVM Continuations
Lukas Stadler, JKU
- Project
- Blog
- Slides
- File:File.pdf
Abstract
Continuations for the Hotspot JVM — Lukas Stadler
Continuation support is part of the MLVM effort. They are a powerful concept that allows implementation of many advanced language features like coroutines, green threads, etc. This presentation covers the basic concepts of the lazy continuation mechanism and the details of the actual implementation in the JVM.
Background
This project is part of a long-term collaboration between the HotSpot compiler group at Sun Microsystems and the Institute of System Software at the Johannes Kepler University Linz.
For a list of publications that were results of this collaboration (topics include SSA form, linear scan register allocation, ABCE, object inlining, escape analysis, compiler graph visualization tools) see:
Current Status
{http://www.christianwimmer.at/Publications/Stadler09a/ PPPJ Paper] (non-scoped, non-serializable continuations)
Future
Key Issues for Discussion
[Gafter] These aren't continuations in the traditional programming language sense, because they reset the values of local variables when a continuation is resumed.
[Gafter] I don't see a good way of supporting continuations in Java without requiring rewrites of a substantial portion of existing code (for example, code that was written assuming that finally blocks will be executed once). However, I believe these techniques would be very useful for implementing bounded coroutines.
(please expand cooperatively)