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

abarth at webkit.org abarth at webkit.org
Wed Apr 7 23:42:18 UTC 2010


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