[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