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.

Reply via email to