Revision: 6534
Author: [email protected]
Date: Wed Oct 28 17:14:14 2009
Log: tr...@6532 was merged into this branch
   Fixes a very obscure bug in ControlFlowAnalyzer.
     svn merge --ignore-ancestry -c6532  
http://google-web-toolkit.googlecode.com/svn/trunk/ .


http://code.google.com/p/google-web-toolkit/source/detail?r=6534

Modified:
  /releases/2.0/branch-info.txt
   
/releases/2.0/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java

=======================================
--- /releases/2.0/branch-info.txt       Wed Oct 28 14:57:48 2009
+++ /releases/2.0/branch-info.txt       Wed Oct 28 17:14:14 2009
@@ -100,3 +100,8 @@
  tr...@6524 was merged into this branch
    Deprecate panels that have LayoutPanel alternatives
      svn merge --ignore-ancestry -c 6524  
https://google-web-toolkit.googlecode.com/svn/trunk .
+
+tr...@6532 was merged into this branch
+  Fixes a very obscure bug in ControlFlowAnalyzer.
+    svn merge --ignore-ancestry -c6532  
http://google-web-toolkit.googlecode.com/svn/trunk/ .
+
=======================================
---  
/releases/2.0/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java 
 
Fri Aug 21 10:53:16 2009
+++  
/releases/2.0/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java 
 
Wed Oct 28 17:14:14 2009
@@ -506,6 +506,19 @@
              maybeRescueJavaScriptObjectPassingIntoJava(method.getType());
            }
            rescueOverridingMethods(method);
+
+          /*
+           * Special case: also rescue an associated staticImpl. Most of  
the
+           * time, this would happen naturally since the instance method
+           * delegates to the static. However, in cases where the static  
has
+           * been inlined into the instance method, future optimization  
could
+           * tighten an instance call into a static call, reaching code  
that
+           * was pruned.
+           */
+          JMethod staticImpl = program.getStaticImpl(method);
+          if (staticImpl != null) {
+            rescue(staticImpl);
+          }
            return true;
          }
        }

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to