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
Just one line.
go testProject structure:
.
├── LICENSE
├── README.md
├── demo
├── entity
├── go.mod
├── go.sum
├── jvm
├── loader
├── logger
├── main.go
├── main_test.go
├── rt
└── utils
Demo Java classes and their source code.
Class loader and related stuffs are here. They load bytes from class file. The loader will convert these bytes into Go struct.
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.
VM and byte code execution engine.
Global logger. It should be initialized.
zserge/tojvm. Some snippets in loader are from here. They are noted in comments.
This project is licensed under GPLv3.