core

package module
v1.0.1 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

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.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(file io.Reader, out io.Writer, in io.Reader, silent bool)

Run WASM entrance

func RunFromPath

func RunFromPath(path string, out io.Writer, in io.Reader, silent bool)

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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