• 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
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...