[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:12:18 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 08a94b74642ac3bbe30755bceec0afb3898b3f0a
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Dec 6 18:05:54 2002 +0000

            Reviewed by Maciej.
    
            * khtml/ecma/kjs_events.h: Add listenerObjImp() method so we don't have to
    	ref/unref for speed-critical uses.
    
            * khtml/ecma/kjs_window.cpp: (Window::getJSEventListener): Change this
    	to work with ObjectImp so we don't ref/unref each listener. This should give
    	us some extra speed.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2959 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index fa68ea4..4587065 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,14 @@
+2002-12-06  Darin Adler  <darin at apple.com>
+
+        Reviewed by Maciej.
+
+        * khtml/ecma/kjs_events.h: Add listenerObjImp() method so we don't have to
+	ref/unref for speed-critical uses.
+
+        * khtml/ecma/kjs_window.cpp: (Window::getJSEventListener): Change this
+	to work with ObjectImp so we don't ref/unref each listener. This should give
+	us some extra speed.
+
 2002-12-06  Maciej Stachowiak  <mjs at apple.com>
 
         Reviewed by: Darin Adler
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index fa68ea4..4587065 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,14 @@
+2002-12-06  Darin Adler  <darin at apple.com>
+
+        Reviewed by Maciej.
+
+        * khtml/ecma/kjs_events.h: Add listenerObjImp() method so we don't have to
+	ref/unref for speed-critical uses.
+
+        * khtml/ecma/kjs_window.cpp: (Window::getJSEventListener): Change this
+	to work with ObjectImp so we don't ref/unref each listener. This should give
+	us some extra speed.
+
 2002-12-06  Maciej Stachowiak  <mjs at apple.com>
 
         Reviewed by: Darin Adler
diff --git a/WebCore/khtml/ecma/kjs_events.h b/WebCore/khtml/ecma/kjs_events.h
index 39479ba..ce1fbd4 100644
--- a/WebCore/khtml/ecma/kjs_events.h
+++ b/WebCore/khtml/ecma/kjs_events.h
@@ -35,7 +35,8 @@ namespace KJS {
     virtual ~JSEventListener();
     virtual void handleEvent(DOM::Event &evt);
     virtual DOM::DOMString eventListenerType();
-    Object listenerObj() { return listener; }
+    Object listenerObj() const { return listener; }
+    ObjectImp *listenerObjImp() const { return listener.imp(); }
   protected:
     Object listener;
     bool html;
diff --git a/WebCore/khtml/ecma/kjs_window.cpp b/WebCore/khtml/ecma/kjs_window.cpp
index 5613524..7bf7e95 100644
--- a/WebCore/khtml/ecma/kjs_window.cpp
+++ b/WebCore/khtml/ecma/kjs_window.cpp
@@ -941,18 +941,18 @@ Value Window::getListener(ExecState *exec, int eventId) const
 
 JSEventListener *Window::getJSEventListener(const Value& val, bool html)
 {
-  Object obj = Object::dynamicCast(val);
-  if (obj.isNull())
+  // This function is so hot that it's worth coding it directly with imps.
+  if (val.type() != ObjectType)
     return 0;
+  ObjectImp *listenerObject = static_cast<ObjectImp *>(val.imp());
 
   QPtrListIterator<JSEventListener> it(jsEventListeners);
-
   for (; it.current(); ++it)
-    if (it.current()->listenerObj().imp() == obj.imp())
+    if (it.current()->listenerObjImp() == listenerObject)
       return it.current();
 
   // Note that the JSEventListener constructor adds it to our jsEventListeners list
-  return new JSEventListener(obj,Object(this),html);
+  return new JSEventListener(Object(listenerObject), Object(this), html);
 }
 
 void Window::clear( ExecState *exec )

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list