Loom
Fibers, Continuations and Tail-Calls
Note
Loom is under active development, which means that information and advice given here might change in the future.
Supported Platforms
Mac and Linux on x86-64
Download and Build from Source
$ hg clone http://hg.openjdk.java.net/loom/loom $ cd loom $ hg update -r fibers $ sh configure $ make images
(Note that you must switch to the fibers branch before building)
Missing Features
JVM TI support (fiber debugging)
Forced preemption
- Cloning continuations
Serialization of fiber/continuation
Continuations
Design
The primitive continuation construct is that of a scoped (AKA multiple-named-prompt), stackful, one-shot (non-reentrant) delimited continuation. The continuation can be cloned, and thus used to implement reentrant
Implementation
Performance
Fibers
Design
Implementation
Fibers are implemented in the core libraries. A fiber is implemented as a continuation (of fiber scope) that is wrapped as a task and scheduled by a j.u.c.Executor.
Tail Calls
Design