Skip to content

Bump io.github.charlietap.chasm:chasm from 1.4.8 to 1.5.0 - #161

Closed
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/gradle/io.github.charlietap.chasm-chasm-1.5.0
Closed

dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/gradle/io.github.charlietap.chasm-chasm-1.5.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 13, 2026

Copy link
Copy Markdown
Contributor

Bumps io.github.charlietap.chasm:chasm from 1.4.8 to 1.5.0.

Release notes

Sourced from io.github.charlietap.chasm:chasm's releases.

1.5.0

Whats Changed

Up to 47% faster execution

This release contains a substantial rewrite of Chasm's execution layer.

Instructions are now flattened during decoding and compiled into a shared program containing predecoded executor functions. The interpreter runs these using a simple instruction pointer, with branches compiled as direct jumps and return and exception continuations stored in activation frames.

This replaces the old design, which executed nested instruction arrays by continually manipulating instruction and label stacks at runtime.

On an Apple M5 Pro using JDK 25, the median CoreMark score increased from 626.995 to 924.137, an improvement of 47.4%.

Across the configured 337-fixture corpus, time spent executing Wasm dropped from 3.734 seconds to 2.272 seconds, a 39.2% reduction. Total corpus time fell from 9.150 seconds to 6.685 seconds, a reduction of 26.9%.

There are also some smaller improvements in this release, including folding local.tee into producer destinations and using optimistic trap-based bounds checking for fused JVM memory stores.

Faster instantiation

Instantiation time across the same corpus dropped from 3.069 seconds to 2.359 seconds, a reduction of 23.1%.

Bytecode fusion is now always enabled, but the wider compiler and runtime changes mean the work performed during instantiation is still considerably faster overall.

For the next release I'm working on a new single-pass compiler, with the aim of bringing compilation and instantiation time down further.

API changes

RuntimeConfig.bytecodeFusion is now deprecated. Bytecode fusion is always enabled and setting this property to false no longer has any effect.

The property has been left in place for compatibility and will be removed in a future major release.

Fixes

Validation is now iterative over the flattened instruction stream. This removes a potential stack overflow when validating modules containing deeply nested instruction blocks.

This release also fixes validation of result types for return_call and return_call_indirect.

Gradle plugin changes

The Chasm Gradle plugins now target Java 17 bytecode, matching the requirements of modern Gradle and Android Gradle Plugin versions.

This only affects the plugins running inside Gradle. Chasm's JVM and Android runtime libraries continue to target Java 11 bytecode.

Commits
  • 0cca950 prepare for release 1.5.0
  • 7da5770 runtime: store result slot bases as primitives
  • 7192981 runtime: execute compiled functions with an instruction pointer
  • 287f051 decoder: flatten instruction streams during decoding
  • fc28b25 corpus: record complete baseline timings
  • 4f890c9 corpus: add timings and establish baseline performance
  • 09b9eb2 build: upgrade the Java compiler toolchain to 25
  • 9ff0de8 publishing: upgrade Maven Publish plugin to 0.37.0
  • 24307fb gradle 9.7 and AGP 9.3.1
  • 6d70d37 used trap based bounds checking on jvm super instructions
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [io.github.charlietap.chasm:chasm](https://github.com/CharlieTap/chasm) from 1.4.8 to 1.5.0.
- [Release notes](https://github.com/CharlieTap/chasm/releases)
- [Commits](CharlieTap/chasm@1.4.8...1.5.0)

---
updated-dependencies:
- dependency-name: io.github.charlietap.chasm:chasm
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Aug 13, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #162.

@dependabot dependabot Bot closed this Aug 19, 2026
@dependabot
dependabot Bot deleted the dependabot/gradle/io.github.charlietap.chasm-chasm-1.5.0 branch August 19, 2026 04:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants