As I see using SFE breaks asm.js validity? On my another project sfe produce js less on 500Kb (from 6.5Mb), but FF says: TypeError: asm.js type error: double is not a subtype of intish
2017-08-22 11:33 GMT+07:00 Александр Гурьянов <[email protected]>: > Roll a ball project: https://www.assetstore.unity3d.com/en/#!/content/77198 > > 2017-08-22 11:32 GMT+07:00 Александр Гурьянов <[email protected]>: >> Hi. I tried to use SFE on Roll-a-ball demo project, and get same >> results. Unity uses --separate-asm flag to build asm.js. Resulting js >> looks like: >> >> Module["asm"] = (function(global,env,buffer) { >> "use asm";var a=new global.Int8Array(buffer);var b=new >> global.Int16Array(buffer);... >> >> I tried to remove wrapping function (Module["asm"] = >> (function(global,env,buffer) { ... }), and code looks like: >> "use asm";var a=new global.Int8Array(buffer);var b=new >> global.Int16Array(buffer);... >> >> When I run SFE I have another error: >> /home/caiiiycuk/sdk/Similar-Function-Elimination/node_modules/esprima/esprima.js:5701 >> throw e; >> ^ >> Error: Line 25: Illegal return statement >> at constructError >> (/home/caiiiycuk/sdk/Similar-Function-Elimination/node_modules/esprima/esprima.js:2406:21) >> at createError >> (/home/caiiiycuk/sdk/Similar-Function-Elimination/node_modules/esprima/esprima.js:2425:17) >> at tolerateError >> (/home/caiiiycuk/sdk/Similar-Function-Elimination/node_modules/esprima/esprima.js:2460:17) >> at parseReturnStatement >> (/home/caiiiycuk/sdk/Similar-Function-Elimination/node_modules/esprima/esprima.js:4533:13) >> at parseStatement >> (/home/caiiiycuk/sdk/Similar-Function-Elimination/node_modules/esprima/esprima.js:4780:24) >> at parseStatementListItem >> (/home/caiiiycuk/sdk/Similar-Function-Elimination/node_modules/esprima/esprima.js:3988:16) >> at parseScriptBody >> (/home/caiiiycuk/sdk/Similar-Function-Elimination/node_modules/esprima/esprima.js:5489:25) >> at parseProgram >> (/home/caiiiycuk/sdk/Similar-Function-Elimination/node_modules/esprima/esprima.js:5505:16) >> at Object.parse >> (/home/caiiiycuk/sdk/Similar-Function-Elimination/node_modules/esprima/esprima.js:5689:23) >> at SimilarFunctionEliminator.srcToAst >> (/home/caiiiycuk/sdk/Similar-Function-Elimination/src/similar_function_eliminator.js:35:20) >> >> >> Maybe I doing something wrong. Can you try? Resulting js is here >> (build.asm.js): >> >> https://drive.google.com/file/d/0B28AXjYMDNZscDFlZTdWMGMzQkU/view?usp=sharing >> >> Thank you! >> >> 2017-08-22 1:35 GMT+07:00 Александр Гурьянов <[email protected]>: >>> I think that error can be reporudced on any Unity project, I will >>> check and back) Btw, thanks for nice stuff! >>> >>> 2017-08-22 1:27 GMT+07:00 arnab choudhury <[email protected]>: >>>> Thanks Alon :). >>>> >>>> Caiiycuk, is the codebase you are trying to run SFE on available publicly? >>>> Can you post the github link here if so? If not, take a look at the >>>> generated JS on which you are going to run SFE on. Make sure that there is >>>> a >>>> top level global variable called asm. If the asm.js is wrapped, then you >>>> might have to save off the asm.js (the part of the code that contains a top >>>> level variable called asm) to a separate file and try running SFE on that >>>> to >>>> see the potential size reduction. >>>> >>>> Regards, >>>> Arnab >>>> >>>> On Monday, August 21, 2017 at 10:47:22 AM UTC-7, Alon Zakai wrote: >>>>> >>>>> Very interesting stuff here! :) >>>>> >>>>> I opened this issue for implementation in Binaryen: >>>>> https://github.com/WebAssembly/binaryen/issues/1142 >>>>> >>>>> On Fri, Aug 18, 2017 at 8:24 AM, arnab choudhury <[email protected]> >>>>> wrote: >>>>>> >>>>>> Hello Emscripten-Discuss >>>>>> >>>>>> I just wanted to bring folks' attention to a new post-build optimization >>>>>> pass for Emscripten generated asm.js called Similar Function Elimination >>>>>> (SFE) that Tableau recently open sourced. I discussed with Alon, and our >>>>>> thinking is that we will be adding this pass to Binaryen's web assembly >>>>>> generator. Given that everyone is moving to Web Assembly, we are >>>>>> thinking we >>>>>> may not add this pass back to Emscripten. However, that being said, the >>>>>> Emscripten community should feel free to use Similar Function >>>>>> Elimination on >>>>>> Emscripten generated asm.js if you need the additional size reduction. >>>>>> >>>>>> https://github.com/achoudhury85/Similar-Function-Elimination >>>>>> >>>>>> At Tableau, we have observed up to 20% code size reduction when using SFE >>>>>> on template heavy codebases. >>>>>> >>>>>> Regards, >>>>>> Arnab >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google Groups >>>>>> "emscripten-discuss" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, send an >>>>>> email to [email protected]. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "emscripten-discuss" group. >>>> To unsubscribe from this group and stop receiving emails from it, send an >>>> email to [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
