Stream: git-wasmtime

Topic: wasmtime / issue #1618 Cranelift aarch64: support heaps w...


view this post on Zulip Wasmtime GitHub notifications bot (Sep 15 2021 at 22:39):

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?

view this post on Zulip Wasmtime GitHub notifications bot (Sep 15 2021 at 22:47):

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?

view this post on Zulip Wasmtime GitHub notifications bot (May 04 2022 at 22:31):

cfallin commented on issue #1618:

This is an old issue and we currently do support explicit bounds-checks on aarch64; closing.

view this post on Zulip Wasmtime GitHub notifications bot (May 04 2022 at 22:31):

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: Nov 22 2024 at 16:03 UTC