All Projects → quasilyte → go-jdk

quasilyte / go-jdk

Licence: other
Run JVM-based code in Go efficiently

Programming Languages

go
31211 projects - #10 most used programming language
assembly
5116 projects

Projects that are alternatives of or similar to go-jdk

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 (+4493.44%)
Mutual labels:  interpreter, jvm, 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,973 (+4773.77%)
Mutual labels:  interpreter, jvm, jit
Q3vm
Q3VM - Single file (vm.c) bytecode virtual machine/interpreter for C-language input
Stars: ✭ 585 (+859.02%)
Mutual labels:  vm, embedded, interpreter
RSqueak
A Squeak/Smalltalk VM written in RPython.
Stars: ✭ 78 (+27.87%)
Mutual labels:  vm, interpreter, jit
Wasmjit
Small Embeddable WebAssembly Runtime
Stars: ✭ 1,063 (+1642.62%)
Mutual labels:  embedded, interpreter, jit
Wasm Micro Runtime
WebAssembly Micro Runtime (WAMR)
Stars: ✭ 2,440 (+3900%)
Mutual labels:  embedded, interpreter, jit
Zetavm
Multi-Language Platform for Dynamic Programming Languages
Stars: ✭ 592 (+870.49%)
Mutual labels:  vm, interpreter, jit
AlchemyVM
WebAssembly Virtual Machine Built In Elixir
Stars: ✭ 184 (+201.64%)
Mutual labels:  vm, interpreter
wazero
wazero: the zero dependency WebAssembly runtime for Go developers
Stars: ✭ 2,065 (+3285.25%)
Mutual labels:  vm, jit
kpspemu
PSP Emulator written in Kotlin for JVM, JS and Native. Can work as PWA.
Stars: ✭ 57 (-6.56%)
Mutual labels:  interpreter, jvm
qemujs
Qemu.js source code with proof-of-concept machine-code-to-WASM JIT.
Stars: ✭ 101 (+65.57%)
Mutual labels:  vm, jit
quickjs-build
Build for QuickJS JavaScript Engine
Stars: ✭ 25 (-59.02%)
Mutual labels:  vm, interpreter
neos
Language agnostic scripting engine with a custom bytecode JIT
Stars: ✭ 36 (-40.98%)
Mutual labels:  vm, jit
pocketlang
A lightweight, fast embeddable scripting language.
Stars: ✭ 1,412 (+2214.75%)
Mutual labels:  vm, interpreter
Tagha
Minimal, low-level, fast, and self-contained register-based bytecode virtual machine/runtime environment.
Stars: ✭ 101 (+65.57%)
Mutual labels:  vm, interpreter
cryostat
Secure JDK Flight Recorder management for containerized JVMs
Stars: ✭ 147 (+140.98%)
Mutual labels:  jvm, jdk
pikt
🎨 Image-based poetic programming language.
Stars: ✭ 72 (+18.03%)
Mutual labels:  interpreter, jvm
nashorn
A fork of Oracle's EcmaScript 5.1 engine Nashorn, compatible with Java 7
Stars: ✭ 29 (-52.46%)
Mutual labels:  jdk, jre
kcs
Scripting in C with JIT(x64)/VM.
Stars: ✭ 25 (-59.02%)
Mutual labels:  vm, jit
vein
🔮⚡️Vein is an open source high-level strictly-typed programming language with a standalone OS, arm and quantum computing support.
Stars: ✭ 31 (-49.18%)
Mutual labels:  interpreter, jit

go-jdk

Logo

go-jdk is OpenJDK-like implementation written in Go with a goal to deliver a great embeddable JVM for Go applications without CGo.

Key features:

  • JVM bytecode converted to register-based form
  • Loaded code is JIT-compiled right away, no run-time tracing involved
  • Efficient Go->JVM calls
  • Efficient JVM->Go calls
  • native Java methods can be written in Go

Note: this project is in its early state.

# Run Java class method (main or any other static method):
go-jdk run -class Foo.class -method helloWorld

# Disassemble Java class file with go-jdk:
go-jdk javap Foo.class

# Print IR representation instead of JVM bytecode:
go-jdk javap -format=ir Foo.class

# Print Java class dependencies:
go-jdk jdeps Foo.class
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].