rise-jvm-core

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2022 License: GPL-3.0 Imports: 6 Imported by: 0

README

Rise JVM Core

Go

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

  1. Build it.
go build .
  1. Pick a class from demo and run it!
./rise-jvm-core demo/Add

NOTE: the suffix .class should be emitted.

🎄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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL