• Manos Koukoutos's avatar
    [wasm-gc] Refactoring in preparation of generalizing WasmInitExpr · 01e59c4b
    Manos Koukoutos authored
    Motivation: With rtt.sub now allowed in constant expressions, we have
    to generalize WasmInitExpr to be able to handle expressions with
    operands. This CL prepares the ground for this change and adds no
    functionality.
    
    Changes:
    - ValueType::heap_representation and HeapType::representation now
      return HeapType::Representation.
    - Add ValueType::is_rtt().
    - WasmInitExpr:
      - Make kind private. Rename val -> operator, make it private. Add
        accessors.
      - Rename kGlobalIndex -> kGlobalGet.
      - Squash global_index and function_index into index.
      - Add heap_type Immediate. Use it for RefNullConst. TypeOf in
        module-decoder.cc can now fully determine the type of a
        WasmInitExpr.
      - Add class constructors/static method constructors for each Operator
        kind.
      - Delete copy constructor. WasmInitExpr will use std::unique_ptr for
        its operands.
    - consume_init_expr now uses a stack.
    - A few minor improvements.
    
    Bug: v8:7748
    Change-Id: I3ba3ee7ac2d6bc58e887790c37110ceb80658985
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284483
    Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
    Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#68759}
    01e59c4b
Name
Last commit
Last update
..
api Loading commit data...
asmjs Loading commit data...
assembler Loading commit data...
base Loading commit data...
codegen Loading commit data...
compiler Loading commit data...
compiler-dispatcher Loading commit data...
date Loading commit data...
diagnostics Loading commit data...
execution Loading commit data...
heap Loading commit data...
interpreter Loading commit data...
libplatform Loading commit data...
logging Loading commit data...
numbers Loading commit data...
objects Loading commit data...
parser Loading commit data...
profiler Loading commit data...
regress Loading commit data...
strings Loading commit data...
tasks Loading commit data...
torque Loading commit data...
utils Loading commit data...
wasm Loading commit data...
zone Loading commit data...
BUILD.gn Loading commit data...
DEPS Loading commit data...
run-all-unittests.cc Loading commit data...
test-helpers.cc Loading commit data...
test-helpers.h Loading commit data...
test-utils.cc Loading commit data...
test-utils.h Loading commit data...
testcfg.py Loading commit data...
unittests.status Loading commit data...