Rise JVM Core
This is the core of Rise JVM.
Rise JVM is a Java Virtual Machine based on WASM, written in Go.
Tested under:
- Ubuntu 20.04
- OpenJDK javac 11.0.13
✨Quick Start
Just one line.
go test
🎄Structure
Project structure:
.
├── LICENSE
├── README.md
├── demo
├── entity
├── go.mod
├── go.sum
├── jvm
├── loader
├── logger
├── main.go
├── main_test.go
├── rt
└── utils
demo
Demo Java classes and their source code.
loader
Class loader and related stuffs are here. They load bytes from class
file. The loader will convert these bytes into Go struct
.
entity
This directory stores the definition of structures, and its methods. The methods are only related to the struct
, e.g. IsPublic
for Class
.
Other things like deserialization is not included.
jvm
VM and byte code execution engine.
logger
Global logger. It should be initialized.
👏Acknowledgement
zserge/tojvm. Some snippets in loader
are from here. They are noted in comments.
📜License
This project is licensed under GPLv3.