Loci: Simple Thread-Locality for Java

  • Authors:
  • Tobias Wrigstad;Filip Pizlo;Fadi Meawad;Lei Zhao;Jan Vitek

  • Affiliations:
  • Computer Science Dept., Purdue University,;Computer Science Dept., Purdue University,;Computer Science Dept., Purdue University,;Computer Science Dept., Purdue University,;Computer Science Dept., Purdue University,

  • Venue:
  • Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a simple type system for thread-local data in Java. Classes and types are annotated to express thread-locality and unintended leaks are detected at compile-time. The system, called Loci, is minimal, modular and compatible with legacy code. The only change to the language is the addition of two new metadata annotations. We implemented Loci as an Eclipse plug-in and used it to evaluate our design on a number of benchmarks. We found that Loci is compatible with how Java programs are written and that the annotation overhead is light thanks to a judicious choice of defaults.