Zur Hauptnavigation wechseln Zur Suche wechseln Zum Hauptinhalt wechseln

Speculation without regret: reducing deoptimization meta-data in the Graal compiler

Publikation: Beitrag in Buch/Bericht/KonferenzbandKonferenzbeitragBegutachtung

Abstract

Speculative optimizations are used in most Just In Time (JIT) compilers in order to take advantage of dynamic runtime feedback. These speculative optimizations usually require the compiler to produce meta-data that the Virtual Machine (VM) can use as fallback when a speculation fails. This meta-data can be large and incurs a significant memory overhead since it needs to be stored alongside the machine code for as long as the machine code lives. The design of the Graal compiler leads to many speculations falling back to a similar state and location. In this paper we present deoptimization grouping, an optimization using this property of the Graal compiler to reduce the amount of meta-data that must be stored by the VM without having to modify the VM. We compare our technique with existing meta-data compression techniques from the HotSpot Virtual Machine and study how well they combine. In order to make informed decisions about speculation meta-data, we present an empirical analysis of the origin, impact and usages of this meta-data.
OriginalspracheEnglisch
TitelProceeding PPPJ '14 Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools
VerlagACM New York
Seiten187-193
Seitenumfang7
ISBN (elektronisch)9781450330640
ISBN (Print)978-1-4503-2926-2
DOIs
PublikationsstatusVeröffentlicht - 13 Dez. 2014

Publikationsreihe

NameACM International Conference Proceeding Series
Band13-December-2014

Wissenschaftszweige

  • 102 Informatik
  • 102009 Computersimulation
  • 102011 Formale Sprachen
  • 102013 Human-Computer Interaction
  • 102022 Softwareentwicklung
  • 102024 Usability Research
  • 102029 Praktische Informatik

JKU-Schwerpunkte

  • Computation in Informatics and Mathematics
  • TNF Allgemein

Dieses zitieren