[wasm] Add trap-handler support for arm64 simulator
This adds a little {Simulator::ProbeMemory} method that is used from several places in the arm64 simulator to test if a memory address can be accessed, and trigger a signal from a specific location such that the trap-handler can handle it. In case of a trap, the simulator is redirected to the landing pad and stops executing the memory instruction that triggered the trap. Standard memory accesses and SIMD memory loads and stores are instrumented to probe the memory. This passes all existing tests. In case this CL misses certain spots, we can still add them later. This will not be a security problem, since we do not use the simulator in production. R=ahaas@chromium.org CC=mseaborn@chromium.org, v8-arm-ports@googlegroups.com Bug: v8:11955 Change-Id: I52a81341e99fabc5fcf9e41ef4d8dd2226092803 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3015557 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75843}
Showing
Please
register
or
sign in
to comment