Skip to main navigation Skip to search Skip to main content

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

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

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.
Original languageEnglish
Title of host publicationProceeding PPPJ '14 Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools
PublisherACM New York
Pages187-193
Number of pages7
ISBN (Electronic)9781450330640
ISBN (Print)978-1-4503-2926-2
DOIs
Publication statusPublished - 13 Dec 2014

Publication series

NameACM International Conference Proceeding Series
Volume13-December-2014

Fields of science

  • 102 Computer Sciences
  • 102009 Computer simulation
  • 102011 Formal languages
  • 102013 Human-computer interaction
  • 102022 Software development
  • 102024 Usability research
  • 102029 Practical computer science

JKU Focus areas

  • Computation in Informatics and Mathematics
  • Engineering and Natural Sciences (in general)

Cite this