• Manos Koukoutos's avatar
    [wasm-gc] Remove abstract rtts · b77deeca
    Manos Koukoutos authored
    In the latest wasm-gc spec, rtts of abstract types are no longer
    allowed. Consequently, canonical rtts of concrete types always have
    a depth of 0.
    
    Changes:
    - Change the immediate argument of rtts to a type index over a heap
      type. Abstract it with TypeIndexImmediate in function body decoding.
      This affects:
      value_type.h, read_value_type(), decoding of relevant opcodes,
      wasm subtyping, WasmInitExpr, consume_init_expr(), and
      wasm-module-builder.cc.
    - In function-body-decoder-impl.h, update rtt.canon to always produce
      an rtt of depth 0.
    - Pass a unit32_t type index over a HeapType to all rtt-related
      utilities.
    - Remove infrastructure for abstract-type rtts from the wasm compilers,
      setup-heap-internal.cc, roots.h, and module-instantiate.cc.
    - Remove ObjectReferenceKnowledge::rtt_is_i31. Remove related branches
      from ref.test, ref.cast and br_on_cast implementations in the wasm
      compilers.
    - Remove unused 'parent' field from WasmTypeInfo.
    - Make the parent argument optional in NewWasmTypeInfo, CreateStructMap,
      and CreateArrayMap.
    - Use more convenient arguments in IsHeapSubtypeOf.
    - Update tests.
    
    Bug: v8:7748
    Change-Id: Ib45efe0741e6558c9b291fc8b4a75ae303146bdc
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642248
    Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72321}
    b77deeca
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
common Loading commit data...
debugger Loading commit data...
debugging Loading commit data...
fuzzer Loading commit data...
fuzzilli Loading commit data...
inspector Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mkgrokdump Loading commit data...
mozilla Loading commit data...
test262 Loading commit data...
torque Loading commit data...
unittests Loading commit data...
wasm-api-tests Loading commit data...
wasm-js Loading commit data...
wasm-spec-tests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
OWNERS Loading commit data...