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.
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 language | English |
|---|---|
| Qualification | Master |
| Awarding Institution |
|
| Supervisors/Reviewers |
|
| Award date | 26 May 2025 |
| Place of Publication | Linz |
| Publisher | |
| Publication status | Published - 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