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();
+ }
+ }
+
}