summaryrefslogtreecommitdiff
path: root/test/binaryen.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2017-12-30 11:05:47 -0800
committerGitHub <noreply@github.com>2017-12-30 11:05:47 -0800
commit593178a3e207e5382338fbf05adce419fe9545fd (patch)
treea011bcbdc2109bcda007e69f2bc3c4744ccc0891 /test/binaryen.js
parentb5ee16f318019f89d8a897437fb906d470cfa8d9 (diff)
downloadbinaryen-593178a3e207e5382338fbf05adce419fe9545fd.tar.gz
binaryen-593178a3e207e5382338fbf05adce419fe9545fd.tar.bz2
binaryen-593178a3e207e5382338fbf05adce419fe9545fd.zip
Fixes for #5998 (#1341)
* binaryen.js and wasm.js don't need filesystem support * newest emscripten no longer uses Runtime.* * build fixes for binaryen.js and wasm.js also move binaryen.js to use standard emscripten MODULARIZE * run binaryen.js in all possible engines ; update js builds * don't emit debug build to a different name, just emit binaryen.js. makes testing easier and safer * remove volatile things from binaryen.js info printing in tests
Diffstat (limited to 'test/binaryen.js')
-rw-r--r--test/binaryen.js/functions.js24
-rw-r--r--test/binaryen.js/functions.js.txt6
-rw-r--r--test/binaryen.js/kitchen-sink.js12
-rw-r--r--test/binaryen.js/kitchen-sink.js.txt6
4 files changed, 35 insertions, 13 deletions
diff --git a/test/binaryen.js/functions.js b/test/binaryen.js/functions.js
index 3c6184403..a02a7873a 100644
--- a/test/binaryen.js/functions.js
+++ b/test/binaryen.js/functions.js
@@ -1,3 +1,13 @@
+function cleanInfo(info) {
+ var ret = {};
+ for (var x in info) {
+ if (x !== 'name' && x !== 'body' && x !== 'type') {
+ ret[x] = info[x];
+ }
+ }
+ return ret;
+}
+
var module = new Binaryen.Module();
var signature = module.addFunctionType("i", Binaryen.i32, []);
@@ -13,15 +23,17 @@ console.log("GetFunction is equal: " + (func === module.getFunction("a-function"
module.runPassesOnFunction(func, ["precompute"]);
-console.log("getFunctionTypeInfo=" + JSON.stringify(Binaryen.getFunctionTypeInfo(signature)));
-var info = Binaryen.getFunctionInfo(func);
-console.log("getFunctionInfo=" + JSON.stringify(info));
-console.log("getExpressionInfo(body)=" + JSON.stringify(Binaryen.getExpressionInfo(info.body)));
-console.log(Binaryen.emitText(info.body));
+var sigInfo = Binaryen.getFunctionTypeInfo(signature);
+console.log("getFunctionTypeInfo=" + JSON.stringify(cleanInfo(sigInfo)));
+var funcInfo = Binaryen.getFunctionInfo(func);
+console.log("getFunctionInfo=" + JSON.stringify(cleanInfo(funcInfo)));
+var expInfo = Binaryen.getExpressionInfo(funcInfo.body);
+console.log("getExpressionInfo(body)=" + JSON.stringify(cleanInfo(expInfo)));
+console.log(Binaryen.emitText(funcInfo.body));
module.removeFunction("a-function");
-module.addGlobal("a-global", Binaryen.i32, false, info.body);
+module.addGlobal("a-global", Binaryen.i32, false, funcInfo.body);
module.validate();
diff --git a/test/binaryen.js/functions.js.txt b/test/binaryen.js/functions.js.txt
index 70333338f..145c05a2a 100644
--- a/test/binaryen.js/functions.js.txt
+++ b/test/binaryen.js/functions.js.txt
@@ -1,7 +1,7 @@
GetFunction is equal: true
-getFunctionTypeInfo={"name":5366144,"params":[],"result":1}
-getFunctionInfo={"name":5399120,"type":5366144,"params":[],"result":1,"vars":[],"body":5366312}
-getExpressionInfo(body)={"id":15,"type":1,"value":3}
+getFunctionTypeInfo={"params":[],"result":1}
+getFunctionInfo={"params":[],"result":1,"vars":[]}
+getExpressionInfo(body)={"id":15,"value":3}
(i32.const 3)
(module
diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js
index 114df55dd..f1f67ea28 100644
--- a/test/binaryen.js/kitchen-sink.js
+++ b/test/binaryen.js/kitchen-sink.js
@@ -1,6 +1,16 @@
// kitchen sink, tests the full API
+function cleanInfo(info) {
+ var ret = {};
+ for (var x in info) {
+ if (x !== 'value') {
+ ret[x] = info[x];
+ }
+ }
+ return ret;
+}
+
var module;
// helpers
@@ -212,7 +222,7 @@ function test_core() {
];
// Test expression utility
- console.log("getExpressionInfo=" + JSON.stringify(Binaryen.getExpressionInfo(valueList[3])));
+ console.log("getExpressionInfo=" + JSON.stringify(cleanInfo(Binaryen.getExpressionInfo(valueList[3]))));
console.log(Binaryen.emitText(valueList[3])); // test printing a standalone expression
console.log("getExpressionInfo(i32.const)=" + JSON.stringify(Binaryen.getExpressionInfo(module.i32.const(5))));
diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt
index 96f7bd160..fe9765d12 100644
--- a/test/binaryen.js/kitchen-sink.js.txt
+++ b/test/binaryen.js/kitchen-sink.js.txt
@@ -33,7 +33,7 @@ BinaryenAtomicCmpxchgId: 24
BinaryenAtomicRMWId: 25
BinaryenAtomicWaitId: 26
BinaryenAtomicWakeId: 27
-getExpressionInfo={"id":16,"type":3,"op":6,"value":5366768}
+getExpressionInfo={"id":16,"type":3,"op":6}
(f32.neg
(f32.const -33.61199951171875)
)
@@ -1395,7 +1395,7 @@ int main() {
BinaryenExpressionGetType(expressions[30]);
BinaryenUnaryGetOp(expressions[30]);
BinaryenUnaryGetValue(expressions[30]);
-getExpressionInfo={"id":16,"type":3,"op":6,"value":5401832}
+getExpressionInfo={"id":16,"type":3,"op":6}
BinaryenExpressionPrint(expressions[30]);
(f32.neg
(f32.const -33.61199951171875)
@@ -1423,7 +1423,7 @@ getExpressionInfo(f32.const)={"id":15,"type":3,"value":8.5}
BinaryenConstGetValueF64(expressions[250]);
getExpressionInfo(f64.const)={"id":15,"type":4,"value":9.5}
{
- BinaryenExpressionRef children[] = { expressions[24], expressions[26], expressions[28], expressions[30], expressions[32], expressions[34], expressions[36], expressions[38], expressions[40], expressions[42], expressions[44], expressions[46], expressions[48], expressions[50], expressions[52], expressions[54], expressions[56], expressions[58], expressions[60], expressions[62], expressions[64], expressions[66], expressions[68], expressions[70], expressions[72], expressions[74], expressions[76], expressions[78], expressions[80], expressions[82], expressions[84], expressions[86], expressions[88], expressions[90], expressions[92], expressions[94], expressions[97], expressions[100], expressions[103], expressions[106], expressions[109], expressions[112], expressions[115], expressions[118], expressions[121], expressions[124], expressions[127], expressions[130], expressions[133], expressions[136], expressions[139], expressions[142], expressions[145], expressions[148], expressions[151], expressions[154], expressions[157], expressions[160], expressions[163], expressions[166], expressions[169], expressions[172], expressions[175], expressions[178], expressions[181], expressions[184], expressions[187], expressions[190], expressions[191], expressions[192], expressions[193], expressions[195], expressions[197], expressions[198], expressions[200], expressions[202], expressions[203], expressions[204], expressions[206], expressions[212], expressions[217], expressions[224], expressions[226], expressions[228], expressions[231], expressions[233], expressions[235], expressions[237], expressions[239], expressions[240], expressions[241], expressions[242], expressions[244], expressions[245], expressions[246] };
+], expressions[160], expressions[163], expressions[166], expressions[169], expressions[172], expressions[175], expressions[178], expressions[181], expressions[184], expressions[187], expressions[190], expressions[191], expressions[192], expressions[193], expressions[195], expressions[197], expressions[198], expressions[200], expressions[202], expressions[203], expressions[204], expressions[206], expressions[212], expressions[217], expressions[224], expressions[226], expressions[228], expressions[231], expressions[233], expressions[235], expressions[237], expressions[239], expressions[240], expressions[241], expressions[242], expressions[244], expressions[245], expressions[246] };
expressions[251] = BinaryenBlock(the_module, "the-value", children, 95, 0);
}
expressions[252] = BinaryenDrop(the_module, expressions[251]);