Title: [170536] trunk/Source/WTF
Revision
170536
Author
[email protected]
Date
2014-06-27 11:06:41 -0700 (Fri, 27 Jun 2014)

Log Message

[ARMv7] Skip one particularly expensive fastFree() alignment check.
<https://webkit.org/b/134402>

The size class alignment check in fastFree() was crazy expensive on ARMv7
due to its use of modulo. Disabling it shaves 470ms off of PLT main thread
time in the web process.

Note that this was very hard to identify in profiles due to TCO.

Reviewed by Gavin Barraclough.

* wtf/FastMalloc.cpp:
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (170535 => 170536)


--- trunk/Source/WTF/ChangeLog	2014-06-27 17:50:36 UTC (rev 170535)
+++ trunk/Source/WTF/ChangeLog	2014-06-27 18:06:41 UTC (rev 170536)
@@ -1,3 +1,19 @@
+2014-06-27  Andreas Kling  <[email protected]>
+
+        [ARMv7] Skip one particularly expensive fastFree() alignment check.
+        <https://webkit.org/b/134402>
+
+        The size class alignment check in fastFree() was crazy expensive on ARMv7
+        due to its use of modulo. Disabling it shaves 470ms off of PLT main thread
+        time in the web process.
+
+        Note that this was very hard to identify in profiles due to TCO.
+
+        Reviewed by Gavin Barraclough.
+
+        * wtf/FastMalloc.cpp:
+        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
+
 2014-06-26  Andreas Kling  <[email protected]>
 
         Bump FastMalloc thread cache max size to 1MB on iOS.

Modified: trunk/Source/WTF/wtf/FastMalloc.cpp (170535 => 170536)


--- trunk/Source/WTF/wtf/FastMalloc.cpp	2014-06-27 17:50:36 UTC (rev 170535)
+++ trunk/Source/WTF/wtf/FastMalloc.cpp	2014-06-27 18:06:41 UTC (rev 170536)
@@ -4168,7 +4168,9 @@
 
   if (cl) {
     size_t byteSizeForClass = ByteSizeForClass(cl);
+#if !(CPU(ARM_THUMB2) && !CPU(APPLE_ARMV7S))
     RELEASE_ASSERT(!((reinterpret_cast<char*>(ptr) - reinterpret_cast<char*>(span->start << kPageShift)) % byteSizeForClass));
+#endif
     pageheap->CacheSizeClass(p, cl);
 
 #ifndef NO_TCMALLOC_SAMPLES
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to