All Projects → Birbe → jvm

Birbe / jvm

Licence: GPL-3.0 License
Pure Rust implementation of the JVM 7 specification

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to jvm

Lightbeam
Lightbeam has moved and now lives in the Wasmtime repository!
Stars: ✭ 253 (+837.04%)
Mutual labels:  wasm, jit
wasm2kt
Web Assembly to Kotlin and Java converter. Allows to compile a C or C++ program/library, and generate a Kotlin or Java program/library.
Stars: ✭ 20 (-25.93%)
Mutual labels:  jvm, wasm
go-jdk
Run JVM-based code in Go efficiently
Stars: ✭ 61 (+125.93%)
Mutual labels:  jvm, jit
Luwa
WIP jit lua to wasm
Stars: ✭ 88 (+225.93%)
Mutual labels:  wasm, jit
Openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,802 (+10277.78%)
Mutual labels:  jvm, jit
Wasm Micro Runtime
WebAssembly Micro Runtime (WAMR)
Stars: ✭ 2,440 (+8937.04%)
Mutual labels:  wasm, jit
Asmble
Compile WebAssembly to JVM and other WASM tools
Stars: ✭ 466 (+1625.93%)
Mutual labels:  jvm, wasm
warpy
WebAssembly interpreter in RPython
Stars: ✭ 54 (+100%)
Mutual labels:  wasm, jit
Jphp
JPHP - an implementation of PHP on Java VM
Stars: ✭ 1,665 (+6066.67%)
Mutual labels:  jvm, jit
Classpy
GUI tool for investigating Java class files
Stars: ✭ 854 (+3062.96%)
Mutual labels:  jvm, wasm
Wasmjit
Small Embeddable WebAssembly Runtime
Stars: ✭ 1,063 (+3837.04%)
Mutual labels:  wasm, jit
AheuiJIT
Aheui JIT compiler for PC and web
Stars: ✭ 27 (+0%)
Mutual labels:  wasm, jit
Wasmtime
Standalone JIT-style runtime for WebAssembly, using Cranelift
Stars: ✭ 6,413 (+23651.85%)
Mutual labels:  wasm, jit
Cranelift
Cranelift code generator
Stars: ✭ 2,485 (+9103.7%)
Mutual labels:  wasm, jit
Rustpython
A Python Interpreter written in Rust
Stars: ✭ 10,261 (+37903.7%)
Mutual labels:  wasm, jit
yarrow
[yarrow] JVMCI based optimizing compiler for HotSpot VM
Stars: ✭ 21 (-22.22%)
Mutual labels:  jvm, jit
Wasm2kt
Web Assembly to Kotlin and Java converter. Allows to compile a C or C++ program/library, and generate a Kotlin or Java program/library.
Stars: ✭ 18 (-33.33%)
Mutual labels:  jvm, wasm
openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,973 (+10911.11%)
Mutual labels:  jvm, jit
wasm.cljc
Spec compliant WebAssembly compiler, decompiler, and generator
Stars: ✭ 178 (+559.26%)
Mutual labels:  jvm, wasm
delta
DDD-centric event-sourcing library for the JVM
Stars: ✭ 15 (-44.44%)
Mutual labels:  jvm

JVM-Rust

badge Rust

Warning! This crate is absurdly unsafe at the moment.


A pure Rust implementation of the JVM 7 spec, with the main goals being to be able to eventually:

  • Run the OpenJDK 7 Java source
  • Have a Cranelift-backed JIT, and an AOT WASM compiler.

Roadmap

  • Deserialize Java 7 classes

  • Type-checking of bytecode (!)

  • Get basic bytecode running

  • Get heap allocation and object creation working

  • Improve stability

  • Monitors and error handling

  • Fully implement all bytecode

  • Get the OpenJDK 7 source to load and run.

  • Stop-the-world GC

  • Bytecode metrics

  • Cranelift JIT

  • Concurrent GC

  • Ahead-of-time WASM compiler


Library Usage

Look in main.rs of the jvm_test crate for an example.

cargo run -p jvm_test -- --mode <i, stepper>

Unsafety

This library is under heavy development, and as such is very unstable and unsafe(!) to use. The main issues arise from the fact that executed bytecode is not currently type-checked.

TLDR: don't use this for anything important, nor on anything you don't trust.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].