Graal on the Road to Valhalla – GraalVM Support for Value Classes

Michael Haas

Research output: ThesisMaster's / Diploma thesis

Abstract

Project Valhalla is a Java Enhancement Proposal focused on advancing both the Java Virtual Machine (JVM) and the Java programming language. The project introduces value classes to the Java language. These are designed to achieve performance comparable to that of primitives. The goal is to enable developers to use objects without sacrificing performance, thereby closing the gap between objects and primitives. A long-term objective of Project Valhalla is to address certain historical design limitations, particularly in the context of generics. For example, the current design of generics requires developers to rely on boxing types for primitives, which introduces additional overhead. While the changes to the Java programming language are intentionally kept minimal, significant modifications were necessary to the underlying JVM. Some of these changes focus on the optimization of value objects.
Just-In-Time (JIT) compilers allow the JVM to reduce execution time by compiling bytecode into native machine code at run time. The GraalVM compiler, a JIT compiler integrated into the HotSpot JVM, translates and optimizes Java bytecode into efficient machine code. This thesis explores the foundational steps required to support the Project Valhalla in the GraalVM compiler. We identify key challenges and potential pitfalls in integrating value classes into the GraalVM compiler and propose suitable solutions to address these issues.
Original languageEnglish
QualificationMaster
Awarding Institution
  • Johannes Kepler University Linz
Supervisors/Reviewers
  • Mössenböck, Hanspeter, Supervisor
Award date26 May 2025
Place of PublicationLinz
Publisher
Publication statusPublished - May 2025

Fields of science

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

JKU Focus areas

  • Digital Transformation

Cite this