| Index: src/wasm/wasm-module-builder.h | 
| diff --git a/src/wasm/wasm-module-builder.h b/src/wasm/wasm-module-builder.h | 
| index c6903cd95377c49626fdb663fdb86e38fedf00c3..61dd2690208d5b99175438e508f72091438c9ed0 100644 | 
| --- a/src/wasm/wasm-module-builder.h | 
| +++ b/src/wasm/wasm-module-builder.h | 
| @@ -139,6 +139,10 @@ class V8_EXPORT_PRIVATE WasmFunctionBuilder : public ZoneObject { | 
| void AddAsmWasmOffset(int call_position, int to_number_position); | 
| void SetAsmFunctionStartPosition(int position); | 
|  | 
| +  size_t GetPosition() const { return body_.size(); } | 
| +  void FixupByte(size_t position, byte value) { body_[position] = value; } | 
| +  void StashCode(std::vector<byte>* dst, size_t position); | 
| + | 
| void WriteSignature(ZoneBuffer& buffer) const; | 
| void WriteExports(ZoneBuffer& buffer) const; | 
| void WriteBody(ZoneBuffer& buffer) const; | 
| @@ -223,12 +227,13 @@ class V8_EXPORT_PRIVATE WasmModuleBuilder : public ZoneObject { | 
| // Building methods. | 
| uint32_t AddImport(const char* name, int name_length, FunctionSig* sig); | 
| void SetImportName(uint32_t index, const char* name, int name_length) { | 
| -    imports_[index].name = name; | 
| -    imports_[index].name_length = name_length; | 
| +    function_imports_[index].name = name; | 
| +    function_imports_[index].name_length = name_length; | 
| } | 
| WasmFunctionBuilder* AddFunction(FunctionSig* sig = nullptr); | 
| uint32_t AddGlobal(ValueType type, bool exported, bool mutability = true, | 
| const WasmInitExpr& init = WasmInitExpr()); | 
| +  uint32_t AddGlobalImport(const char* name, int name_length, ValueType type); | 
| void AddDataSegment(const byte* data, uint32_t size, uint32_t dest); | 
| uint32_t AddSignature(FunctionSig* sig); | 
| uint32_t AllocateIndirectFunctions(uint32_t count); | 
| @@ -257,6 +262,12 @@ class V8_EXPORT_PRIVATE WasmModuleBuilder : public ZoneObject { | 
| int name_length; | 
| }; | 
|  | 
| +  struct WasmGlobalImport { | 
| +    ValueTypeCode type_code; | 
| +    const char* name; | 
| +    int name_length; | 
| +  }; | 
| + | 
| struct WasmGlobal { | 
| ValueType type; | 
| bool exported; | 
| @@ -272,7 +283,8 @@ class V8_EXPORT_PRIVATE WasmModuleBuilder : public ZoneObject { | 
| friend class WasmFunctionBuilder; | 
| Zone* zone_; | 
| ZoneVector<FunctionSig*> signatures_; | 
| -  ZoneVector<WasmFunctionImport> imports_; | 
| +  ZoneVector<WasmFunctionImport> function_imports_; | 
| +  ZoneVector<WasmGlobalImport> global_imports_; | 
| ZoneVector<WasmFunctionBuilder*> functions_; | 
| ZoneVector<WasmDataSegment> data_segments_; | 
| ZoneVector<uint32_t> indirect_functions_; | 
|  |