Index: test/cctest/wasm/wasm-module-runner.h |
diff --git a/test/cctest/wasm/wasm-module-runner.h b/test/cctest/wasm/wasm-module-runner.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5af466f4dfebbe3e851ae0ec0aeeb48c96ea3b99 |
--- /dev/null |
+++ b/test/cctest/wasm/wasm-module-runner.h |
@@ -0,0 +1,54 @@ |
+// Copyright 2016 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef V8_WASM_MODULE_RUNNER_H_ |
+#define V8_WASM_MODULE_RUNNER_H_ |
+ |
+#include "src/handles.h" |
+#include "src/isolate.h" |
+#include "src/objects.h" |
+#include "src/wasm/wasm-interpreter.h" |
+#include "src/wasm/wasm-module.h" |
+#include "src/wasm/wasm-result.h" |
+#include "src/zone.h" |
+ |
+namespace v8 { |
+namespace internal { |
+namespace wasm { |
+namespace testing { |
+ |
+// Decodes the given encoded module. |
+const WasmModule* DecodeWasmModuleForTesting(Isolate* isolate, Zone* zone, |
+ ErrorThrower& thrower, |
+ const byte* module_start, |
+ const byte* module_end, |
+ ModuleOrigin origin); |
+ |
+// Instantiates a module without any imports and exports. |
+const Handle<JSObject> InstantiateModuleForTesting(Isolate* isolate, |
+ ErrorThrower& thrower, |
+ const WasmModule* module); |
+ |
+int32_t CallWasmFunctionForTesting(Isolate* isolate, Handle<JSObject> instance, |
+ ErrorThrower& thrower, const char* name, |
+ int argc, Handle<Object> argv[], |
+ bool asm_js = false); |
+ |
+// Decode, verify, and run the function labeled "main" in the |
+// given encoded module. The module should have no imports. |
+int32_t CompileAndRunWasmModule(Isolate* isolate, const byte* module_start, |
+ const byte* module_end, bool asm_js = false); |
+ |
+// Interprets the given module, starting at the function specified by |
+// {function_index}. The return type of the function has to be int32. The module |
+// should not have any imports or exports |
+int32_t InterpretWasmModule(Isolate* isolate, ErrorThrower& thrower, |
+ const WasmModule* module, int function_index, |
+ WasmVal* args); |
+} // namespace testing |
+} // namespace wasm |
+} // namespace internal |
+} // namespace v8 |
+ |
+#endif // V8_WASM_MODULE_RUNNER_H_ |