An experiment to create a JVM in Rust.
- [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