Ignore:
Timestamp:
Dec 25, 2011, 1:21:06 PM (13 years ago)
Author:
[email protected]
Message:

Yarr: Avoid copying vectors in CharacterClassConstructor.
<http://webkit.org/b/75206>

Reviewed by Darin Adler.

Yarr::CharacterClassConstructor::charClass() was hot when loading twitter
feeds (1.2%), replace the usage of Vector::append() by swap() since we're
always clearing the source vector afterwards anyway.

  • yarr/YarrPattern.cpp:

(JSC::Yarr::CharacterClassConstructor::charClass):

File:
1 edited

Legend:

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

    r95901 r103672  
    145145        CharacterClass* characterClass = new CharacterClass(0);
    146146
    147         characterClass->m_matches.append(m_matches);
    148         characterClass->m_ranges.append(m_ranges);
    149         characterClass->m_matchesUnicode.append(m_matchesUnicode);
    150         characterClass->m_rangesUnicode.append(m_rangesUnicode);
    151 
    152         reset();
     147        characterClass->m_matches.swap(m_matches);
     148        characterClass->m_ranges.swap(m_ranges);
     149        characterClass->m_matchesUnicode.swap(m_matchesUnicode);
     150        characterClass->m_rangesUnicode.swap(m_rangesUnicode);
    153151
    154152        return characterClass;
Note: See TracChangeset for help on using the changeset viewer.