Skip to content

MackieLoeffel/rusty-jvm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rusty JVM

https://travis-ci.org/MackieLoeffel/rusty-jvm.svg?branch=master

An experiment to create a JVM in Rust.

Sources

Status

  • [X] parse classfiles
  • [X] decode instructions
  • [-] implement instructions
    • [X] implement conversions
    • [X] implement arithmetic
    • [X] implement constants
    • [X] implement jumps and conditionals
    • [-] implement method invocation
      • [X] INVOKESTATIC
      • [ ] INVOKEINTERFACE
      • [X] INVOKESPECIAL
        • [X] implement basics
        • [X] implement ACC_SUPER-flag
      • [X] INVOKEVIRTUAL
    • [-] implement objects
      • [X] implement object creation
      • [X] implement arrays
      • [ ] implement strings
    • [X] implement casts
    • [-] implement field access
      • [X] instance fields
      • [ ] static fields
    • [ ] implement class initialization methods
    • [ ] implement other instructions
  • [X] setup tests with real jvm
  • [ ] implement tableswitch and lookup switch
  • [ ] exceptions
  • [ ] garbage collection
  • [ ] integrate with GNU Classpath
  • [ ] classfile verification
    • [ ] handle circular dependencies, inheritance…
    • [ ] check other stuff
  • [ ] synchronisation

About

An experiment to create a JVM in Rust

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages