Skip to content

Implementing three types of JVM interpreters (Decode-Dispatch, Indirect-Threaded, Direct-Threaded), with a focus on comparing their performance and execution efficiencies.

Notifications You must be signed in to change notification settings

utaysi/JVM-Interpreter-Implementation-Types

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

JVM Interpreter Implementation Types

Overview

This repository presents a suite of Java Virtual Machine (JVM) interpreters developed as a collaborative project for the 'Virtual Machines' course at Philipps University of Marburg. It showcases the implementation and performance comparison of three distinct interpreter types:

  • Decode-Dispatch Interpreter: A traditional approach where each instruction is decoded and executed in a step-by-step manner.
  • Indirect-Threaded Interpreter: Leverages a method dispatch table to streamline instruction execution.
  • Direct-Threaded Interpreter: Employs computed gotos for instruction handling, thereby reducing dispatch overhead.

We implemented and tested these interpreters using four different programs, enabling a detailed analysis of their respective efficiencies and execution characteristics.

Performance Insights

The comparative analysis underscored fascinating performance trade-offs among the interpreter types, showcasing the impact of design choices on execution dynamics.

conclusion-table

Project Contributors

  • Mohamad Kaser
  • Parmida Talebi
  • Ugur Taysi

Source Material

For more information on the JVM instruction set, refer to Chapter 6: The Java Virtual Machine Instruction Set.

About

Implementing three types of JVM interpreters (Decode-Dispatch, Indirect-Threaded, Direct-Threaded), with a focus on comparing their performance and execution efficiencies.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages