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