0 Replies Latest reply on May 22, 2008 12:24 PM by (Paul_Reilly)

    [svn] 1832: Various speed optimizations:

    Level 1
      Revision: 1832
      Author: preilly@adobe.com
      Date: 2008-05-22 13:24:34 -0700 (Thu, 22 May 2008)

      Log Message:
      -----------
      Various speed optimizations:

      * Further reduced String interning by using more pre-interned
      constants in asc.

      * Optimized the lookup of literal field node names of type
      IdentifierNode by giving them an empty ReferenceValue.
      Previously, these resulted in an expense lookup in
      ReferenceValue.findUnqualified() which always failed.

      * Optimized the implict AS3 namespace by giving it a prefilled
      ReferenceValue. Like above, this reduces the load on
      ReferenceValue.findUnqualified(), which is a hot spot.

      * Removed two unnecessary context lookups for FlowAnalzyer.

      * Reduced the load on java.lang.Scanner, but storing the mxml
      implicit imports presplit.

      * Filled in the ReferenceValue for some of the generated AST's
      IdentifierNode's, to further reduce the load on
      ReferenceValue.findUnqualified().

      tests Passed: checkintests, mxunit compiler, performance, asc errors,
      asc acceptance

      Needs QA: YES

      Needs DOC: NO

      API Change: NO

      Reviewer: pfarland

      Modified Paths:
      --------------
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/IdentifierNode.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/LiteralStringNode.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/NodeFactory.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/PackageIdentifiersNode.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/Parser.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/semantics/FlowAnalyzer.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/semantics/ObjectValue.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/semantics/TypeValue.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/abc/AbcCompiler.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/AbstractSyntaxTreeUtil.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/As3Compiler.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/InterfaceCompiler.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/InterfaceGenerator.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/reflect/TypeTable.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/DocumentInfo.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java