• Andreas Haas's avatar
    [wasm] Introduce a WasmTableInit CSA builtin · ca5ee9d6
    Andreas Haas authored
    This CL introduces a CSA builtin for the TableInit instruction. This
    builtin allows to generate smaller code for both TurboFan and Liftoff,
    and easier code generation from Liftoff.
    
    The smaller code size comes from:
    * Parameters are passed through registers, not the stack.
    * Lower number of parameters: the call target, number of parameters, and
    context are not passed as parameters.
    * No int to smi conversion in generated code.
    
    The CL also introduces a small CSA function which takes an uint32 value
    and a max value as parameters and returns a Smi of the minimum of these
    two.
    
    R=clemensb@chromium.org, ishell@chromium.org
    
    Bug: v8:10281
    Change-Id: I40f248c20ec76e6ae9483a5e2907a68f42f2cb04
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106201
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66792}
    ca5ee9d6
builtins-wasm-gen.cc 12.1 KB