[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