Bytecoder

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

APACHE-2.0 License

Stars
853
Committers
16

Bot releases are visible (Hide)

Bytecoder - 2020-05-04

Published by mirkosertic over 4 years ago

Changes

  • #376 Implement more efficient Class Hierarchy Analysis for method devirtualization
  • #392 Move Class-Initialization Status into data-segment (#393)
  • #154 Use F64/I64 Datatypes for Double and Long values in WASM Backend
  • #387 Perform Class-Initialization-Check only once per Class and Method body
  • BytecoderUnitTestRunner - report ignored tests (#381)
  • Bump selenium from 1.13.0 to 1.14.0 (#378)
  • Bump kotlin.version from 1.3.71 to 1.3.72 (#380)
  • Bump slf4j-jdk14 from 1.7.28 to 1.7.30 (#379)
  • Bump jackson-databind from 2.9.10.3 to 2.9.10.4 in /core (#385)
  • Bump selenium from 1.14.0 to 1.14.1 (#386)
  • Bump jme3-core from 3.3.0-stable to 3.3.2-stable (#390)
  • Fixed a typo
Bytecoder - 2020-04-09

Published by mirkosertic over 4 years ago

Changes

  • Fixed a MethodType handling bug in WASM backends
  • #333 Kotlin to WASM - by lazy init does not work (#369)
  • #333 Kotlin Debug Symbols resulting invalid method argument names
  • #331 Resource Bundle: Missing getBundle() methods (#374)
  • Bump maven-verifier from 1.6 to 1.7.1 (#373)
  • Bump jme3-core from 3.2.2-stable to 3.3.0-stable (#375)
Bytecoder - 2020-03-30

Published by mirkosertic over 4 years ago

Changes

  • #324 Use Slot-Based Virtual Tables instead of FunctionID-Based implem
  • #345 Upgrade to OpenJDK 14 (#347)
  • #328 JS: constructor as reference produce an error (#350)
  • #326 JS: generic object cast breaks the script
  • #325 default method on interfaces cannot be overwritten (#352)
  • #327 JS: Interface references as consumer handled wrong (#356)
  • #216 Replace .static in JS backend with reference_kind in MethodRef
  • #361 Make LLVM optimization level configurable (#362)
  • #351 RFE specify name of wasmbindings.js (#363)
  • Fixed Maven download URL
  • Re-enabled the inefficient-if optimizer for LLVM backend (#343)
  • Compiler performance tuning (#360)
  • Bump jackson-databind from 2.9.10.1 to 2.9.10.3 in /core (#340)
  • Bump kotlin.version from 1.3.61 to 1.3.70 (#339)
  • Bump maven-dependency-plugin from 3.1.1 to 3.1.2 (#346)
  • Bump mockito-core from 3.3.0 to 3.3.3 (#348)
  • Bump maven-javadoc-plugin from 3.1.1 to 3.2.0 (#349)
  • Bump kotlin.version from 1.3.70 to 1.3.71 (#355)
  • Bump spring-boot-maven-plugin from 2.2.5.RELEASE to 2.2.6.RELEASE (#358)
  • Bump pitest-maven from 1.5.0 to 1.5.1 (#364)
  • Bump asm from 7.3.1 to 8.0 (#365)
Bytecoder - 2020-02-29

Published by mirkosertic over 4 years ago

Changes

  • #251 Replace shadow types for Double and Float with default OpenJDK implementation
  • #306 Use testcontainers for selenium integration tests (#307)
  • Implementation of Class.getSuperclass (#314)
  • Better code for RuntimeClasses in Wasm/JS backend (#318)
  • #198 Emit LLVM code (#335)
  • Bump mockito-core from 3.1.0 to 3.2.0 (#297)
  • Bump selenium from 1.12.3 to 1.12.4 (#308)
  • Bump picocli from 4.0.4 to 4.1.2 (#302)
  • Bump spring-boot-maven-plugin from 2.2.1.RELEASE to 2.2.2.RELEASE (#303)
  • Bump mockito-core from 3.2.0 to 3.2.4 (#311)
  • Bump slf4j-jcl from 1.7.29 to 1.7.30 (#310)
  • Bump slf4j-api from 1.7.29 to 1.7.30 (#309)
  • Bump picocli from 4.1.2 to 4.1.4 (#312)
  • Bump maven-source-plugin from 3.2.0 to 3.2.1 (#313)
  • Added .DS_Store to .gitignore (#316)
  • Bump junit from 4.12 to 4.13 (#317)
  • Bump asm from 7.2 to 7.3.1 (#319) …
  • Bump pitest-maven from 1.4.10 to 1.4.11 (#320)
  • Bump spring-boot-maven-plugin from 2.2.2.RELEASE to 2.2.3.RELEASE (#321)
  • Bump selenium from 1.12.4 to 1.12.5 (#323)
  • Bump jocl from 2.0.1 to 2.0.2 (#329)
  • Bump spring-boot-maven-plugin from 2.2.3.RELEASE to 2.2.4.RELEASE (#322)
  • Bump picocli from 4.1.4 to 4.2.0 (#332)
  • Bump mockito-core from 3.2.4 to 3.3.0 (#337)
  • Bump pitest-maven from 1.4.11 to 1.5.0 (#336)
  • Bump spring-boot-maven-plugin from 2.2.4.RELEASE to 2.2.5.RELEASE (#338)
Bytecoder - 2019-12-08

Published by mirkosertic almost 5 years ago

Changes

  • #285 Limit Wasm GC intervals (#295)
  • #290 OpaqueTypes error (#298)
  • #296 Test all variants of JEP 280 style string concatenations (#299)
  • Bump maven-artifact from 3.6.2 to 3.6.3 (#289)
  • Bump maven-core from 3.6.2 to 3.6.3 (#288)
  • Bump maven-plugin-api from 3.6.2 to 3.6.3 (#287)
Bytecoder - 2019-11-25

Published by mirkosertic almost 5 years ago

Changes

  • #274 The garbage collector is not working correctly (#283)
  • #266 String.split/toUpperCase/toLowerCase/replaceAll do not work (#270)
  • #272 Implement support for ResourceBundles
  • #269 String.format returns an empty string (#278)
  • #279 this reference is not correctly bound in OpaqueReference callbac…
  • Bug fix for Shadow Type Replacer and InvokeDynamic (#267)
  • Bump maven-source-plugin from 3.1.0 to 3.2.0 (#264)
  • Bump batik-svggen from 1.11 to 1.12 (#268)
  • Bump jackson-databind from 2.9.9.2 to 2.9.10.1 in /core (#275)
  • I18N for DecimalFormatSymbols
  • Bump spring-boot-maven-plugin from 2.2.0.RELEASE to 2.2.1.RELEASE (#271)
Bytecoder - 2019-11-04

Published by mirkosertic almost 5 years ago

Changes

  • #262 For-looping a Map does not work (#263)
  • #252 better documentation …
  • Bump slf4j-api from 1.7.28 to 1.7.29 (#259)
  • Bump slf4j-jcl from 1.7.28 to 1.7.29 (#260)
  • Bump spring-boot-maven-plugin from 2.1.9.RELEASE to 2.2.0.RELEASE (#246)
Bytecoder - 2019-11-03

Published by mirkosertic almost 5 years ago

Changes

  • #210 Implement better register allocator (#226)
  • #229 Implement more optimizers (#231)
  • #232 Add support for file descriptors and file io based on java.io (#241 )
  • #237 WebAssembly: optimize virtual table lookups for method invocation
  • #234 Initial support for java.desktop module (#248)
  • #252 Create better documentation (#255)
  • #253 Initial supportfor java.xml module (#258)
  • #257 Wasm file size issue (#261)
  • Bump pitest-maven from 1.4.9 to 1.4.10 (#219)
  • Bump maven-plugin-api from 3.6.1 to 3.6.2 (#222)
  • Bump maven-artifact from 3.6.1 to 3.6.2 (#221)
  • Bump maven-core from 3.6.1 to 3.6.2 (#220)
  • Bump spring-boot-maven-plugin from 2.1.7.RELEASE to 2.1.8.RELEASE (#223)
  • Bump picocli from 4.0.3 to 4.0.4 (#224)
  • Added missing boolean and float String.valueOf methods (#242)
  • Bump mockito-core from 3.0.0 to 3.1.0 (#236)
  • Bump asm from 7.1 to 7.2 (#235)
  • Bump spring-boot-maven-plugin from 2.1.8.RELEASE to 2.1.9.RELEASE (#240)
  • Removed unused variable theClassPath (#243)
  • Bump plexus-utils from 3.2.1 to 3.3.0 (#245)
Bytecoder - 2019-08-30

Published by mirkosertic about 5 years ago

Changes

  • #41 Compile Java kernel methods to OpenCL inline functions (#203)
  • #204 General profiling and improvement of compiler logic (#208)
  • #197 Build against OpenJDK 13 (#212)
  • #209 Replace current graph path logic with dominator tree (#213)
  • #215 Exception when compiling (#218)
  • Added OpenCL Mandelbrot Example
  • Bump spring-boot-maven-plugin from 2.1.6.RELEASE to 2.1.7.RELEASE (#202)
  • Bump slf4j-jcl from 1.7.27 to 1.7.28 (#207)
  • Bump slf4j-api from 1.7.27 to 1.7.28 (#206)
  • Bump picocli from 4.0.2 to 4.0.3 (#217)
  • Bump kotlin.version from 1.3.41 to 1.3.50 (#214)
Bytecoder - 2019-08-03

Published by mirkosertic about 5 years ago

Changes

  • #157 Further Improve Conditional Nodes in Relooper (#196)
  • #178 Enable WASM Exceptions according to latest proposal (#188)
  • #177 Optimize JUnit-Testrunner implementation (#189)
  • #191 Exception in thread "main" java.lang.reflect.InvocationTargetException
  • Bump kotlin.version from 1.3.40 to 1.3.41 (#187)
  • Bump maven-javadoc-plugin from 3.1.0 to 3.1.1 (#190)
  • Bump mockito-core from 2.28.2 to 3.0.0 (#192)
  • Bump plexus-utils from 3.2.0 to 3.2.1 (#193)
  • Updated Jackson Dependency to 2.9.9.2
  • Bump picocli from 3.9.6 to 4.0.1 (#195)
Bytecoder - 2019-06-29

Published by mirkosertic over 5 years ago

Changes

  • More Tests for If/Then/Else Optimizations
  • Caching of Maven artefacts
  • BytecoderUnitTestRunner now supports @ignore correctly
  • Fixed Maven GPG Plugin Version
  • Fixed gh-pages deploy
  • #160 Replace Class assertionStatus Management with Intrinsic (#164)
  • #162 Replace enumValues with Intrinsic (#168)
  • #169 Run full integration test suite on Travis CI
  • #171 Run release and snapshot Builds from Travis-CI (#172)
  • #163 Get rid of __tr Variable in JS Backend and replace it with (this)
  • #173 Automatically deploy examples with Travis-CI for Snapshot and Releases
  • #167 mainClass without the main method fails with unhelpful message
  • #161 Replace Hand-Made JS OO Code with default ES-Syntax (#182)
  • #181 Get rid of Proxy usage in JS Backend for Lambda Expressions (#183)
  • #125 Optimize Allocation/Constructor Invocation Chains (#185)
  • Bump spring-boot-maven-plugin from 2.1.5.RELEASE to 2.1.6.RELEASE (#175)
  • Bump kotlin.version from 1.3.31 to 1.3.40 (#176)
Bytecoder - 2019-06-13

Published by mirkosertic over 5 years ago

Changes

  • #126 Support/Document Transpilation via API
  • #145 Full Support for java.land.Character
  • Full UTF-8 / UTF-16 support (#150, #145)
  • #149 Unify IO classes (#151)
  • #152 Add missing JDK methods (#155)
  • Fixed #143 Cannot find static method parseInt in java/lang/Integer
  • #153 Refactor Intrinsics to make NaiveProgramGenerator more readable
  • Fixed JavaDoc Issues
  • Removed unused code
  • Bump picocli from 3.9.3 to 3.9.5 (#127)
  • Bump mockito-core from 2.25.1 to 2.26.0 (#132)
  • Bump picocli from 3.9.5 to 3.9.6 (#131)
  • Bump spring-boot-maven-plugin from 2.1.3.RELEASE to 2.1.4.RELEASE (#130)
  • Bump mockito-core from 2.26.0 to 2.27.0 (#133)
  • Bump kotlin.version from 1.3.21 to 1.3.31 (#139)
  • Bump maven-compiler-plugin from 3.8.0 to 3.8.1 (#141)
  • Bump maven-surefire-plugin from 2.22.1 to 2.22.2 (#140)
  • Bump spring-boot-maven-plugin from 2.1.4.RELEASE to 2.1.5.RELEASE (#144)
  • Fixed jackson-databind security issue
  • Bump mockito-core from 2.27.0 to 2.28.2 (#146)
Bytecoder - 2019-03-22

Published by mirkosertic over 5 years ago

Changes

  • Updated documentation
  • #118 More JS Minification
  • #119 Bump asm from 7.0 to 7.1
  • #120 Bump maven-javadoc-plugin from 3.0.1 to 3.1.0
  • #121 Bump mockito-core from 2.24.5 to 2.25.0
  • #122 Bump plexus-utils from 3.1.1 to 3.2.0
  • #123 Bump mockito-core from 2.25.0 to 2.25.1
  • #124 Upgrade to OpenJDK 12
Bytecoder - 2019-02-27

Published by mirkosertic over 5 years ago

Changes

  • Updated some dependencies
  • #106 Recover more natural IF/ELSE Blocks from CFG
  • #90 Auto Export static main method
  • #109 Optimize Optimizer Stages
  • #110 Add obfuscator and minifier to JS backend
  • #116 Remove Google Closure Compiler
  • #117 Create sourcemaps
  • #112 ByteArray is missing
Bytecoder - 2019-01-26

Published by mirkosertic over 5 years ago

Changes

  • #82 New Optimizer Stage: drop unused return values
  • #85 Use streaming WASM instantiation for demos
  • #84 Support for native arrays in OpaqueReferenceType API
  • Enhanced Web APIs
  • #86 Use tee_local for efficient variable access
  • Further optimized WASM code size
  • Working on high level language feature recovery
  • Fixed Relooper issue with Exception handling
  • Bug fixing in OpenCL compiler
  • Added more demos
  • #87 Fix static class initialization order
  • #88 Broken NaN to int conversion(should result to 0)
  • #89 Super call with overriden method results in infinite loop
Bytecoder - 2018-12-19

Published by mirkosertic almost 6 years ago

Changes

  • Add vue.js integration demo
  • Fixes on OpaqueReference mixed more compilation
Bytecoder - 2018-12-17

Published by mirkosertic almost 6 years ago

Changes

  • #76 Lambdas sometimes not correctly handled
  • #72 Error linking class java.lang.ref.Reference
  • #78 Kotlin NullChecks sometimes fails for WASM Opaque Types.
  • InlineGotoOptimizer is no longer experimental
  • #79 Implement Optimizer for inefficient Member and Array Access
  • #80 Allow more generic upcall from Host to Bytecoder for opaque data types
Bytecoder - 2018-12-10

Published by mirkosertic almost 6 years ago

Changes

  • #69 Support for Reference Types(Foreign Objects) in JS Backend …
  • #70 Support for Reference Types(Foreign Objects) in WASM Backend
  • #71 Clicking multiple times on the button in the demo leads to … …
  • #75 Callbacks from OpaqueReferences are sometimes not correctly… …
  • #73 Implement missing Browser APIs
  • #77 Clarify project documentation
Bytecoder - 2018-11-29

Published by mirkosertic almost 6 years ago

Changes

  • #68 Support for Kotlin
  • #22 Implement better register allocator to further reduce the number of variables
  • #42 Optimize inefficient IF expressions
Bytecoder - 2018-11-25

Published by mirkosertic almost 6 years ago

Changes

  • #3 Implement exception handling completely …
  • #62 Integrate WASM AST to generate textual and binary code without WABT Toolchain
  • Minor fixes in WebAssembly AST
  • Optimized WebAssembly memory acccess for stack variables
Package Rankings
Top 13.71% on Repo1.maven.org
Badges
Extracted from project README
Maven Central