[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.16-1409-g5afdf4d

abarth at webkit.org abarth at webkit.org
Thu Dec 3 13:37:08 UTC 2009


The following commit has been merged in the webkit-1.1 branch:
commit 0a3a81cdd4f9a0cecd3731aab0be70f2784826d1
Author: abarth at webkit.org <abarth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Nov 15 23:34:04 2009 +0000

    2009-11-15  Dave Tapuska  <dtapuska at rim.com>
    
            Reviewed by George Staikos.
    
            Compare UChars single unit at a time as opposed to the uint32_t
            approach as casting to unaligned addresses may cause a bus failure
            on ARMv5 and below. This change replicates the same defines that
            exists in AtomicString.cpp
    
            https://bugs.webkit.org/show_bug.cgi?id=31475
    
            * platform/text/StringHash.h:
            (WebCore::StringHash::equal):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51006 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 722e17f..e1fdedf 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2009-11-15  Dave Tapuska  <dtapuska at rim.com>
+
+        Reviewed by George Staikos.
+        
+        Compare UChars single unit at a time as opposed to the uint32_t
+        approach as casting to unaligned addresses may cause a bus failure
+        on ARMv5 and below. This change replicates the same defines that
+        exists in AtomicString.cpp
+
+        https://bugs.webkit.org/show_bug.cgi?id=31475
+        
+        * platform/text/StringHash.h:
+        (WebCore::StringHash::equal):
+
 2009-11-15  Evan Martin  <evan at chromium.org>
 
         Reviewed by Adam Barth.
diff --git a/WebCore/platform/text/StringHash.h b/WebCore/platform/text/StringHash.h
index 584b677..21a478e 100644
--- a/WebCore/platform/text/StringHash.h
+++ b/WebCore/platform/text/StringHash.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved
+ * Copyright (C) Research In Motion Limited 2009. All rights reserved.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -51,6 +52,16 @@ namespace WebCore {
             if (aLength != bLength)
                 return false;
 
+#if PLATFORM(ARM) || PLATFORM(SH4)
+            const UChar* aChars = a->characters();
+            const UChar* bChars = b->characters();
+            for (unsigned i = 0; i != aLength; ++i) {
+                if (*aChars++ != *bChars++)
+                    return false;
+            }
+            return true;
+#else
+            /* Do it 4-bytes-at-a-time on architectures where it's safe */
             const uint32_t* aChars = reinterpret_cast<const uint32_t*>(a->characters());
             const uint32_t* bChars = reinterpret_cast<const uint32_t*>(b->characters());
 
@@ -63,6 +74,7 @@ namespace WebCore {
                 return false;
 
             return true;
+#endif
         }
 
         static unsigned hash(const RefPtr<StringImpl>& key) { return key->hash(); }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list