• Jakob Kummerow's avatar
    [wasm-gc] call_ref: consume a type immediate · 61687829
    Jakob Kummerow authored
    Per https://github.com/WebAssembly/function-references/pull/76,
    call_ref and return_call_ref should consume type immediates specifying
    the signature of the funcref. This is a breaking change.
    
    To ease the migration, this patch introduces a temporary alternative
    binary encoding for call_ref:
    - 0x14 continues to *not* take a type immediate for now.
    - 0x17 (formerly "let") is the new call_ref *with* type immediate. Module
      producers are encouraged to emit this encoding ASAP.
    - After a few weeks of transitionary period, we'll update 0x14 to
      take a type immediate as well. At this point, module producers will be
      encouraged to switch back to 0x14.
    - After a few more weeks of transitionary period, we'll drop 0x17 again.
    
    We're not doing the same dance for return_call_ref because it currently
    has no uses that we know of.
    
    Bug: v8:7748,v8:9495
    Change-Id: Id8d468be3949f84571efff713c937ffd1addff70
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3863280Reviewed-by: 's avatarMatthias Liedtke <mliedtke@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82839}
    61687829