• Clemens Backes's avatar
    [wasm] Fix check for committing over the global limit · 1a3cc643
    Clemens Backes authored
    If we generate more code than allowed by the --wasm-max-code-space flag,
    the {WasmCodeManager::Commit} method will fail (via fatal error). The
    DCHECK that was placed before that call checked for a related condition
    though, and failed before the {Commit} method could fail.
    By moving it after the call, we fix this issue.
    
    Adding a test case for this seems to be involved, since that test would
    crash the whole process (because of the fatal error). So it would have
    to be a unittest such that we can use ASSERT_DEATH_IF_SUPPORTED. In
    unittests though we don't yet have the infrastructure to create a
    NativeModule (needed for the WasmCodeAllocator). Alternatively we could
    add special testing methods (and a constructor) to the
    WasmCodeAllocator, but I do not consider this worth the effort for this
    little fix.
    
    R=thibaudm@chromium.org
    
    Bug: chromium:1124646
    Change-Id: Ief09dfbd0a5b0b040fe9cf8a34e458d1d01dfacc
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390754
    Auto-Submit: Clemens Backes <clemensb@chromium.org>
    Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
    Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69723}
    1a3cc643
wasm-code-manager.cc 82.7 KB