WasmFX: Turboshaft Suspend tag returns/params mismatch

In turboshaft's WasmFX's Suspend, the code mistakenly unpacks the tag’s returns using the tag’s parameter layout/count.

c++
// src/wasm/turboshaft-graph-interface.cc:3968
    // Unpack tag returns. <-()
    IterateWasmFXArgBuffer(sig->parameters(), [&](size_t index, int offset) {
      DCHECK_EQ(returns[index].type, sig->GetParam(index));
      returns[index].op = this->Asm().LoadOffHeap(
          arg_buffer, offset, MemoryRepresentationFor(sig->GetParam(index)));
    });

Because tags are a full FunctionSig (params and returns can differ):

ASan

Disclose Timeline