[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:09:09 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 10ad576b6a4c87a66a6ea36cf3f3bbe2d038f830
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Nov 4 18:18:25 2003 +0000
Reviewed by Chris.
- fixed 3472893 - Slow intel page takes 20% of its time in CachedObject::ref
Speeds up loading of
http://www.intel.com/cd/ids/developer/asmo-na/eng/index.htm by
19%, no slowdown on PLT.
* khtml/misc/loader.h: Use QPtrDict for m_clients instead of QPtrList.
* khtml/misc/loader.cpp:
(CachedObjectClientWalker::CachedObjectClientWalker): Ditto.
(CachedObject::ref): Ditto.
* kwq/KWQPtrDict.h:
(QPtrDict::isEmpty): Implemented.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 0f137e1..3f13178 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,20 @@
+2003-11-04 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by Chris.
+
+ - fixed 3472893 - Slow intel page takes 20% of its time in CachedObject::ref
+
+ Speeds up loading of
+ http://www.intel.com/cd/ids/developer/asmo-na/eng/index.htm by
+ 19%, no slowdown on PLT.
+
+ * khtml/misc/loader.h: Use QPtrDict for m_clients instead of QPtrList.
+ * khtml/misc/loader.cpp:
+ (CachedObjectClientWalker::CachedObjectClientWalker): Ditto.
+ (CachedObject::ref): Ditto.
+ * kwq/KWQPtrDict.h:
+ (QPtrDict::isEmpty): Implemented.
+
2003-11-03 Maciej Stachowiak <mjs at apple.com>
Reviewed by Darin.
diff --git a/WebCore/khtml/misc/loader.cpp b/WebCore/khtml/misc/loader.cpp
index 237a765..3092c34 100644
--- a/WebCore/khtml/misc/loader.cpp
+++ b/WebCore/khtml/misc/loader.cpp
@@ -73,11 +73,11 @@ static bool cacheDisabled;
// Just keep calling next() on this. It's safe from deletions of the current item
class CachedObjectClientWalker {
public:
- CachedObjectClientWalker(const QPtrList<CachedObjectClient> &clients) : _current(0), _iterator(clients) { }
+ CachedObjectClientWalker(const QPtrDict<CachedObjectClient> &clients) : _current(0), _iterator(clients) { }
CachedObjectClient *next();
private:
CachedObjectClient *_current;
- QPtrListIterator<CachedObjectClient> _iterator;
+ QPtrDictIterator<CachedObjectClient> _iterator;
};
CachedObject::~CachedObject()
@@ -155,8 +155,7 @@ void CachedObject::setRequest(Request *_request)
void CachedObject::ref(CachedObjectClient *c)
{
- m_clients.remove(c);
- m_clients.append(c);
+ m_clients.insert(c, c);
Cache::removeFromLRUList(this);
increaseAccessCount();
}
diff --git a/WebCore/khtml/misc/loader.h b/WebCore/khtml/misc/loader.h
index 2ae07af..820eaa6 100644
--- a/WebCore/khtml/misc/loader.h
+++ b/WebCore/khtml/misc/loader.h
@@ -195,7 +195,7 @@ namespace khtml
protected:
void setSize(int size);
- QPtrList<CachedObjectClient> m_clients;
+ QPtrDict<CachedObjectClient> m_clients;
DOM::DOMString m_url;
QString m_accept;
diff --git a/WebCore/kwq/KWQPtrDict.h b/WebCore/kwq/KWQPtrDict.h
index 240e4ad..52cbe05 100644
--- a/WebCore/kwq/KWQPtrDict.h
+++ b/WebCore/kwq/KWQPtrDict.h
@@ -44,6 +44,7 @@ public:
T *take(void *key) { return (T *)impl.take(key); }
void insert(void *key, T *value) { impl.insert(key, value); }
bool remove(void *key) { return impl.remove(key, del_item); }
+ bool isEmpty() const { return count() == 0; }
QPtrDict<T> &operator=(const QPtrDict<T> &pd) { impl.assign(pd.impl,del_item); QPtrCollection::operator=(pd); return *this; }
T *operator[](void *key) const { return (T *)impl.find(key); }
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list