Title: [103672] trunk/Source/_javascript_Core
- Revision
- 103672
- Author
- kl...@webkit.org
- Date
- 2011-12-25 13:21:06 -0800 (Sun, 25 Dec 2011)
Log 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):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (103671 => 103672)
--- trunk/Source/_javascript_Core/ChangeLog 2011-12-25 19:03:16 UTC (rev 103671)
+++ trunk/Source/_javascript_Core/ChangeLog 2011-12-25 21:21:06 UTC (rev 103672)
@@ -1,3 +1,17 @@
+2011-12-25 Andreas Kling <awesomekl...@apple.com>
+
+ 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):
+
2011-12-24 Darin Adler <da...@apple.com>
Specialize HashTraits for RefPtr to use PassRefPtr as "pass type" to reduce reference count churn
Modified: trunk/Source/_javascript_Core/yarr/YarrPattern.cpp (103671 => 103672)
--- trunk/Source/_javascript_Core/yarr/YarrPattern.cpp 2011-12-25 19:03:16 UTC (rev 103671)
+++ trunk/Source/_javascript_Core/yarr/YarrPattern.cpp 2011-12-25 21:21:06 UTC (rev 103672)
@@ -144,13 +144,11 @@
{
CharacterClass* characterClass = new CharacterClass(0);
- characterClass->m_matches.append(m_matches);
- characterClass->m_ranges.append(m_ranges);
- characterClass->m_matchesUnicode.append(m_matchesUnicode);
- characterClass->m_rangesUnicode.append(m_rangesUnicode);
+ characterClass->m_matches.swap(m_matches);
+ characterClass->m_ranges.swap(m_ranges);
+ characterClass->m_matchesUnicode.swap(m_matchesUnicode);
+ characterClass->m_rangesUnicode.swap(m_rangesUnicode);
- reset();
-
return characterClass;
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes