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; |
} |
}; |