• Ben Smith's avatar
    [wasm] Decode bulk memory instructions · 50798d60
    Ben Smith authored
    These instructions aren't implemented yet in TF or in Liftoff, but they
    are properly decoded.
    
    The table instructions (i.e. `table.{init,drop,copy}`) are validated,
    since the table and element sections occur before the code section. The
    memory instructions (i.e. `memory.{init,drop,copy,fill}`) are not
    validated because the data section occurs after the code section, so it
    can't be verified in one pass (without throwing a validation error
    later).
    
    There is currently a discussion about whether to add a new section
    (similar to `func`) that predefines the number of expected data
    segments. If we add this, then we can validate in one pass. For now,
    we'll leave it unimplemented.
    
    Bug: v8:7747
    Change-Id: I839edf51721105a47a1fa8dd5e5e1bd855e72447
    Reviewed-on: https://chromium-review.googlesource.com/c/1339241
    Commit-Queue: Ben Smith <binji@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57622}
    50798d60
liftoff-compiler.cc 81.1 KB