[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Thu Apr 8 00:11:40 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit f822b90506942e05f0ff714bec6e82094f1746cf
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