Skip to main content

Chicory 1.6.0 – Java Modules, Performance, and Enhanced Proposals

· 2 min read
Andrea Peruffo
Principal Software Engineer @ IBM

Chicory 1.6.0: Java Modules, Performance, and Enhanced Proposals

Release date: 2025-11-10

Chicory 1.6.0 brings Java Platform Module System (JPMS) support, significant performance improvements with directory-backed caching, enhanced Threads proposal support, and Extended Constant Expressions. This release also adds Java 25 support and improves the developer experience with better APIs.

Highlights

Java Platform Module System (JPMS) Support

  • Full Java module definitions (module-info.java) added across all Chicory modules, enabling proper module boundaries and encapsulation.
  • Chicory is now fully compatible with Java 9+ module system requirements, making it easier to use in modular Java applications.

Directory-Backed Runtime Compiler Cache

  • New experimental directory-based cache implementation for the runtime compiler, significantly improving startup performance for repeated module executions.
  • Thread-safe and process-safe cache implementation using atomic file operations.
  • Cache entries are stored as JAR files, keyed by module digest, enabling fast subsequent loads without recompilation.

Enhanced Threads Proposal Support

  • Atomic fence instruction implementation, completing the Threads proposal support for proper memory ordering in concurrent WebAssembly execution.
  • Full spec-compliant atomic operations for multi-threaded WebAssembly modules.

Extended Constant Expressions Proposal

  • Implementation of the Extended Constant Expressions proposal, enabling more complex constant expressions in WebAssembly modules.
  • Supports advanced constant evaluation capabilities in WebAssembly modules.

Other Improvements

  • CompiledModule Interface: New interface to make it easier to work with multiple build-time compiled modules, improving the developer experience.
  • Performance Optimization: Cache WasmModule in static fields to avoid parsing modules multiple times.
  • Java 25 Support: Full compatibility with the latest Java release.
  • API Improvements: Sanitized method and field names in annotation processor for better code generation.
  • Bug Fixes: Fixed WASI testsuite returning unsupported operation errors.

A huge thank you to all contributors for their valuable contributions. Check out the commit history for detailed implementation notes, and as always, let us know how it performs in your workloads!

Happy WebAssembly-in-the-JVM coding! 🚀