Skip to content

Update Log

Andrew Binstock edited this page Jan 21, 2025 · 24 revisions

v. 0.4.0 Started: 11 Aug 2023

  • Migration to golang v. 1.21 (JACOBIN-330)
  • Implemented static initializer blocks (JACOBIN-339)
  • Added a method-lookup table to class instances (JACOBIN-345)
  • Added detailed dump of JVM frame stack on errors (JACOBIN-360)
  • Added ATHROW bytecode, handling of uncaught exceptions with source line # (JACOBIN-401, JACOBIN-415)

v. 0.5.0 Started: 28 Feb 2024

  • Implemented LOOKUPSWITCH and TABLESWITCH bytecodes (JACOBIN-471, JACOBIN-484)
  • Implemented WIDE, GOTO_W bytecodes (JACOBIN-487, JACOBIN-492)
  • Implemented JSR, JSR_W, and RET bytecodes (JACOBIN-469)
  • Interning of Java strings (JACOBIN-463)
  • Added lookup of superclass methods in INVOKEVIRTUAL (JACOBIN-438)
  • Implemented java.lang.System.arraycopy method (JACOBIN-476)
  • Created a uniform way of throwing internal exceptions (JACOBIN-495)
  • Simplified the way to call gfunctions--that is, Java functions implemented in golang (JACOBIN-519)
  • Explored using Purego for calling native functions from Jacobin
  • Canonicalized the way methods are descriped internally to Jacobin (JACOBIN-575)

v. 0.6.0 Started: 31 Aug 2024

  • Moved to supporting Java 21 (JACOBIN-577)
  • Replaced logging system with new simplified, more useful tracing system (JACOBIN-498)
  • Migrated interpreter to new faster, simpler implementation (JACOBIN-592)
  • Added preparation of a loaded class file (JACOBIN-618)
  • Added deeper code-checking (JACOBIN-616)