• Clemens Hammacher's avatar
    [wasm] Fix flaky OOM on memory allocation · 863e6ce9
    Clemens Hammacher authored
    We still see occasions of "WebAssembly Instantiation: Out of memory:
    wasm memory", e.g. on the N5X arm64 bot.
    
    We already have a retry-loop around the {ReserveAddressSpace} call, so
    this error can only happen if {AllocatePages} fails.
    I cannot easily reproduce, so I will land this CL and hope that it
    fixes the flake.
    
    We might eventually replace all these gc-then-retry loops by a better
    mechanism which knows about process-wide allocations. Currently,
    {AllocatePages} is isolate-independent, and only calls
    {Platform::OnCriticalMemoryPressure}, but this call does nothing on the
    default platform. So trigger a GC on the current isolate instead.
    
    R=mlippautz@chromium.org
    
    Bug: chromium:883639, v8:7872, v8:8158
    Change-Id: Ib4e4a4a5f6b598d5832c327b1fc83ccb3bada9bc
    Reviewed-on: https://chromium-review.googlesource.com/1226886Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#55955}
    863e6ce9
Name
Last commit
Last update
..
baseline Loading commit data...
OWNERS Loading commit data...
decoder.h Loading commit data...
function-body-decoder-impl.h Loading commit data...
function-body-decoder.cc Loading commit data...
function-body-decoder.h Loading commit data...
function-compiler.cc Loading commit data...
function-compiler.h Loading commit data...
jump-table-assembler.cc Loading commit data...
jump-table-assembler.h Loading commit data...
leb-helper.h Loading commit data...
local-decl-encoder.cc Loading commit data...
local-decl-encoder.h Loading commit data...
memory-tracing.cc Loading commit data...
memory-tracing.h Loading commit data...
module-compiler.cc Loading commit data...
module-compiler.h Loading commit data...
module-decoder.cc Loading commit data...
module-decoder.h Loading commit data...
object-access.h Loading commit data...
signature-map.cc Loading commit data...
signature-map.h Loading commit data...
streaming-decoder.cc Loading commit data...
streaming-decoder.h Loading commit data...
value-type.h Loading commit data...
wasm-code-manager.cc Loading commit data...
wasm-code-manager.h Loading commit data...
wasm-constants.h Loading commit data...
wasm-debug.cc Loading commit data...
wasm-engine.cc Loading commit data...
wasm-engine.h Loading commit data...
wasm-external-refs.cc Loading commit data...
wasm-external-refs.h Loading commit data...
wasm-feature-flags.h Loading commit data...
wasm-features.cc Loading commit data...
wasm-features.h Loading commit data...
wasm-interpreter.cc Loading commit data...
wasm-interpreter.h Loading commit data...
wasm-js.cc Loading commit data...
wasm-js.h Loading commit data...
wasm-limits.h Loading commit data...
wasm-linkage.h Loading commit data...
wasm-memory.cc Loading commit data...
wasm-memory.h Loading commit data...
wasm-module-builder.cc Loading commit data...
wasm-module-builder.h Loading commit data...
wasm-module.cc Loading commit data...
wasm-module.h Loading commit data...
wasm-objects-inl.h Loading commit data...
wasm-objects.cc Loading commit data...
wasm-objects.h Loading commit data...
wasm-opcodes.cc Loading commit data...
wasm-opcodes.h Loading commit data...
wasm-result.cc Loading commit data...
wasm-result.h Loading commit data...
wasm-serialization.cc Loading commit data...
wasm-serialization.h Loading commit data...
wasm-text.cc Loading commit data...
wasm-text.h Loading commit data...
wasm-tier.h Loading commit data...
wasm-value.h Loading commit data...