• Clemens Backes's avatar
    [wasm] Remove a long-living CodeSpaceWriteScope · a8609e06
    Clemens Backes authored
    The {CodeSpaceWriteScope} in {InstanceBuilder::Build} was kept open
    while processing imports, which could compile another wasm module via
    {compiler::ResolveWasmImportCall} and
    {WasmEngine::SyncCompileTranslatedAsmJs}. This leads to errors since
    {CodeSpaceWriteScope}s for different modules cannot be held open at the
    same time.
    
    This CL fixes that by only opening the {CodeSpaceWriteScope} for the
    actual compilation of import wrappers.
    
    Drive-by: Only call {ProcessImports} if there are imports to be
    processed, to avoid some of the overhead of {ProcessImports} and
    {CompileImportWrappers}.
    
    R=jkummerow@chromium.org
    
    Bug: chromium:1239522
    Change-Id: Ifbaf64a4be92088ae4a3fd7e9700a33397b2a967
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097283
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#76311}
    a8609e06
regress-1239522.js 375 Bytes