• Clemens Backes's avatar
    Revert "[wasm-gc] Remove abstract rtts" · f30c2681
    Clemens Backes authored
    This reverts commit b77deeca.
    
    Reason for revert: MSVC compile fails: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Win64%20-%20msvc/16535/overview
    
    Original change's description:
    > [wasm-gc] Remove abstract rtts
    >
    > 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: Ulan Degenbaev <ulan@chromium.org>
    > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#72321}
    
    TBR=ulan@chromium.org,jkummerow@chromium.org,manoskouk@chromium.org
    
    Change-Id: I2f0d97f1a34f7c81c5a97d7c37925cb84c66eea3
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: v8:7748
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2650206Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72322}
    f30c2681
test-gc.cc 56 KB