akirilov-arm commented on issue #1618:
@alexcrichton I haven't had a chance to review your Memory64 work yet, but it feels like it could have some relevance to this issue - shouldn't we already support explicit bounds checks for heap accesses?
alexcrichton commented on issue #1618:
Yeah things should be working on aarch64 since we're enabling the memory64 tests there, and all memory64 accesses are explicitly bounds-checked. This should be handled by the legalization pass which lowers
heap_addr
instructions to appropriate if/else blocks and such. This may be stale in that case and/or fixed at some point in the interim?
cfallin commented on issue #1618:
This is an old issue and we currently do support explicit bounds-checks on aarch64; closing.
cfallin closed issue #1618:
The new backend supports heaps with implicit bounds check (using the large virtual memory allocation + segfault trick), but doesn't support generating explicit bounds checks when we don't want large virtual memory allocations (or can't do them, b/o containerization, etc.).
Currently, an assertion triggers during lowering, when running for instance Spidermonkey's
memory.js
test case with--disable-wasm-huge-memory
:Hit MOZ_CRASH(called `Option::unwrap()` on a `None` value) at /home/ben/code/wasmtime/cranelift/codegen/src/isa/aarch64/lower.rs:1894
cc @cfallin
Last updated: Dec 23 2024 at 13:07 UTC