[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
eric at webkit.org
eric at webkit.org
Tue Jan 5 23:40:55 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit add754a1df03c98defba9f1077d333cf8e35bef5
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Dec 2 14:52:18 2009 +0000
2009-12-02 Anton Muhin <antonm at chromium.org>
Reviewed by Adam Barth.:w
Allow to skip thread checks when accessing DOMDataStore for processes
which run V8 in single thread mode.
https://bugs.webkit.org/show_bug.cgi?id=31877
Should be covered by buildbots.
* bindings/v8/V8DOMMap.cpp:
(WebCore::getDOMDataStore):
(WebCore::enableFasterDOMStoreAccess):
(WebCore::getDOMNodeMap):
(WebCore::getDOMObjectMap):
(WebCore::getActiveDOMObjectMap):
(WebCore::getDOMSVGElementInstanceMap):
(WebCore::getDOMSVGObjectWithContextMap):
* bindings/v8/V8DOMMap.h:
2009-12-02 Anton Muhin <antonm at chromium.org>
Reviewed by Adam Barth.
Allow to skip thread checks when accessing DOMDataStore for processes
which run V8 in single thread mode.
https://bugs.webkit.org/show_bug.cgi?id=31877
* src/WebScriptController.cpp:
(WebKit::WebScriptController::enableV8SingleThreadMode):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 28f29c8..f951780 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,23 @@
+2009-12-02 Anton Muhin <antonm at chromium.org>
+
+ Reviewed by Adam Barth.:w
+
+ Allow to skip thread checks when accessing DOMDataStore for processes
+ which run V8 in single thread mode.
+ https://bugs.webkit.org/show_bug.cgi?id=31877
+
+ Should be covered by buildbots.
+
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::getDOMDataStore):
+ (WebCore::enableFasterDOMStoreAccess):
+ (WebCore::getDOMNodeMap):
+ (WebCore::getDOMObjectMap):
+ (WebCore::getActiveDOMObjectMap):
+ (WebCore::getDOMSVGElementInstanceMap):
+ (WebCore::getDOMSVGObjectWithContextMap):
+ * bindings/v8/V8DOMMap.h:
+
2009-12-02 Yury Semikhatsky <yurys at chromium.org>
Reviewed by Pavel Feldman.
diff --git a/WebCore/bindings/v8/V8DOMMap.cpp b/WebCore/bindings/v8/V8DOMMap.cpp
index 7512dff..acd88ec 100644
--- a/WebCore/bindings/v8/V8DOMMap.cpp
+++ b/WebCore/bindings/v8/V8DOMMap.cpp
@@ -48,32 +48,49 @@ DOMDataStoreHandle::~DOMDataStoreHandle()
{
}
+static bool fasterDOMStoreAccess = false;
+
+static inline DOMDataStore& getDOMDataStore()
+{
+ if (LIKELY(fasterDOMStoreAccess)) {
+ ASSERT(WTF::isMainThread());
+ return MainThreadDOMData::getCurrentMainThreadStore();
+ }
+
+ return DOMData::getCurrent()->getStore();
+}
+
+void enableFasterDOMStoreAccess()
+{
+ fasterDOMStoreAccess = true;
+}
+
DOMWrapperMap<Node>& getDOMNodeMap()
{
- return MainThreadDOMData::getCurrentMainThreadStore().domNodeMap();
+ return getDOMDataStore().domNodeMap();
}
DOMWrapperMap<void>& getDOMObjectMap()
{
- return DOMData::getCurrent()->getStore().domObjectMap();
+ return getDOMDataStore().domObjectMap();
}
DOMWrapperMap<void>& getActiveDOMObjectMap()
{
- return DOMData::getCurrent()->getStore().activeDomObjectMap();
+ return getDOMDataStore().activeDomObjectMap();
}
#if ENABLE(SVG)
DOMWrapperMap<SVGElementInstance>& getDOMSVGElementInstanceMap()
{
- return DOMData::getCurrent()->getStore().domSvgElementInstanceMap();
+ return getDOMDataStore().domSvgElementInstanceMap();
}
// Map of SVG objects with contexts to V8 objects
DOMWrapperMap<void>& getDOMSVGObjectWithContextMap()
{
- return DOMData::getCurrent()->getStore().domSvgObjectWithContextMap();
+ return getDOMDataStore().domSvgObjectWithContextMap();
}
#endif // ENABLE(SVG)
diff --git a/WebCore/bindings/v8/V8DOMMap.h b/WebCore/bindings/v8/V8DOMMap.h
index 27a8007..12605a6 100644
--- a/WebCore/bindings/v8/V8DOMMap.h
+++ b/WebCore/bindings/v8/V8DOMMap.h
@@ -139,6 +139,8 @@ namespace WebCore {
DOMWrapperMap<void>& getDOMSVGObjectWithContextMap();
void visitDOMSVGObjectsInCurrentThread(DOMWrapperMap<void>::Visitor*);
#endif
+
+ void enableFasterDOMStoreAccess();
} // namespace WebCore
#endif // V8DOMMap_h
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 0b5239a..487b601 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,14 @@
+2009-12-02 Anton Muhin <antonm at chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Allow to skip thread checks when accessing DOMDataStore for processes
+ which run V8 in single thread mode.
+ https://bugs.webkit.org/show_bug.cgi?id=31877
+
+ * src/WebScriptController.cpp:
+ (WebKit::WebScriptController::enableV8SingleThreadMode):
+
2009-12-01 Peter Kasting <pkasting at google.com>
Reviewed by Darin Fisher.
diff --git a/WebKit/chromium/src/WebScriptController.cpp b/WebKit/chromium/src/WebScriptController.cpp
index 06f47e6..d2c168d 100644
--- a/WebKit/chromium/src/WebScriptController.cpp
+++ b/WebKit/chromium/src/WebScriptController.cpp
@@ -32,6 +32,7 @@
#include "WebScriptController.h"
#include "V8Binding.h"
+#include "V8DOMMap.h"
#include "V8Proxy.h"
#include "WebString.h"
@@ -60,6 +61,7 @@ void WebScriptController::registerExtension(v8::Extension* extension,
void WebScriptController::enableV8SingleThreadMode()
{
enableStringImplCache();
+ enableFasterDOMStoreAccess();
}
void WebScriptController::flushConsoleMessages()
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list