Ignore:
Timestamp:
Aug 24, 2017, 4:03:27 PM (8 years ago)
Author:
[email protected]
Message:

Enable moving fixed character class terms after fixed character terms for BMP only character classes
https://bugs.webkit.org/show_bug.cgi?id=175958

Reviewed by Saam Barati.

Currently we don't perform the reordering optimiaztion of fixed character terms that
follow fixed character class terms for Unicode patterns.

This change allows that reordering when the character class contains only BMP
characters.

This fix is covered by existing tests.

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::optimizeAlternative):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/yarr/YarrJIT.cpp

    r221160 r221167  
    149149    void optimizeAlternative(PatternAlternative* alternative)
    150150    {
    151         if (!alternative->m_terms.size() || m_decodeSurrogatePairs)
     151        if (!alternative->m_terms.size())
    152152            return;
    153153
     
    159159            if ((term.type == PatternTerm::TypeCharacterClass)
    160160                && (term.quantityType == QuantifierFixedCount)
    161                 && (!term.characterClass->m_hasNonBMPCharacters)
     161                && (!m_decodeSurrogatePairs || !term.characterClass->m_hasNonBMPCharacters)
    162162                && (nextTerm.type == PatternTerm::TypePatternCharacter)
    163163                && (nextTerm.quantityType == QuantifierFixedCount)) {
Note: See TracChangeset for help on using the changeset viewer.