├── .gitignore ├── .travis.yml ├── Cargo.lock ├── Cargo.toml ├── README.md ├── librjni ├── Cargo.toml └── src │ ├── lib.rs │ ├── math.rs │ └── system.rs ├── runtime └── java │ └── lang │ ├── Math.java │ ├── Object.java │ ├── String.java │ └── System.java ├── src ├── bin │ └── main.rs ├── lib.rs ├── model │ ├── class.rs │ ├── info │ │ ├── attribute.rs │ │ ├── constant.rs │ │ ├── field.rs │ │ ├── method.rs │ │ └── mod.rs │ └── mod.rs └── vm │ ├── class.rs │ ├── class_loader.rs │ ├── constant_pool.rs │ ├── frame.rs │ ├── mod.rs │ ├── native.rs │ ├── opcode.rs │ ├── runtime.rs │ ├── sig.rs │ ├── symref.rs │ └── value.rs ├── test_data ├── array │ ├── Fib.class │ └── Fib.java ├── instance │ ├── Instance.class │ └── Instance.java └── model_class │ ├── Test.class │ └── Test.java └── tests ├── array.rs ├── instance.rs └── model_class.rs /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | *.swp 3 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/.travis.yml -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/Cargo.toml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/README.md -------------------------------------------------------------------------------- /librjni/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/librjni/Cargo.toml -------------------------------------------------------------------------------- /librjni/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/librjni/src/lib.rs -------------------------------------------------------------------------------- /librjni/src/math.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/librjni/src/math.rs -------------------------------------------------------------------------------- /librjni/src/system.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/librjni/src/system.rs -------------------------------------------------------------------------------- /runtime/java/lang/Math.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/runtime/java/lang/Math.java -------------------------------------------------------------------------------- /runtime/java/lang/Object.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class Object { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /runtime/java/lang/String.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/runtime/java/lang/String.java -------------------------------------------------------------------------------- /runtime/java/lang/System.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/runtime/java/lang/System.java -------------------------------------------------------------------------------- /src/bin/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/bin/main.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/model/class.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/model/class.rs -------------------------------------------------------------------------------- /src/model/info/attribute.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/model/info/attribute.rs -------------------------------------------------------------------------------- /src/model/info/constant.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/model/info/constant.rs -------------------------------------------------------------------------------- /src/model/info/field.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/model/info/field.rs -------------------------------------------------------------------------------- /src/model/info/method.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/model/info/method.rs -------------------------------------------------------------------------------- /src/model/info/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/model/info/mod.rs -------------------------------------------------------------------------------- /src/model/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/model/mod.rs -------------------------------------------------------------------------------- /src/vm/class.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/vm/class.rs -------------------------------------------------------------------------------- /src/vm/class_loader.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/vm/class_loader.rs -------------------------------------------------------------------------------- /src/vm/constant_pool.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/vm/constant_pool.rs -------------------------------------------------------------------------------- /src/vm/frame.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/vm/frame.rs -------------------------------------------------------------------------------- /src/vm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/vm/mod.rs -------------------------------------------------------------------------------- /src/vm/native.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/vm/native.rs -------------------------------------------------------------------------------- /src/vm/opcode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/vm/opcode.rs -------------------------------------------------------------------------------- /src/vm/runtime.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/vm/runtime.rs -------------------------------------------------------------------------------- /src/vm/sig.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/vm/sig.rs -------------------------------------------------------------------------------- /src/vm/symref.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/vm/symref.rs -------------------------------------------------------------------------------- /src/vm/value.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/src/vm/value.rs -------------------------------------------------------------------------------- /test_data/array/Fib.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/test_data/array/Fib.class -------------------------------------------------------------------------------- /test_data/array/Fib.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/test_data/array/Fib.java -------------------------------------------------------------------------------- /test_data/instance/Instance.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/test_data/instance/Instance.class -------------------------------------------------------------------------------- /test_data/instance/Instance.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/test_data/instance/Instance.java -------------------------------------------------------------------------------- /test_data/model_class/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/test_data/model_class/Test.class -------------------------------------------------------------------------------- /test_data/model_class/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/test_data/model_class/Test.java -------------------------------------------------------------------------------- /tests/array.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/tests/array.rs -------------------------------------------------------------------------------- /tests/instance.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/tests/instance.rs -------------------------------------------------------------------------------- /tests/model_class.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lolzballs/rust-jvm/HEAD/tests/model_class.rs --------------------------------------------------------------------------------