• 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...
ast Loading commit data...
base Loading commit data...
builtins Loading commit data...
codegen Loading commit data...
common Loading commit data...
compiler Loading commit data...
compiler-dispatcher Loading commit data...
d8 Loading commit data...
date Loading commit data...
debug Loading commit data...
deoptimizer Loading commit data...
diagnostics Loading commit data...
execution Loading commit data...
extensions Loading commit data...
flags Loading commit data...
handles Loading commit data...
heap Loading commit data...
ic Loading commit data...
init Loading commit data...
inspector Loading commit data...
interpreter Loading commit data...
json Loading commit data...
libplatform Loading commit data...
libsampler Loading commit data...
logging Loading commit data...
numbers Loading commit data...
objects Loading commit data...
parsing Loading commit data...
profiler Loading commit data...
protobuf Loading commit data...
regexp Loading commit data...
roots Loading commit data...
runtime Loading commit data...
sanitizer Loading commit data...
snapshot Loading commit data...
strings Loading commit data...
tasks Loading commit data...
third_party Loading commit data...
torque Loading commit data...
tracing Loading commit data...
trap-handler Loading commit data...
utils Loading commit data...
wasm Loading commit data...
zone Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...