| Index: src/wasm/ast-decoder.h
|
| diff --git a/src/wasm/ast-decoder.h b/src/wasm/ast-decoder.h
|
| index c4f6c1679a0bfb89d6d1b9c9c9197305e25aeca2..c76ce6bc70f83b1726f26ada368b1a35f7a46cc4 100644
|
| --- a/src/wasm/ast-decoder.h
|
| +++ b/src/wasm/ast-decoder.h
|
| @@ -105,16 +105,23 @@ struct BreakDepthOperand {
|
|
|
| struct CallIndirectOperand {
|
| uint32_t arity;
|
| - uint32_t index;
|
| + uint32_t sig_index;
|
| FunctionSig* sig;
|
| + uint32_t table_index;
|
| + FunctionSig* table;
|
| unsigned length;
|
| inline CallIndirectOperand(Decoder* decoder, const byte* pc) {
|
| unsigned len1 = 0;
|
| unsigned len2 = 0;
|
| + unsigned len3 = 0;
|
| arity = decoder->checked_read_u32v(pc, 1, &len1, "argument count");
|
| - index = decoder->checked_read_u32v(pc, 1 + len1, &len2, "signature index");
|
| - length = len1 + len2;
|
| + sig_index =
|
| + decoder->checked_read_u32v(pc, 1 + len1, &len2, "signature index");
|
| + table_index =
|
| + decoder->checked_read_u32v(pc, 1 + len1 + len2, &len3, "table index");
|
| + length = len1 + len2 + len3;
|
| sig = nullptr;
|
| + table = nullptr;
|
| }
|
| };
|
|
|
|
|