• Manos Koukoutos's avatar
    [wasm-gc] Fixes around rtts, especially functions · 44fa3408
    Manos Koukoutos authored
    Changes:
    - Rename ObjectReferenceKnowledgs::object_must_be_data_ref to
      reference_kind, introduce an enum to describe it.
    - In both compilers, remove the dynamic check whether the object is an
      array/struct. This is known statically. Instead, if we are checking
      for a function, just check for rtt equality and exit.
    - Remove is_data_ref_type(), replace it in the compilers with calls to
      has_signature().
    - Restructure AllocateSubRtt() to handle function rtts properly.
    - Add a couple execution tests.
    
    Bug: v8:7748
    Change-Id: I46fbbfe2f2a7d29b583de0d536d71c534b98322f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2661460Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72477}
    44fa3408
liftoff-compiler.cc 227 KB