• Andreas Haas's avatar
    [wasm] Introduce WasmIndirectFunctionTable · 2fe2a08b
    Andreas Haas authored
    This is the first of three CLs which refactors indirect function calls
    through tables with index > 0 to work without runtime calls.
    
    The first CL introduces the WasmIndirectFunctionTable heap object. For
    a table of type anyfunc within a WebAssembly instance,
    WasmIndirectFunctionTable stores the size, the signature id's, the
    call targets, and the reference parameters for that table. I used the
    names that are already used for the matching fields of the
    WasmInstanceObject.
    
    The second CL expands the IndirectFunctionTableEntry to work also on
    WasmIndirectFunctionTable objects. All changes to a function table go
    through this class.
    
    The third CL introduces uses of the WasmIndirectFunctionTable. In this
    CL I change the code generation in TurboFan to replace runime calls with
    direct accesses to the new WasmIndirectFunctionTable. Additionally I
    extended the initialization of WasmIndirectFunctionTable, and also
    implement Table.grow.
    
    R=jkummerow@chromium.org
    
    Bug: v8:7581
    Change-Id: I0ecfcb9565e992ddba087d46c1f0e952abfa5822
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1681134Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62492}
    2fe2a08b
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...
basic-block-profiler.cc Loading commit data...
basic-block-profiler.h Loading commit data...
code-tracer.h Loading commit data...
compilation-statistics.cc Loading commit data...
compilation-statistics.h Loading commit data...
crash-key-noop.cc Loading commit data...
crash-key.cc Loading commit data...
crash-key.h Loading commit data...
disasm.h Loading commit data...
disassembler.cc Loading commit data...
disassembler.h Loading commit data...
eh-frame.cc Loading commit data...
eh-frame.h Loading commit data...
gdb-jit.cc Loading commit data...
gdb-jit.h Loading commit data...
objects-debug.cc Loading commit data...
objects-printer.cc Loading commit data...
perf-jit.cc Loading commit data...
perf-jit.h Loading commit data...
unwinder.cc Loading commit data...
unwinding-info-win64.cc Loading commit data...
unwinding-info-win64.h Loading commit data...