OMG 50%, hehe maybe I did something wrong last time I was checking the difference. I need to try it again. Thanks!
On Thursday, November 30, 2017 at 8:34:33 AM UTC+1, Freddy Boucher wrote: > > Yes I would say it twice the size with emulated: > > For example on my demo app https://gwt-storage-objectify.appspot.com/ > the safari permutation: > - native: 94.8 KB ( > https://gwt-storage-objectify.appspot.com/?compiler.stackMode=native) > - emulated: 181 KB ( > https://gwt-storage-objectify.appspot.com/?compiler.stackMode=emulated) > > With a real app: http://www.learnkeeper.com/ > - native: 325 KB (http://www.learnkeeper.com/?compiler.stackMode=native) > - emulated: 664 KB ( > http://www.learnkeeper.com/?compiler.stackMode=emulated) > > > > On Thursday, November 30, 2017 at 5:44:12 PM UTC+11, Ignacio Baca > Moreno-Torres wrote: >> >> I'm curious, what is the code size difference? We end up using always >> emulated bc the performance and size doesn't worth. But it depends on each >> app. Or do you do native for performance (speed)? >> >> El mié., 29 nov. 2017 14:36, Thomas Broyer <[email protected]> escribió: >> >>> So you need to provide a <property-provider> so the correct permutation >>> can be chosen at runtime: >>> http://www.gwtproject.org/doc/latest/DevGuideOrganizingProjects.html#DevGuideModuleXml >>> (this would likely fix your tests too; but you could also pass a >>> -setProperty for the tests) >>> >>> >>> On Wednesday, November 29, 2017 at 11:25:15 AM UTC+1, Freddy Boucher >>> wrote: >>>> >>>> Hi @Thomas >>>> >>>> Yes it works perfectly when I declare it in my **.gwt.xml* but not >>>> when using Maven *<set-property>*. >>>> >>>> The whole story is: >>>> For production, I want to compile with both values (*native* and >>>> *emulated*). >>>> By default User loads *native* permutation but if an >>>> *Unexpected Exception* occurs in client code, I send it to server, >>>> deobfuscate it, log it, then reload User's browser with *emulated* >>>> permutation. >>>> >>>> Why doing that? Because it's likely to happen again if User retry to do >>>> exactly the same thing and with *emulated* permutation, the >>>> Deobfuscated StackTrace is 100% accurate about line number (vs not really >>>> with *native* permutation, PS: you can experience it by yourself on my >>>> demo app https://gwt-storage-objectify.appspot.com/ native it says >>>> *View.java:150* vs emulated *View.java:151* ) >>>> >>>> But for dev env and test env, I only need *emulated*. >>>> >>>> And since I only have one **.gwt.xml *for all envs, I would prefer >>>> to keep only one value otherwise GWTTestCase will complain: >>>> >>>> INFO: /launch error: While attempting to load the module, property >>>> "compiler.stackMode" was not specifiedAllowed values: emulated,native,strip >>>> Nov 29, 2017 9:22:19 PM com.gargoylesoftware.htmlunit.WebClient >>>> printContentIfNecessary >>>> [WARN] 404 - GET /com.learnkeeper.App.JUnit/undefined.cache.js >>>> (127.0.0.1) 328 bytes >>>> logging for HtmlUnit thread >>>> [ERROR] Load Script Error: java.io.IOException: Unable to download >>>> JavaScript from ' >>>> http://localhost:51160/com.learnkeeper.App.JUnit/undefined.cache.js' >>>> (status 404). >>>> java.io.IOException: Unable to download JavaScript from ' >>>> http://localhost:51160/com.learnkeeper.App.JUnit/undefined.cache.js' >>>> (status 404). >>>> at >>>> com.gargoylesoftware.htmlunit.html.HtmlPage.loadJavaScriptFromUrl(HtmlPage.java:1047) >>>> INFO: statusCode=[404] contentType=[text/html] >>>> Nov 29, 2017 9:22:19 PM com.gargoylesoftware.htmlunit.WebClient >>>> printContentIfNecessary >>>> INFO: <html> >>>> <head> >>>> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> >>>> <title>Error 404 Not Found</title> >>>> </head> >>>> <body><h2>HTTP ERROR 404</h2> >>>> <p>Problem accessing /com.learnkeeper.App.JUnit/undefined.cache.js. >>>> Reason: >>>> <pre> Not Found</pre></p><hr><i><small>Powered by >>>> Jetty://</small></i><hr/> >>>> >>>> </body> >>>> </html> >>>> >>>> >>>> >>>> >>>> >>>> >>>> On Wednesday, November 29, 2017 at 7:15:01 PM UTC+11, Thomas Broyer >>>> wrote: >>>>> >>>>> I would say that you're not supposed to set compiler.stackMode to >>>>> anything but a single value, because it doesn't have a property-provider; >>>>> and that's exactly the problem with the generated JS: the snippet where >>>>> the >>>>> error occurs is a property provider, but because there's no >>>>> <property-provider> for that property, it generates invalid JS (granted, >>>>> it >>>>> could have failed instead). >>>>> What I don't quite understand is that you're saying (IIUC) it only >>>>> occurs with -setProperty and not <set-property>. >>>>> >>>>> On Tuesday, November 28, 2017 at 8:57:38 AM UTC+1, Freddy Boucher >>>>> wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> On a GWT 2.8.2 Maven project using *tbroyer/gwt-maven-plugin* >>>>>> >>>>>> When I declare: >>>>>> >>>>>> <compilerArgs> >>>>>> <arg>-setProperty</arg> >>>>>> <arg>compiler.stackMode=native,emulated</arg> >>>>>> </compilerArgs> >>>>>> >>>>>> >>>>>> >>>>>> it fails: >>>>>> >>>>>> [INFO] Compiling 10 permutations >>>>>> >>>>>> [INFO] Compiling permutation 0... >>>>>> >>>>>> [INFO] Compiling permutation 1... >>>>>> >>>>>> [INFO] Compiling permutation 2... >>>>>> >>>>>> [INFO] Compiling permutation 3... >>>>>> >>>>>> [INFO] Compiling permutation 4... >>>>>> >>>>>> [INFO] Compiling permutation 5... >>>>>> >>>>>> [INFO] Compiling permutation 6... >>>>>> >>>>>> [INFO] Compiling permutation 7... >>>>>> >>>>>> [INFO] Compiling permutation 8... >>>>>> >>>>>> [INFO] Compiling permutation 9... >>>>>> >>>>>> [INFO] Compile of permutations succeeded >>>>>> >>>>>> [INFO] Compilation succeeded -- 53.925s >>>>>> >>>>>> [INFO] Linking into >>>>>> /Users/freddyboucher/Private/Programming/gwt-storage-objectify/gwt-storage-objectify-client/target/gwt-storage-objectify-client-0.0.1-SNAPSHOT/app; >>>>>> >>>>>> Writing extras to >>>>>> /Users/freddyboucher/Private/Programming/gwt-storage-objectify/gwt-storage-objectify-client/target/gwt-storage-objectify-client-0.0.1-SNAPSHOT/WEB-INF/deploy/app >>>>>> >>>>>> [INFO] Invoking Linker Cross-Site-Iframe >>>>>> >>>>>> [INFO] Attempting to optimize JS >>>>>> >>>>>> [INFO] [ERROR] Unable to parse JavaScript >>>>>> >>>>>> [INFO] com.google.gwt.dev.js.JsParserException: >>>>>> StandardLinkerContext.optimizeJavaScript(647): missing { before function >>>>>> body >>>>>> >>>>>> [INFO] > providers['compiler.stackMode'] = >>>>>> function()null;values['compiler.stackMode'] = >>>>>> {'emulated':0,'native':1,'strip':2};providers['user.agent'] = function(){ >>>>>> >>>>>> [INFO] > --------------------------------------------------^ >>>>>> >>>>>> [INFO] at com.google.gwt.dev.js.JsParser$1.error(JsParser.java:111) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Context.reportError(Context.java:459) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.TokenStream.reportSyntaxError(TokenStream.java:1594) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.reportError(Parser.java:72) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.mustMatchToken(Parser.java:64) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.function(Parser.java:254) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.primaryExpr(Parser.java:1224) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.memberExpr(Parser.java:1163) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.unaryExpr(Parser.java:1079) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.mulExpr(Parser.java:1031) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.addExpr(Parser.java:1015) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.shiftExpr(Parser.java:1003) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.js.rhino.Parser.relExpr(Parser.java:987) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.js.rhino.Parser.eqExpr(Parser.java:976) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.bitAndExpr(Parser.java:966) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.bitXorExpr(Parser.java:956) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.bitOrExpr(Parser.java:946) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.js.rhino.Parser.andExpr(Parser.java:935) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.js.rhino.Parser.orExpr(Parser.java:924) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.condExpr(Parser.java:908) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.assignExpr(Parser.java:890) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.assignExpr(Parser.java:897) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.js.rhino.Parser.expr(Parser.java:880) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.statementHelper(Parser.java:775) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.statement(Parser.java:360) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.parseFunctionBody(Parser.java:156) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.function(Parser.java:257) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.parseFunctionBody(Parser.java:154) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.js.rhino.Parser.function(Parser.java:257) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.js.rhino.Parser.parse(Parser.java:116) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.js.JsParser.parseImpl(JsParser.java:133) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.js.JsParser.parse(JsParser.java:88) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.js.JsParser.parseInto(JsParser.java:93) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.core.ext.linker.impl.StandardLinkerContext.optimizeJavaScript(StandardLinkerContext.java:443) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.core.ext.linker.impl.SelectionScriptLinker.generateSelectionScript(SelectionScriptLinker.java:428) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.core.ext.linker.impl.SelectionScriptLinker.generateSelectionScript(SelectionScriptLinker.java:416) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.core.ext.linker.impl.SelectionScriptLinker.emitSelectionScript(SelectionScriptLinker.java:310) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.core.ext.linker.impl.SelectionScriptLinker.link(SelectionScriptLinker.java:212) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.core.ext.linker.impl.StandardLinkerContext.invokeFinalLink(StandardLinkerContext.java:339) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.Link.doSimulatedShardingLink(Link.java:459) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.Link.link(Link.java:178) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.Compiler.compile(Compiler.java:244) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.Compiler.compile(Compiler.java:155) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.Compiler.compile(Compiler.java:144) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.Compiler$1.run(Compiler.java:118) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55) >>>>>> >>>>>> [INFO] at >>>>>> com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50) >>>>>> >>>>>> [INFO] at com.google.gwt.dev.Compiler.main(Compiler.java:125) >>>>>> >>>>>> [INFO] >>>>>> ------------------------------------------------------------------------ >>>>>> >>>>>> [INFO] Reactor Summary: >>>>>> >>>>>> [INFO] >>>>>> >>>>>> [INFO] gwt-storage-objectify .............................. SUCCESS [ >>>>>> 0.173 s] >>>>>> >>>>>> [INFO] gwt-storage-objectify-shared ....................... SUCCESS [ >>>>>> 1.390 s] >>>>>> >>>>>> [INFO] gwt-storage-objectify-client ....................... FAILURE >>>>>> [ 56.988 s] >>>>>> >>>>>> [INFO] gwt-storage-objectify-server ....................... SKIPPED >>>>>> >>>>>> >>>>>> This is the commit causing the issue: >>>>>> https://github.com/freddyboucher/gwt-storage-objectify/commit/a235206adfaf2dd29c2f456b3b966006729e110e >>>>>> >>>>>> Reverting the commit fixes the build. >>>>>> >>>>>> Thanks >>>>>> >>>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "GWT Users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at https://groups.google.com/group/google-web-toolkit. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- You received this message because you are subscribed to the Google Groups "GWT Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/d/optout.
