Changeset 67066 in webkit for trunk/JavaScriptCore/parser


Ignore:
Timestamp:
Sep 8, 2010, 11:53:33 PM (15 years ago)
Author:
[email protected]
Message:

Removing doneSemicolon label in the lexer
https://bugs.webkit.org/show_bug.cgi?id=45289

Reviewed by Darin Adler.

As a side effect of moving the multiline comment parsing
to a separate function, an opportunity raised to simplify
the single line comment parsing, and removing doneSemicolon
label. Slight performance increase on --parse-only
tests (from 32.8ms to 31.5ms)

  • parser/Lexer.cpp:

(JSC::Lexer::lex):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/parser/Lexer.cpp

    r66962 r67066  
    10261026        if (lastTokenWasRestrKeyword()) {
    10271027            token = SEMICOLON;
    1028             goto doneSemicolon;
     1028            m_delimited = true;
     1029            goto returnToken;
    10291030        }
    10301031        goto start;
     
    10481049    m_atLineStart = true;
    10491050    m_terminator = true;
    1050     if (lastTokenWasRestrKeyword())
    1051         goto doneSemicolon;
    1052     goto start;
    1053 
    1054 doneSemicolon:
     1051    if (!lastTokenWasRestrKeyword())
     1052        goto start;
     1053
    10551054    token = SEMICOLON;
    10561055    m_delimited = true;
    10571056    // Fall through into returnToken.
    10581057
    1059 returnToken: {
    1060     int lineNumber = m_lineNumber;
    1061     llocp->line = lineNumber;
     1058returnToken:
     1059    llocp->line = m_lineNumber;
    10621060    llocp->startOffset = startOffset;
    10631061    llocp->endOffset = currentOffset();
    10641062    m_lastToken = token;
    10651063    return token;
    1066 }
    10671064
    10681065returnError:
Note: See TracChangeset for help on using the changeset viewer.