[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

kinuko at chromium.org kinuko at chromium.org
Wed Dec 22 16:09:21 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 7754dde61133820232bb99366df90754481ef23f
Author: kinuko at chromium.org <kinuko at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Nov 19 01:32:06 2010 +0000

    2010-11-18  Kinuko Yasuda  <kinuko at chromium.org>
    
            Reviewed by Nate Chapin.
    
            [V8] ASSERT(WTF::isMainThread()) fails in V8Binding::int32ToWebCoreString in workers
            https://bugs.webkit.org/show_bug.cgi?id=49613
    
            No new tests. Running existing worker tests like
            fast/workers/storage/execute-sql-args-worker.html in chromium
            would verify it.
    
            * bindings/v8/V8Binding.cpp:
            (WebCore::int32ToWebCoreStringFast):
            (WebCore::int32ToWebCoreString):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72354 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index d337e63..0c785dd 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-11-18  Kinuko Yasuda  <kinuko at chromium.org>
+
+        Reviewed by Nate Chapin.
+
+        [V8] ASSERT(WTF::isMainThread()) fails in V8Binding::int32ToWebCoreString in workers
+        https://bugs.webkit.org/show_bug.cgi?id=49613
+
+        No new tests. Running existing worker tests like
+        fast/workers/storage/execute-sql-args-worker.html in chromium
+        would verify it.
+
+        * bindings/v8/V8Binding.cpp:
+        (WebCore::int32ToWebCoreStringFast):
+        (WebCore::int32ToWebCoreString):
+
 2010-11-18  Alexey Proskuryakov  <ap at apple.com>
 
         Windows build fix.
diff --git a/WebCore/bindings/v8/V8Binding.cpp b/WebCore/bindings/v8/V8Binding.cpp
index d0bf0ca..52b23bd 100644
--- a/WebCore/bindings/v8/V8Binding.cpp
+++ b/WebCore/bindings/v8/V8Binding.cpp
@@ -368,7 +368,8 @@ StringType v8StringToWebCoreString(v8::Handle<v8::String> v8String, ExternalMode
 template String v8StringToWebCoreString<String>(v8::Handle<v8::String>, ExternalMode);
 template AtomicString v8StringToWebCoreString<AtomicString>(v8::Handle<v8::String>, ExternalMode);
 
-String int32ToWebCoreString(int value)
+// Fast but non thread-safe version.
+String int32ToWebCoreStringFast(int value)
 {
     // Caching of small strings below is not thread safe: newly constructed AtomicString
     // are not safely published.
@@ -390,6 +391,14 @@ String int32ToWebCoreString(int value)
     return webCoreString;
 }
 
+String int32ToWebCoreString(int value)
+{
+    // If we are on the main thread (this should always true for non-workers), call the faster one.
+    if (WTF::isMainThread())
+        return int32ToWebCoreStringFast(value);
+    return String::number(value);
+}
+
 String v8NonStringValueToWebCoreString(v8::Handle<v8::Value> object)
 {
     ASSERT(!object->IsString());

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list