GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - mirkosertic/Bytecoder: Framework to interpret and transpile JVM bytecode to JavaScript, OpenCL or WebAssembly.

BranchesTags
Open more actions menu

Latest commit

 

History

1,482 Commits
1,482 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.mvn
.mvn
 
 
classlib
classlib
 
 
cli
cli
 
 
core
core
 
 
integrationtest
integrationtest
 
 
languagefeatures
languagefeatures
 
 
manual
manual
 
 
maven
maven
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
pom.xml
pom.xml
 
 

Repository files navigation

Bytecoder

Bytecoder is a Rich Domain Model for Java Bytecode and Framework to interpret and transpile it to other languages such as JavaScript, OpenCL or WebAssembly.

Current Build status: Build Workflow Maven Central

High Level Goals

  • Ability to cross-compile JVM Bytecode to JavaScript, WebAssembly, OpenCL and other languages
  • Primary compile targets are JavaScript and WebAssembly
  • Supports Java 8 up to Java 20
  • Work well with Debugger Toolchains and SourceMaps
  • Allow integration with other UI-Frameworks such as vue.js
  • Backed by OpenJDK 20 as JRE Classlib

Compiling strategies

The JVM Bytecode is parsed and transformed into an intermediate representation. This intermediate representation is passed thru optimizer stages and sent to a backend implementation for target code generation.

The JavaScript backend transforms the intermediate representation into JavaScript.

The WebAssembly backend transforms the intermediate representation into WebAssembly text and binary code.

The OpenCL backend is used to compile single algorithms into OpenCL and execute them on the GPU. This backend is designed to enhance existing programs running on the JVM to utilize the vast power of modern GPUs.

User Manual

The Bytecoder User Manual and a full set of example applications is available here.

About

Framework to interpret and transpile JVM bytecode to JavaScript, OpenCL or WebAssembly.

www.mirkosertic.de/blog/2017/06/compiling-bytecode-to-javascript/

Topics

bytecodecompilerdecompilerjava-bytecodejavascriptjvm-bytecodekotlinllvmllvm-frontendopencltranspilerwebassembly

Resources

Readme
Apache-2.0 license
Activity

Stars

965 stars

Watchers

24 watching

Forks

65 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.