| Index: test/common/wasm/wasm-module-runner.cc
|
| diff --git a/test/common/wasm/wasm-module-runner.cc b/test/common/wasm/wasm-module-runner.cc
|
| index f47edb104936cb6e822c3a450535439272cca064..02b4cc95263aeb562ac4c54bc7991106a4c71364 100644
|
| --- a/test/common/wasm/wasm-module-runner.cc
|
| +++ b/test/common/wasm/wasm-module-runner.cc
|
| @@ -46,9 +46,9 @@ const WasmModule* DecodeWasmModuleForTesting(
|
| }
|
|
|
| const Handle<WasmInstanceObject> InstantiateModuleForTesting(
|
| - Isolate* isolate, ErrorThrower* thrower, const WasmModule* module) {
|
| - CHECK(module != nullptr);
|
| -
|
| + Isolate* isolate, ErrorThrower* thrower, const WasmModule* module,
|
| + const ModuleWireBytes& wire_bytes) {
|
| + DCHECK_NOT_NULL(module);
|
| if (module->import_table.size() > 0) {
|
| thrower->CompileError("Not supported: module has imports.");
|
| }
|
| @@ -59,8 +59,9 @@ const Handle<WasmInstanceObject> InstantiateModuleForTesting(
|
| // again through the normal pipeline.
|
| // TODO(wasm): Use {module} instead of decoding the module bytes again.
|
| MaybeHandle<WasmModuleObject> module_object = CreateModuleObjectFromBytes(
|
| - isolate, module->module_start, module->module_end, thrower,
|
| - ModuleOrigin::kWasmOrigin, Handle<Script>::null(), nullptr, nullptr);
|
| + isolate, wire_bytes.module_bytes.start(), wire_bytes.module_bytes.end(),
|
| + thrower, ModuleOrigin::kWasmOrigin, Handle<Script>::null(), nullptr,
|
| + nullptr);
|
| if (module_object.is_null()) {
|
| thrower->CompileError("Module pre-validation failed.");
|
| return Handle<WasmInstanceObject>::null();
|
| @@ -85,7 +86,8 @@ const Handle<WasmInstanceObject> CompileInstantiateWasmModuleForTesting(
|
| thrower->CompileError("Wasm module decoding failed");
|
| return Handle<WasmInstanceObject>::null();
|
| }
|
| - return InstantiateModuleForTesting(isolate, thrower, module.get());
|
| + return InstantiateModuleForTesting(isolate, thrower, module.get(),
|
| + ModuleWireBytes(module_start, module_end));
|
| }
|
|
|
| int32_t RunWasmModuleForTesting(Isolate* isolate, Handle<JSObject> instance,
|
| @@ -110,10 +112,11 @@ int32_t CompileAndRunWasmModule(Isolate* isolate, const byte* module_start,
|
| }
|
|
|
| int32_t InterpretWasmModule(Isolate* isolate, ErrorThrower* thrower,
|
| - const WasmModule* module, int function_index,
|
| - WasmVal* args, bool* possible_nondeterminism) {
|
| - CHECK(module != nullptr);
|
| -
|
| + const WasmModule* module,
|
| + const ModuleWireBytes& wire_bytes,
|
| + int function_index, WasmVal* args,
|
| + bool* possible_nondeterminism) {
|
| + DCHECK_NOT_NULL(module);
|
| Zone zone(isolate->allocator(), ZONE_NAME);
|
| v8::internal::HandleScope scope(isolate);
|
|
|
| @@ -136,7 +139,8 @@ int32_t InterpretWasmModule(Isolate* isolate, ErrorThrower* thrower,
|
| static_cast<byte*>(calloc(GetMinModuleMemSize(module), 1));
|
| instance.globals_start = nullptr;
|
|
|
| - WasmInterpreter interpreter(&instance, isolate->allocator());
|
| + ModuleBytesEnv env(module, &instance, wire_bytes);
|
| + WasmInterpreter interpreter(env, isolate->allocator());
|
|
|
| WasmInterpreter::Thread* thread = interpreter.GetThread(0);
|
| thread->Reset();
|
|
|