• Stars
    star
    782
  • Rank 58,164 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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.

More Repositories

1

FXDesktopSearch

A JavaFX based desktop search application.
Java
167
star
2

MogwaiERDesignerNG

Java 2D & 3D visual entity relationship design & modeling (ERD,SQL) for Oracle,MSSQL,Postgres and MySQL
Java
141
star
3

GameComposer

GameComposer is a game authoring tool and also a game runtime environment targeting at desktop and mobile devices.
Java
66
star
4

flight-recorder-starter

This is a Spring Boot 2 Starter exposing the JDK Flight Recorder as a Spring Boot Actuator Endpoint.
Java
29
star
5

HystrixSpring

This shows how to embedd Hystrix in a non invasive manner into existing Spring applications.
Java
23
star
6

cdicron

A Java CDI Extension for scheduled tasks
Java
7
star
7

www_mirkosertic_de

The sources of my personal homepage
WebAssembly
4
star
8

javafxgraph

Automatically exported from code.google.com/p/javafxgraph
Java
4
star
9

mavensonarsputnik

Maven Plugin for Sputnik with Multi-Module Support
Java
3
star
10

Curse

A collection of maybe NOT useful Java Annotations
Java
3
star
11

sonardeltareport

A simple SonarQube Reporting Plugin for Pretested Commit Analysis
Java
3
star
12

OpenCVTest

Java
2
star
13

DDDCompileTimeValidator

A library to enforce a DDD compliant code structure at compile time
Java
2
star
14

TeaVMWASMTest

JavaScript
2
star
15

Notebooks

Common Jupyter Notebooks used for stuff
Jupyter Notebook
2
star
16

mirkosertic

1
star
17

MogwaiLooks

Java
1
star
18

WhoBrokeIt

WhoBrokeIt is a simple library to detect which VCS commit broke a particular unit test.
Java
1
star
19

EasyDAV

This is a simple implementation of a WebDAV enabled Server using Apache Jackrabbit WebDAV API.
Java
1
star
20

roomba500

Package to use the Roomba 5xx platform with ROS(Robotic Operation System)
Python
1
star
21

PrimCoverage

Java
1
star
22

TestGame

1
star
23

ConvNetJSTest

JavaScript
1
star
24

GroovyTest

Groovy
1
star
25

MSCI

Visualization of MSCI indices
HTML
1
star
26

revealjs-demo

A simple reveal.js blueprint for HTML-based presentations
HTML
1
star
27

spring-micronaut-quarkus

Java
1
star
28

Powerstaff

Java
1
star
29

Notefinder

Easily find notes and orientation on your guitar neck.
HTML
1
star
30

TurtleBotLidar

Very simple Turtlebot simulation with added Lidar sensor
JavaScript
1
star
31

MusicNoteCounts

A simple three-step service to automatically add note counts to your Guitar Pro or MusicXML score.
JavaScript
1
star