-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
WRT references WASM 3.0 but doesn't support Memory64 yet. The testsuite has memory64 tests that will fail.
Current State
- Type system:
Limits.memory64field exists but unused at runtime - Runtime: All memory addresses use
u32(casts likeValue::I32(addr) => *addr as u32) - Tests:
memory64.wast,load64.wast, etc. exist in testsuite
Implementation Approach
Use u64 for all memory addresses:
- Simple, consistent implementation
- Modern 64-bit CPUs handle u64 as efficiently as u32
- No branching overhead from address type checking
- Truncate to u32 only at boundary when writing to 32-bit memories
Tasks
- Update
MemoryLoad/MemoryStoreto useu64addresses - Add
Value::I64address handling in memory operations - Update
memory.size/memory.growfor 64-bit memories - Update bulk memory operations (copy, fill, init)
- Enable memory64 WAST tests
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request