• Andreas Haas's avatar
    [wasm] Set thread-in-wasm flag correctly after stack unwinding · 15bf8519
    Andreas Haas authored
    In Isolate::UnwindAndFindHandler(), the thread-in-wasm flag was set
    before the destructor of some objects in that function got executed,
    e.g. the destructor of {WasmCodeRefScope}. On Windows-asan, these
    destructors could throw exceptions (asan on Windows uses exceptions for
    its memory access tracking), which get handled initially by the wasm
    trap handler, and would thereby invalidate the thread-in-wasm flag.
    
    With this CL a new scope gets introduced which makes sure that setting
    the thread-in-wasm flag is the last thing that happens in
    Isolate::UnwindAndFindHandler().
    
    
    Bug: chromium:1195595
    Change-Id: If9f5f486c55b3bc2718a1d5aee3e3bd290d0ff35
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2817598
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73904}
    15bf8519
isolate.cc 183 KB