[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