diff options
author | Alon Zakai <alonzakai@gmail.com> | 2017-12-30 11:05:47 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-30 11:05:47 -0800 |
commit | 593178a3e207e5382338fbf05adce419fe9545fd (patch) | |
tree | a011bcbdc2109bcda007e69f2bc3c4744ccc0891 /test/binaryen.js | |
parent | b5ee16f318019f89d8a897437fb906d470cfa8d9 (diff) | |
download | binaryen-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.js | 24 | ||||
-rw-r--r-- | test/binaryen.js/functions.js.txt | 6 | ||||
-rw-r--r-- | test/binaryen.js/kitchen-sink.js | 12 | ||||
-rw-r--r-- | test/binaryen.js/kitchen-sink.js.txt | 6 |
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]); |