You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by dl...@apache.org on 2013/10/10 03:10:41 UTC

git commit: [flex-falcon] [refs/heads/develop] - Clean up Alex's fix by putting common code in createCInitIfNeeded(). Remove Erik de Bruin's workaround for Flex-33713 since the issue is fixed. Add more memory for junit SDKSWCTests, compiling wireframe wa

Updated Branches:
  refs/heads/develop 6d071f01e -> 577e7143b


Clean up Alex's fix by putting common code in createCInitIfNeeded().
Remove Erik de Bruin's workaround for Flex-33713 since the issue is fixed.
Add more memory for junit SDKSWCTests, compiling wireframe was running out of mememory.


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/577e7143
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/577e7143
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/577e7143

Branch: refs/heads/develop
Commit: 577e7143bcd55da76e7fc96837baf1c866daacdc
Parents: 6d071f0
Author: dloverin <da...@gmail.com>
Authored: Wed Oct 9 21:01:47 2013 -0400
Committer: dloverin <da...@gmail.com>
Committed: Wed Oct 9 21:01:47 2013 -0400

----------------------------------------------------------------------
 compiler.tests/build.xml                        |  2 +-
 .../as/codegen/ClassDirectiveProcessor.java     | 72 ++++++++------------
 2 files changed, 31 insertions(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/577e7143/compiler.tests/build.xml
----------------------------------------------------------------------
diff --git a/compiler.tests/build.xml b/compiler.tests/build.xml
index f5de385..00ee1b4 100644
--- a/compiler.tests/build.xml
+++ b/compiler.tests/build.xml
@@ -163,7 +163,7 @@
         <mkdir dir="${compiler.tests}/results"/>
         <mkdir dir="${compiler.tests}/temp"/>
         <junit dir="${compiler.tests}"
-               fork="yes" forkMode="perBatch" maxmemory="256m" timeout="300000"
+               fork="yes" forkMode="perBatch" maxmemory="512m" timeout="300000"
                printsummary="true" showoutput="true"
                haltonerror="false" haltonfailure="false"
                failureproperty="tests.functional.failed">

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/577e7143/compiler/src/org/apache/flex/compiler/internal/as/codegen/ClassDirectiveProcessor.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/as/codegen/ClassDirectiveProcessor.java b/compiler/src/org/apache/flex/compiler/internal/as/codegen/ClassDirectiveProcessor.java
index bf162bb..2f62f96 100644
--- a/compiler/src/org/apache/flex/compiler/internal/as/codegen/ClassDirectiveProcessor.java
+++ b/compiler/src/org/apache/flex/compiler/internal/as/codegen/ClassDirectiveProcessor.java
@@ -605,36 +605,11 @@ class ClassDirectiveProcessor extends DirectiveProcessor
 
             cinit_insns.addInstruction(OP_returnvoid);
             
-            if (this.cinfo.cInit == null)
-            {
-                //  Speculatively initialize the class' cinit 
-                //  (static class initializer routine)'s data
-                //  structures; the code generator may need to
-                //  store information in them.
-                this.cinfo.cInit = new MethodInfo();
-                MethodBodyInfo cinit_info = new MethodBodyInfo();
-                cinit_info.setMethodInfo(this.cinfo.cInit);
+            createCInitIfNeeded();
             
-                this.classStaticScope.setMethodInfo(this.cinfo.cInit);
-                this.classStaticScope.methodVisitor = emitter.visitMethod(this.cinfo.cInit);
-                this.classStaticScope.methodVisitor.visit();
-                this.classStaticScope.methodBodyVisitor = this.classStaticScope.methodVisitor.visitBody(cinit_info);
-                this.classStaticScope.methodBodyVisitor.visit();
-            }
-
-            /*
-             * FIXME: NPE while compiling 'spark.swc'
-             * 
-             * erikdebruin: I'm just bypassing that with this null check. Someone 
-             *              who knows what's going on here should probably take a
-             *              look WHY this was failing...
-             */
-            if (this.classStaticScope.methodBodyVisitor != null)
-            {
-                this.classStaticScope.methodBodyVisitor.visitInstructionList(cinit_insns);
-                this.classStaticScope.methodBodyVisitor.visitEnd();
-                this.classStaticScope.methodVisitor.visitEnd();
-            }
+            this.classStaticScope.methodBodyVisitor.visitInstructionList(cinit_insns);
+            this.classStaticScope.methodBodyVisitor.visitEnd();
+            this.classStaticScope.methodVisitor.visitEnd();
         }
         else
         {
@@ -1230,19 +1205,7 @@ class ClassDirectiveProcessor extends DirectiveProcessor
 
         if ( createNewCinit )
         {
-            //  Speculatively initialize the class' cinit 
-            //  (static class initializer routine)'s data
-            //  structures; the code generator may need to
-            //  store information in them.
-            this.cinfo.cInit = new MethodInfo();
-            MethodBodyInfo cinit_info = new MethodBodyInfo();
-            cinit_info.setMethodInfo(this.cinfo.cInit);
-        
-            this.classStaticScope.setMethodInfo(this.cinfo.cInit);
-            this.classStaticScope.methodVisitor = emitter.visitMethod(this.cinfo.cInit);
-            this.classStaticScope.methodVisitor.visit();
-            this.classStaticScope.methodBodyVisitor = this.classStaticScope.methodVisitor.visitBody(cinit_info);
-            this.classStaticScope.methodBodyVisitor.visit();
+            createCInitIfNeeded();
         }
 
         InstructionList cgResult = null;
@@ -1270,4 +1233,29 @@ class ClassDirectiveProcessor extends DirectiveProcessor
                 this.iinitInsns.addAll(cgResult);
             }
     }
+    
+    /**
+     * Create a class init method and associated structure if it does already
+     * exist.
+     */
+    private void createCInitIfNeeded() 
+    {
+        if (this.cinfo.cInit == null)
+        {
+            //  Speculatively initialize the class' cinit 
+            //  (static class initializer routine)'s data
+            //  structures; the code generator may need to
+            //  store information in them.
+            this.cinfo.cInit = new MethodInfo();
+            MethodBodyInfo cinit_info = new MethodBodyInfo();
+            cinit_info.setMethodInfo(this.cinfo.cInit);
+        
+            this.classStaticScope.setMethodInfo(this.cinfo.cInit);
+            this.classStaticScope.methodVisitor = emitter.visitMethod(this.cinfo.cInit);
+            this.classStaticScope.methodVisitor.visit();
+            this.classStaticScope.methodBodyVisitor = this.classStaticScope.methodVisitor.visitBody(cinit_info);
+            this.classStaticScope.methodBodyVisitor.visit();
+        }        
+    }
+    
 }