Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Loom

 Fibers, Continuations and Tail-Calls

Welcome to the Loom Project!

The goal of this Project is to explore and incubate Java VM features and APIs built on top of them for the implementation of lightweight user-mode threads (fibers), delimited continuations (of some form), and related features, such as explicit tail-callcalls.

This OpenJDK project is sponsored by the HotSpot Group.

 

Info
titleSource Code

http://hg.openjdk.java.net/loom/loom/

Info
titleTalks

JVMLS 2018 – Video

JFokus 2018 – Video

Info
titleMailing List

Subscribe | Archive

Info
titleProject

Proposal | JEP | Members | Page

 

 

Warning
titleNote

Loom is under active development, which means that information and advice given here might change in the future.

 

Table of Contents

Supported Platforms

 

Mac and Linux on x86-64

Download and Build from Source

 

Code Block
$ 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
  • Serialization of fiber/continuation

     

Continuations

Design

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