Skip to content

Commit b11fcc6

Browse files
committed
Update zwasm dependency to v1.1.0, fix test-linux stack overflow
- build.zig.zon: zwasm v1.0.0 → v1.1.0 - build.zig: set 512MB stack for test steps (fixes SIGSEGV on Linux CI) - Update version references in docs and benchmarks
1 parent 518fef2 commit b11fcc6

File tree

7 files changed

+37
-8
lines changed

7 files changed

+37
-8
lines changed

.dev/binary-size-audit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Binary Size Audit — v0.2.0
22

33
Date: 2026-02-14
4-
zwasm: v1.0.0 (GitHub URL dependency)
4+
zwasm: v1.1.0 (GitHub URL dependency)
55
Platform: macOS ARM64 (Apple Silicon)
66

77
## Binary Size Summary

.dev/future.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
| GC | MarkSweepGc (D69, D70) |
2727
| Benchmark suite | 31 benchmarks (20 native + 11 wasm) |
2828
| Backends | VM (bytecode) + TreeWalk |
29-
| Wasm engine | zwasm v1.0.0 (external dependency) |
29+
| Wasm engine | zwasm v1.1.0 (external dependency) |
3030

3131
---
3232

.dev/memo.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Session handover document. Read at session start.
44

5-
## Note: zwasm v1.0.0 API Change (APPLIED)
5+
## Note: zwasm v1.1.0 API Change (APPLIED)
66

77
zwasm `loadWasi()` default changed to `Capabilities.cli_default`.
88
CW updated to use `loadWasiWithOptions(..., .{ .caps = .all })` in `src/wasm/types.zig:82`.
@@ -11,10 +11,10 @@ CW updated to use `loadWasiWithOptions(..., .{ .caps = .all })` in `src/wasm/typ
1111

1212
- **All phases through 76 COMPLETE** (Type System & Reader Enhancements)
1313
- Coverage: 880+ vars (651/706 core, 10/11 protocols, 22/22 reducers, 25 embedded CLJ namespaces)
14-
- Wasm engine: zwasm v1.0.0 (GitHub URL dependency, build.zig.zon).
14+
- Wasm engine: zwasm v1.1.0 (GitHub URL dependency, build.zig.zon).
1515
- Bridge: `src/wasm/types.zig` (751 lines, thin wrapper over zwasm)
1616
- 52 upstream test files, all passing. 6/6 e2e tests pass. 14/14 deps e2e pass.
17-
- Benchmarks: `bench/history.yaml` (v1.0.0 entry = latest baseline)
17+
- Benchmarks: `bench/history.yaml` (v1.1.0 entry = latest baseline)
1818
- Binary: 4.07MB ReleaseSafe (Mac ARM64). See `.dev/binary-size-audit.md`.
1919
- Java interop: `src/interop/` module with URI, File, UUID, PushbackReader, StringBuilder, StringWriter, BufferedWriter classes (D101)
2020

bench/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ Full Wasm 3.0 support (all 9 proposals including GC) in 1.1 MB.
243243

244244
## Latest Wasm Runtime Results (2026-02-14)
245245

246-
CW's built-in Wasm runtime (zwasm v1.0.0, Register IR + ARM64/x86_64 JIT)
246+
CW's built-in Wasm runtime (zwasm v1.1.0, Register IR + ARM64/x86_64 JIT)
247247
vs 4 other Wasm runtimes. Apple M4 Pro, 48GB RAM.
248248
21 benchmarks (WAT 5, TinyGo 11, Shootout 5), hyperfine 3 runs + 1 warmup.
249249

bench/history.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -958,3 +958,30 @@ entries:
958958
string_ops: {time_ms: 26, mem_mb: 23.3}
959959
multimethod_dispatch: {time_ms: 6, mem_mb: 12.0}
960960
real_workload: {time_ms: 10, mem_mb: 19.2}
961+
- id: "zwasm-v1.1.0"
962+
date: "2026-02-18"
963+
reason: "zwasm v1.1.0 release"
964+
commit: "518fef2"
965+
build: ReleaseSafe
966+
backend: vm
967+
results:
968+
fib_recursive: {time_ms: 17, mem_mb: 11.9}
969+
fib_loop: {time_ms: 4, mem_mb: 11.9}
970+
tak: {time_ms: 7, mem_mb: 11.9}
971+
arith_loop: {time_ms: 5, mem_mb: 11.8}
972+
map_filter_reduce: {time_ms: 6, mem_mb: 12.9}
973+
vector_ops: {time_ms: 5, mem_mb: 17.2}
974+
map_ops: {time_ms: 4, mem_mb: 15.9}
975+
list_build: {time_ms: 6, mem_mb: 12.9}
976+
sieve: {time_ms: 6, mem_mb: 15.4}
977+
nqueens: {time_ms: 17, mem_mb: 22.9}
978+
atom_swap: {time_ms: 6, mem_mb: 11.9}
979+
gc_stress: {time_ms: 29, mem_mb: 17.2}
980+
lazy_chain: {time_ms: 7, mem_mb: 11.9}
981+
transduce: {time_ms: 6, mem_mb: 11.9}
982+
keyword_lookup: {time_ms: 13, mem_mb: 11.9}
983+
protocol_dispatch: {time_ms: 6, mem_mb: 12.0}
984+
nested_update: {time_ms: 12, mem_mb: 16.8}
985+
string_ops: {time_ms: 28, mem_mb: 23.2}
986+
multimethod_dispatch: {time_ms: 6, mem_mb: 12.0}
987+
real_workload: {time_ms: 10, mem_mb: 19.1}

build.zig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,14 @@ pub fn build(b: *std.Build) void {
118118
const mod_tests = b.addTest(.{
119119
.root_module = mod,
120120
});
121+
mod_tests.stack_size = 512 * 1024 * 1024;
121122
const run_mod_tests = b.addRunArtifact(mod_tests);
122123
test_step.dependOn(&run_mod_tests.step);
123124

124125
const exe_tests = b.addTest(.{
125126
.root_module = exe.root_module,
126127
});
128+
exe_tests.stack_size = 512 * 1024 * 1024;
127129
const run_exe_tests = b.addRunArtifact(exe_tests);
128130
test_step.dependOn(&run_exe_tests.step);
129131
}

build.zig.zon

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
.version = "0.2.0",
44
.dependencies = .{
55
.zwasm = .{
6-
.url = "https://github.com/clojurewasm/zwasm/archive/v1.0.0.tar.gz",
7-
.hash = "zwasm-1.0.0-IBbzF-knHgCyIG-GPT_voBlbSHIejDrRQ6FQ7_z8R0kX",
6+
.url = "https://github.com/clojurewasm/zwasm/archive/v1.1.0.tar.gz",
7+
.hash = "zwasm-1.1.0-IBbzF7YDHwB8dt9xjVYwSpmjB2k_NiIZMZ0J9jXXtmmR",
88
},
99
},
1010
.fingerprint = 0x62a7be489d633543,

0 commit comments

Comments
 (0)