[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
mjs
mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:38:40 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 7ca4a9ee7e3a1343055b3fca2c8e352fa7a7f247
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sun May 9 04:55:11 2004 +0000
Reviewed by Dave.
- change things around so extremely hot TokenizerString::current()
method doesn't have to do any work. It's cheaper to maintain the
relevant state than to always compute it.
* khtml/misc/stringit.h:
(khtml::TokenizerString::TokenizerString): Initialize m_currentChar
(khtml::TokenizerString::push): update m_currentChar
(khtml::TokenizerString::advance): ditto
(khtml::TokenizerString::current): return m_currentChar
* khtml/misc/stringit.cpp:
(khtml::TokenizerString::clear): update m_currentChar
(khtml::TokenizerString::append): update m_currentChar
(khtml::TokenizerString::prepend): update m_currentChar
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 031fe05..4118f80 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,21 @@
+2004-05-07 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by Dave.
+
+ - change things around so extremely hot TokenizerString::current()
+ method doesn't have to do any work. It's cheaper to maintain the
+ relevant state than to always compute it.
+
+ * khtml/misc/stringit.h:
+ (khtml::TokenizerString::TokenizerString): Initialize m_currentChar
+ (khtml::TokenizerString::push): update m_currentChar
+ (khtml::TokenizerString::advance): ditto
+ (khtml::TokenizerString::current): return m_currentChar
+ * khtml/misc/stringit.cpp:
+ (khtml::TokenizerString::clear): update m_currentChar
+ (khtml::TokenizerString::append): update m_currentChar
+ (khtml::TokenizerString::prepend): update m_currentChar
+
2004-05-07 Don Melton <gramps at apple.com>
Reviewed by Dave.
diff --git a/WebCore/khtml/misc/stringit.cpp b/WebCore/khtml/misc/stringit.cpp
index 6362693..cb97b90 100644
--- a/WebCore/khtml/misc/stringit.cpp
+++ b/WebCore/khtml/misc/stringit.cpp
@@ -44,6 +44,7 @@ void TokenizerString::clear()
{
m_pushedChar1 = 0;
m_pushedChar2 = 0;
+ m_currentChar = 0;
m_currentString.clear();
m_substrings.clear();
m_lines = 0;
@@ -53,9 +54,9 @@ void TokenizerString::clear()
void TokenizerString::append(const TokenizerSubstring &s)
{
if (s.m_length) {
- if (!m_currentString.m_length)
+ if (!m_currentString.m_length) {
m_currentString = s;
- else {
+ } else {
m_substrings.append(s);
m_composite = true;
}
@@ -87,6 +88,7 @@ void TokenizerString::append(const TokenizerString &s)
for (; i != e; ++i)
append(*i);
}
+ m_currentChar = m_pushedChar1.isNull() ? m_currentString.m_current : &m_pushedChar1;
}
void TokenizerString::prepend(const TokenizerString &s)
@@ -100,6 +102,7 @@ void TokenizerString::prepend(const TokenizerString &s)
prepend(*i);
}
prepend(s.m_currentString);
+ m_currentChar = m_pushedChar1.isNull() ? m_currentString.m_current : &m_pushedChar1;
}
void TokenizerString::advanceSubstring()
diff --git a/WebCore/khtml/misc/stringit.h b/WebCore/khtml/misc/stringit.h
index bfc6678..f06253c 100644
--- a/WebCore/khtml/misc/stringit.h
+++ b/WebCore/khtml/misc/stringit.h
@@ -67,9 +67,9 @@ private:
class TokenizerString
{
public:
- TokenizerString() : m_lines(0), m_composite(false) {}
- TokenizerString(const QChar *str, int length) : m_currentString(str, length), m_lines(0), m_composite(false) {}
- TokenizerString(const QString &str) : m_currentString(str), m_lines(0), m_composite(false) {}
+ TokenizerString() : m_currentChar(0), m_lines(0), m_composite(false) {}
+ TokenizerString(const QChar *str, int length) : m_currentString(str, length), m_currentChar(m_currentString.m_current), m_lines(0), m_composite(false) {}
+ TokenizerString(const QString &str) : m_currentString(str), m_currentChar(m_currentString.m_current), m_lines(0), m_composite(false) {}
void clear();
@@ -77,9 +77,10 @@ public:
void prepend(const TokenizerString &);
void push(QChar c) {
- if (m_pushedChar1.isNull())
+ if (m_pushedChar1.isNull()) {
m_pushedChar1 = c;
- else {
+ m_currentChar = m_pushedChar1.isNull() ? m_currentString.m_current : &m_pushedChar1;
+ } else {
assert(m_pushedChar2.isNull());
m_pushedChar2 = c;
}
@@ -97,6 +98,7 @@ public:
if (--m_currentString.m_length == 0)
advanceSubstring();
}
+ m_currentChar = m_pushedChar1.isNull() ? m_currentString.m_current: &m_pushedChar1;
}
bool escaped() const { return !m_pushedChar1.isNull(); }
@@ -115,11 +117,12 @@ private:
void prepend(const TokenizerSubstring &);
void advanceSubstring();
- const QChar *current() const { return m_pushedChar1.isNull() ? m_currentString.m_current : &m_pushedChar1; }
+ const QChar *current() const { return m_currentChar; }
QChar m_pushedChar1;
QChar m_pushedChar2;
TokenizerSubstring m_currentString;
+ const QChar *m_currentChar;
QValueList<TokenizerSubstring> m_substrings;
int m_lines;
bool m_composite;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list