Hm, from what it sounds like, instead of hot patching, it'd be more practical and easier to change my debugging strategy and especially since the refresh time is so fast now using incremental compiles. I suppose I leave that behind for now.
It seems more practical to refresh than fight the reality of hot patching, which is probably not what folks would want to hear. And this probably has to do with the design challenge for those who are debugging apps that with an authentication process to run through before they get to the widgets there working on, which docs could be used to help guide through this type of process. Thanks for the feedback, Brandon On Saturday, September 6, 2014 11:42:38 AM UTC-7, Ray Cromwell wrote: > > > HotPatching via recompilation will require significant work in SDM. If you > just did the naive thing and patched in the JS that changed, stuff would > break: > > 1) clinit()s which have already been called would be restored, so classes > would get initialized twice > 2) some instance fields of the class would get reinitialized > 3) callbacks held by JSNI closures might still point to old code in some > circumstances I think > > SDM mode would have to do minimally the following: > 1) collect only the JS that actually changed > 2) don't emit clinits for already live classes, and if the user added a > new clinit to an existing class or a new statically initialized field, > force a full refresh > 3) don't re-emit field initializers for existing fields on classes, only > for new added fields > 4) if method signatures change, may have to force a full refresh > 5) the code must be patched in via linker-dependent scope injection as if > it were an AsyncFragment > > > > On Sat, Sep 6, 2014 at 9:05 AM, Ivan Markov <[email protected] > <javascript:>> wrote: > >> Another option would be to abandon Chrome LiveEdit completely in favor of >> a do-it-yourself approach. >> JavaScript does allow functions and variables redefinition, so maybe we >> can just inject another <script> inside the iframe with the newly >> recompiled permutation? >> (To have this instantaneous, only a script containing the changed types >> should be injected, however I'm not sure if/what needs to be fixed so that >> sourcemaps continue to work after that.) >> >> -- >> You received this message because you are subscribed to the Google Groups >> "GWT Contributors" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] >> <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/google-web-toolkit-contributors/eeeb5252-162b-4381-a3fa-14da59fa9873%40googlegroups.com >> >> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/eeeb5252-162b-4381-a3fa-14da59fa9873%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/71857207-4bfe-4ebb-a1e3-a266880f2db7%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
