Hi caiiycuk I'll have an update here shortly. I would love to be able to reproduce the non-asm.js bug since we have extensive tests for this at Tableau. I'm trying out the roll-a-ball project right now, will get back shortly.
Regards, Arnab On Tuesday, August 22, 2017 at 3:07:44 AM UTC-7, caiiiycuk wrote: > > 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 Александр Гурьянов <caii...@gmail.com > <javascript:>>: > > Roll a ball project: > https://www.assetstore.unity3d.com/en/#!/content/77198 > > > > 2017-08-22 11:32 GMT+07:00 Александр Гурьянов <caii...@gmail.com > <javascript:>>: > >> 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 Александр Гурьянов <caii...@gmail.com > <javascript:>>: > >>> 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 <achou...@gmail.com > <javascript:>>: > >>>> 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 <achou...@gmail.com> > > >>>>> 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 emscripten-discuss+unsubscr...@googlegroups.com > <javascript:>. > >>>>>> 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 emscripten-discuss+unsubscr...@googlegroups.com > <javascript:>. > >>>> 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 emscripten-discuss+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.