[wasm] Fix check failure on low reservation limits
If fuzzers pass a low --wasm-max-initial-code-space-reservation limit, we might run into a DCHECK/CHECK failure because the "overhead" per code space (for jump tables) is more than half of the reserved code space (DCHECK) or actually bigger than the reserved code space (CHECK). This CL fixes that by explicitly failing with an OOM message in that case. This should only happen if that testing flag is set. I do have a test case for this (reduced from the ClusterFuzz report) but it needs >20000 functions (to make the jump tables big enough to fail the checks), so it runs really slow (>90 seconds in debug). Since the failure only happens with a testing flag, I think it's acceptable to fix this without a regression test. R=ahaas@chromium.org Bug: chromium:1208259 Change-Id: I99e56a533efcdfa51d99eb5f64edead490398b3c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2904206Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74666}
Showing
Please
register
or
sign in
to comment