| Index: src/wasm/wasm-module.cc
|
| diff --git a/src/wasm/wasm-module.cc b/src/wasm/wasm-module.cc
|
| index 2470257735299c590511fb7e82f6d4f2b4152635..18f6e9ed362d87812f9a5f92c45e063e0a52ce51 100644
|
| --- a/src/wasm/wasm-module.cc
|
| +++ b/src/wasm/wasm-module.cc
|
| @@ -1672,92 +1672,6 @@ MaybeHandle<JSObject> CreateModuleObjectFromBytes(Isolate* isolate,
|
| return CreateCompiledModuleObject(isolate, compiled_module.ToHandleChecked(),
|
| origin);
|
| }
|
| -
|
| -namespace testing {
|
| -
|
| -int32_t CompileAndRunWasmModule(Isolate* isolate, const byte* module_start,
|
| - const byte* module_end, bool asm_js) {
|
| - HandleScope scope(isolate);
|
| - Zone zone(isolate->allocator());
|
| - ErrorThrower thrower(isolate, "CompileAndRunWasmModule");
|
| -
|
| - // Decode the module, but don't verify function bodies, since we'll
|
| - // be compiling them anyway.
|
| - ModuleResult decoding_result =
|
| - DecodeWasmModule(isolate, &zone, module_start, module_end, false,
|
| - asm_js ? kAsmJsOrigin : kWasmOrigin);
|
| -
|
| - std::unique_ptr<const WasmModule> module(decoding_result.val);
|
| - if (decoding_result.failed()) {
|
| - // Module verification failed. throw.
|
| - thrower.Error("WASM.compileRun() failed: %s",
|
| - decoding_result.error_msg.get());
|
| - return -1;
|
| - }
|
| -
|
| - if (module->import_table.size() > 0) {
|
| - thrower.Error("Not supported: module has imports.");
|
| - }
|
| - if (module->export_table.size() == 0) {
|
| - thrower.Error("Not supported: module has no exports.");
|
| - }
|
| -
|
| - if (thrower.error()) return -1;
|
| - MaybeHandle<FixedArray> compiled_module =
|
| - module->CompileFunctions(isolate, &thrower);
|
| -
|
| - if (compiled_module.is_null()) return -1;
|
| - Handle<JSObject> instance =
|
| - WasmModule::Instantiate(isolate, compiled_module.ToHandleChecked(),
|
| - Handle<JSReceiver>::null(),
|
| - Handle<JSArrayBuffer>::null())
|
| - .ToHandleChecked();
|
| -
|
| - return CallFunction(isolate, instance, &thrower, asm_js ? "caller" : "main",
|
| - 0, nullptr, asm_js);
|
| -}
|
| -
|
| -int32_t CallFunction(Isolate* isolate, Handle<JSObject> instance,
|
| - ErrorThrower* thrower, const char* name, int argc,
|
| - Handle<Object> argv[], bool asm_js) {
|
| - Handle<JSObject> exports_object;
|
| - if (asm_js) {
|
| - exports_object = instance;
|
| - } else {
|
| - Handle<Name> exports = isolate->factory()->InternalizeUtf8String("exports");
|
| - exports_object = Handle<JSObject>::cast(
|
| - JSObject::GetProperty(instance, exports).ToHandleChecked());
|
| - }
|
| - Handle<Name> main_name = isolate->factory()->NewStringFromAsciiChecked(name);
|
| - PropertyDescriptor desc;
|
| - Maybe<bool> property_found = JSReceiver::GetOwnPropertyDescriptor(
|
| - isolate, exports_object, main_name, &desc);
|
| - if (!property_found.FromMaybe(false)) return -1;
|
| -
|
| - Handle<JSFunction> main_export = Handle<JSFunction>::cast(desc.value());
|
| -
|
| - // Call the JS function.
|
| - Handle<Object> undefined = isolate->factory()->undefined_value();
|
| - MaybeHandle<Object> retval =
|
| - Execution::Call(isolate, main_export, undefined, argc, argv);
|
| -
|
| - // The result should be a number.
|
| - if (retval.is_null()) {
|
| - thrower->Error("WASM.compileRun() failed: Invocation was null");
|
| - return -1;
|
| - }
|
| - Handle<Object> result = retval.ToHandleChecked();
|
| - if (result->IsSmi()) {
|
| - return Smi::cast(*result)->value();
|
| - }
|
| - if (result->IsHeapNumber()) {
|
| - return static_cast<int32_t>(HeapNumber::cast(*result)->value());
|
| - }
|
| - thrower->Error("WASM.compileRun() failed: Return value should be number");
|
| - return -1;
|
| -}
|
| -
|
| -} // namespace testing
|
| } // namespace wasm
|
| } // namespace internal
|
| } // namespace v8
|
|
|