• 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
..
json Loading commit data...
multi_return Loading commit data...
parser Loading commit data...
regexp Loading commit data...
regexp_builtins Loading commit data...
wasm Loading commit data...
wasm_async Loading commit data...
wasm_code Loading commit data...
wasm_compile Loading commit data...
BUILD.gn Loading commit data...
DEPS Loading commit data...
README.md Loading commit data...
fuzzer-support.cc Loading commit data...
fuzzer-support.h Loading commit data...
fuzzer.cc Loading commit data...
fuzzer.status Loading commit data...
json.cc Loading commit data...
multi-return.cc Loading commit data...
parser.cc Loading commit data...
regexp-builtins.cc Loading commit data...
regexp.cc Loading commit data...
testcfg.py Loading commit data...
wasm-async.cc Loading commit data...
wasm-code.cc Loading commit data...
wasm-compile.cc Loading commit data...
wasm-fuzzer-common.cc Loading commit data...
wasm-fuzzer-common.h Loading commit data...
wasm.cc Loading commit data...
wasm_corpus.tar.gz.sha1 Loading commit data...