Skip to content

AleksanderEvensen/Rusty-JVM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Virtual Machine in rust

NOTE: This is only for educatinal purposes, and is not a complete implementation of oracles jvm

It can only parse (almost) all class and jar files in the current state of the implementation.

Not All java features are implemented (obviously).

jvm.exe --path "<path_to_file>.(jar|class)"

Everything needed to implement, is written in the oracle documentation:

Oracle: The class File Format

Oracle: The Java Virtual Machine Instruction Set

Goals:

  • Get an intuitive implementation that can be expanded into something that could potentially run any java program
    • This means implementing everything when parsing the class file and also loading jar files
    • A easy way of adding the bindings for the java methods
      • for example: System.out.println() sould be mapped to rust as println!(). To the JVM this function is known as java/io/PrintStream/println. A rust macro for this should do the trick
  • Run Minecraft (lol. not happening)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published