summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/wasm/stackwalk.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/wasm/stackwalk.js')
-rw-r--r--deps/v8/test/mjsunit/wasm/stackwalk.js49
1 files changed, 13 insertions, 36 deletions
diff --git a/deps/v8/test/mjsunit/wasm/stackwalk.js b/deps/v8/test/mjsunit/wasm/stackwalk.js
index e863b07b4f..8b8fb7e4d4 100644
--- a/deps/v8/test/mjsunit/wasm/stackwalk.js
+++ b/deps/v8/test/mjsunit/wasm/stackwalk.js
@@ -5,44 +5,21 @@
// Flags: --expose-wasm --expose-gc --allow-natives-syntax
load("test/mjsunit/wasm/wasm-constants.js");
+load("test/mjsunit/wasm/wasm-module-builder.js");
function makeFFI(func) {
- var kBodySize = 6;
- var kNameFunOffset = 24 + kBodySize + 1;
- var kNameMainOffset = kNameFunOffset + 4;
-
- var ffi = new Object();
- ffi.fun = func;
-
- var data = bytes(
- // signatures
- kDeclSignatures, 1,
- 2, kAstI32, kAstF64, kAstF64, // (f64,f64) -> int
- // -- foreign function
- kDeclFunctions, 2,
- kDeclFunctionName | kDeclFunctionImport,
- 0, 0,
- kNameFunOffset, 0, 0, 0, // name offset
- // -- main function
- kDeclFunctionName | kDeclFunctionExport,
- 0, 0,
- kNameMainOffset, 0, 0, 0, // name offset
- kBodySize, 0,
- // main body
- kExprCallFunction, 0, // --
- kExprGetLocal, 0, // --
- kExprGetLocal, 1, // --
- // names
- kDeclEnd,
- 'f', 'u', 'n', 0, // --
- 'm', 'a', 'i', 'n', 0 // --
- );
-
- var module = _WASMEXP_.instantiateModule(data, ffi);
-
- assertEquals("function", typeof module.main);
-
- return module.main;
+ var builder = new WasmModuleBuilder();
+
+ var sig_index = builder.addSignature([kAstI32, kAstF64, kAstF64]);
+ builder.addImport("func", sig_index);
+ builder.addFunction("main", sig_index)
+ .addBody([
+ kExprCallImport, 0, // --
+ kExprGetLocal, 0, // --
+ kExprGetLocal, 1]) // --
+ .exportFunc()
+
+ return builder.instantiate({func: func}).exports.main;
}