Transactional Sapphire: Lessons in High Performance, On-the-fly Garbage Collection

Ugawa, Tomoharu and Ritson, Carl G. and Jones, Richard E. (2018) Transactional Sapphire: Lessons in High Performance, On-the-fly Garbage Collection. Transactions on Programming Languages and Systems, . ISSN 0164-0925. (In press) (Full text available)

PDF - Pre-print

Creative Commons Licence
This work is licensed under a Creative Commons Attribution 4.0 International License.
Download (867kB) Preview
Official URL


Constructing a high-performance garbage collector is hard. Constructing a fully concurrent 'on-the-fly', compacting collector is much more so. We describe our experience of implementing the Sapphire algorithm as the first on-the-fly, parallel, replication copying, garbage collector for the Jikes RVM Java virtual machine. In part, we explain our innovations such as copying with hardware and software transactions, on-the-fly management of Java's reference types and simple, yet correct, lock-free management of volatile fields in a replicating collector. We fully evaluate, for the first time, and using realistic benchmarks, Sapphire's performance and suitability as a low latency collector. An important contribution of this work is a detailed description of our experience of building an on-the-fly copying collector for a complete JVM with some assurance that it is correct. A key aspect of this is model checking of critical components of this complicated and highly concurrent system.

Item Type: Article
Projects: Projects 0 not found.
Projects 0 not found.
[UNSPECIFIED] Information Processing Society of Japan
[UNSPECIFIED] Google Summer or Code
Uncontrolled keywords: Concurrent garbage collection, Replicating garbage collection, Parallel garbage collection, Transactional memory, Model checking, Reference objects, Java
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, > QA76.76 Computer software
Divisions: Faculties > Sciences > School of Computing > Programming Languages and Systems Group
Depositing User: Richard Jones
Date Deposited: 05 Jun 2018 21:10 UTC
Last Modified: 04 Jul 2018 09:20 UTC
Resource URI: (The current URI for this page, for reference purposes)
Ugawa, Tomoharu:
Jones, Richard E.:
  • Depositors only (login required):


Downloads per month over past year