Skip to content

feat(native): adopt Myna binding ABI 2 and refresh toolchains - #93

Merged
Sam Gammon (sgammon) merged 5 commits into
mainfrom
build/myna-abi2-toolchain
Nov 5, 2026
Merged

Sam Gammon (sgammon) merged 5 commits into
mainfrom
build/myna-abi2-toolchain

Conversation

@sgammon

@sgammon Sam Gammon (sgammon) commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Update Elide to 1.6.2, elide-dev/toolchain to 2026.11.1 (LLVM 23.1.4), Rust to its matching nightly-2026-10-09, Myna to 0.8.0, and Graal to 25.5.5-elide.24. Regenerated Native Image bindings use Myna binding ABI 2 while retaining Bemo transport ABI 3.

All 97 imports declare their audited call policy. Twelve bounded metadata operations use generated typed leaf pointers; allocation, locking, I/O, callbacks, and cleanup retain VM transitions. Helper-token release transitions because its retirement CAS loop can retry. The corresponding FFM metadata calls use critical downcalls without heap access.

Compile the Native Image module with the required compile-only SDK jars and package Myna's generated initialization metadata. Keep compiler implementation classes out of published artifacts. Native compiler discovery handles Elide's new cc alias while preserving the platform compiler, explicit flags, and other tools. Synchronize the deliberate TSAN race canary and retain its repeated accesses so detection is reliably exercised.

Validation: make build, make check, make test (387 Rust tests plus shared JVM/C contracts), make test-native-image, Python tests, and tools/test_git_dependency.py pass on macOS ARM64. The final 0.5.0 release verification passed functional, safety, coverage, platform, packaging, static/ThinLTO consumer, and transport/wall-clock benchmark jobs. On the dedicated runner, the twelve native HTTP cases were within 2.3% of the previous main baseline; no performance improvement is claimed.

@codecov

codecov Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@codspeed

codspeed Bot commented Nov 5, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 10.46%

2 warnings

⚠️ 6 benchmarks are dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

⚠️ 5 benchmarks with a significant change ran in a different software environment

Their base and head results were measured with a different OS or toolchain, such as compiler, runtime or library versions, so the changes might come from this difference rather than from the code. Open an affected benchmark to see what changed.

See affected benchmarks

⚡ 1 improved benchmark
❌ 4 regressed benchmarks
✅ 62 untouched benchmarks
⏩ 115 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
❌ retain-drop[1048576] 300.8 ns 354.9 ns -15.26%
❌ retain-drop[4096] 300.8 ns 354.9 ns -15.26%
❌ retain-drop[64] 300.8 ns 354.9 ns -15.26%
❌ retain-drop[65536] 300.8 ns 354.9 ns -15.26%
⚡ overwrite[64] 520.2 ns 466.1 ns +11.62%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing build/myna-abi2-toolchain (f854b06) with main (4cd42fe)

Open in CodSpeed

Footnotes

  1. 115 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@sgammon
Sam Gammon (sgammon) merged commit 34158ac into main Nov 5, 2026
0 of 20 checks passed
@github-actions github-actions Bot mentioned this pull request Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant