0 Replies Latest reply on Oct 9, 2008 10:54 AM by (Peter_Donovan)

    [svn] 3543: Asc front end performance improvements & bug fixes

      Revision: 3543
      Author: peted@adobe.com
      Date: 2008-10-09 11:54:47 -0700 (Thu, 09 Oct 2008)

      Log Message:
      -----------
      Asc front end performance improvements & bug fixes

      This set of Asc parser/scanner/inputbuffer updates contains changes that simplify the parser?\226?\128?\153s lookahead/match fsm.
      A method, ?\226?\128?\152shift()?\226?\128?\153 has been added that replaces match, when the token to be consumed is known.
      Also, a simplified version of lookahead has been added that returns the lookahead token, which allows use of switch code when the lookahead set is large.

      Simple inputbuffer changes (switching to a String, so that we can use substring instead of valueof) seem to result in about a 2% performance improvement.

      Fixes for:
      ASC-3519
      ASC-2292
      ASC-3545

      All being overlapping bugs related to regexp recognition in slightly differing contexts.

      QA: Yes
      Doc:
      Tests: checkintests, Performance tests, tamarin, asc-tests, mx-unit

      Ticket Links:
      ------------
      http://bugs.adobe.com/jira/browse/ASC-3519
      http://bugs.adobe.com/jira/browse/ASC-2292
      http://bugs.adobe.com/jira/browse/ASC-3545

      Ticket Links:
      ------------
      http://bugs.adobe.com/jira/browse/ASC-3519
      http://bugs.adobe.com/jira/browse/ASC-2292
      http://bugs.adobe.com/jira/browse/ASC-3545
      http://bugs.adobe.com/jira/browse/ASC-3519
      http://bugs.adobe.com/jira/browse/ASC-2292
      http://bugs.adobe.com/jira/browse/ASC-3545

      Modified Paths:
      --------------
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/InputBuffer.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/Parser.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/Scanner.java
      flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/States.java