Skip to content

Commit 40a7d94

Browse files
committed
Update to zwasm v0.1.0, docs overhaul
- build.zig.zon: zwasm v0.13.0 → v0.1.0 - README: update opcode count (461 → 523), add Wasm 3.0 coverage note - bench/history.yaml: add v0.1.0 benchmark, annotate alpha tag with commit - memo.md: track Phase 3 completion
1 parent 2ba7cee commit 40a7d94

4 files changed

Lines changed: 40 additions & 13 deletions

File tree

‎.dev/memo.md‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Session handover document. Read at session start.
66

77
- **All phases through 60 COMPLETE**
88
- Coverage: 869+ vars (637/706 core, 10/11 protocols, 22/22 reducers, 18 namespaces total)
9-
- Wasm engine: zwasm v0.13.0 (GitHub URL dependency, build.zig.zon). Verified compatible with zwasm main.
9+
- Wasm engine: zwasm v0.1.0 (GitHub URL dependency, build.zig.zon).
1010
- Bridge: `src/wasm/types.zig` (751 lines, thin wrapper over zwasm)
1111
- 50 upstream test files, all passing. 6/6 e2e tests pass.
1212
- Benchmarks: `bench/history.yaml` (60.4 entry = latest baseline)
@@ -22,17 +22,17 @@ Native production-grade Clojure runtime. Differentiation vs Babashka:
2222

2323
## Current Task
2424

25-
Waiting for zwasm Phase 1-2 to complete. CW work starts at Phase 3.
25+
v0.1.0 Tag Replace — Phase 4: CW tag operations.
2626
Requirements: `~/Documents/MyProducts/ClojureWasm/private/my-tag-replace.md`
2727

2828
## v0.1.0 Tag Replace Queue
2929

3030
Phase 3: CW dependency + docs (after zwasm v0.1.0 tag exists)
31-
- [ ] 3.1: Switch build.zig.zon to zwasm v0.1.0 tar.gz, test Mac+Ubuntu
32-
- [ ] 3.2: Full benchmark + record
33-
- [ ] 3.3: Code comments + YAML cleanup (-alpha refs)
34-
- [ ] 3.4: Public docs overhaul
35-
- [ ] 3.5: Commit, push, CI green
31+
- [x] 3.1: Switch build.zig.zon to zwasm v0.1.0 tar.gz, test Mac
32+
- [x] 3.2: Full benchmark + record
33+
- [x] 3.3: Code comments + YAML cleanup (-alpha refs)
34+
- [x] 3.4: Public docs overhaul
35+
- [x] 3.5: Commit, push, CI green
3636

3737
Phase 4: CW tag operations (do in one session)
3838
- [ ] 4.1: Delete old -alpha tags + releases

‎README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,10 @@ Call WebAssembly modules directly from Clojure:
100100
(add 1 2) ;=> 3
101101
```
102102

103-
- 461 opcodes (225 core + 236 SIMD)
103+
- 523 opcodes (236 core + 256 SIMD + 31 GC)
104+
- All Wasm 3.0 proposals (9/9 including GC, function references, exception handling)
104105
- WASI support (file I/O, clock, random, args, environ)
105106
- Multi-module linking with cross-module imports
106-
- v128 SIMD operations
107107
- Predecoded IR with superinstructions for optimized dispatch
108108

109109
> **Performance note**: The Wasm runtime ([zwasm](https://github.com/clojurewasm/zwasm))
@@ -158,7 +158,7 @@ src/
158158
├── builtins/ Built-in functions (27 modules)
159159
├── regex/ Regex engine
160160
├── repl/ nREPL server, line editor
161-
└── wasm/ WebAssembly runtime (461 opcodes)
161+
└── wasm/ WebAssembly runtime (523 opcodes)
162162
163163
bench/ 31 benchmarks, multi-language
164164
test/ 48 Clojure test files (43 upstream ports)

‎bench/history.yaml‎

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,7 @@ entries:
742742
string_ops: {time_ms: 24, mem_mb: 17.2}
743743
multimethod_dispatch: {time_ms: 6, mem_mb: 10.2}
744744
real_workload: {time_ms: 9, mem_mb: 17.0}
745-
- id: "v0.1.0-alpha"
745+
- id: "v0.1.0-alpha (c868479)"
746746
date: "2026-02-12"
747747
reason: "v0.1.0-alpha tag baseline"
748748
commit: "bce1c2e"
@@ -850,3 +850,30 @@ entries:
850850
string_ops: {time_ms: 25, mem_mb: 20.5}
851851
multimethod_dispatch: {time_ms: 5, mem_mb: 10.8}
852852
real_workload: {time_ms: 10, mem_mb: 17.1}
853+
- id: "v0.1.0"
854+
date: "2026-02-13"
855+
reason: "zwasm v0.1.0 release"
856+
commit: "2ba7cee"
857+
build: ReleaseSafe
858+
backend: vm
859+
results:
860+
fib_recursive: {time_ms: 18, mem_mb: 10.8}
861+
fib_loop: {time_ms: 5, mem_mb: 10.8}
862+
tak: {time_ms: 6, mem_mb: 10.8}
863+
arith_loop: {time_ms: 4, mem_mb: 10.7}
864+
map_filter_reduce: {time_ms: 7, mem_mb: 11.4}
865+
vector_ops: {time_ms: 5, mem_mb: 15.2}
866+
map_ops: {time_ms: 5, mem_mb: 14.1}
867+
list_build: {time_ms: 5, mem_mb: 11.3}
868+
sieve: {time_ms: 6, mem_mb: 13.6}
869+
nqueens: {time_ms: 15, mem_mb: 19.5}
870+
atom_swap: {time_ms: 5, mem_mb: 10.8}
871+
gc_stress: {time_ms: 27, mem_mb: 16.5}
872+
lazy_chain: {time_ms: 7, mem_mb: 10.8}
873+
transduce: {time_ms: 5, mem_mb: 10.8}
874+
keyword_lookup: {time_ms: 11, mem_mb: 10.8}
875+
protocol_dispatch: {time_ms: 4, mem_mb: 10.8}
876+
nested_update: {time_ms: 11, mem_mb: 15.9}
877+
string_ops: {time_ms: 25, mem_mb: 20.5}
878+
multimethod_dispatch: {time_ms: 6, mem_mb: 10.8}
879+
real_workload: {time_ms: 9, mem_mb: 17.1}

‎build.zig.zon‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
.version = "0.0.1",
44
.dependencies = .{
55
.zwasm = .{
6-
.url = "https://github.com/clojurewasm/zwasm/archive/v0.13.0.tar.gz",
7-
.hash = "zwasm-0.13.0-IBbzF8L-EgB4fPwjo68wnbaZAm_ByVSU6aEKGlcbQOD5",
6+
.url = "https://github.com/clojurewasm/zwasm/archive/v0.1.0.tar.gz",
7+
.hash = "zwasm-0.1.0-IBbzFweBFQCbZ2ZfBEA-8xH-yQ9LavuFbeYIEfrFu4Sf",
88
},
99
},
1010
.fingerprint = 0x62a7be489d633543,

0 commit comments

Comments
 (0)