Title: [211272] branches/safari-603-branch/Source/WebCore
Revision
211272
Author
matthew_han...@apple.com
Date
2017-01-27 00:02:25 -0800 (Fri, 27 Jan 2017)

Log Message

Merge r211241. rdar://problem/30099051

Modified Paths

Diff

Modified: branches/safari-603-branch/Source/WebCore/ChangeLog (211271 => 211272)


--- branches/safari-603-branch/Source/WebCore/ChangeLog	2017-01-27 08:02:23 UTC (rev 211271)
+++ branches/safari-603-branch/Source/WebCore/ChangeLog	2017-01-27 08:02:25 UTC (rev 211272)
@@ -1,5 +1,22 @@
 2017-01-26  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r211241. rdar://problem/30099051
+
+    2017-01-26  Joseph Pecoraro  <pecor...@apple.com>
+
+            Web Inspector: iOS: Memory timeline shows impossible values for Page size (underflowed)
+            https://bugs.webkit.org/show_bug.cgi?id=167468
+            <rdar://problem/30099051>
+
+            Reviewed by Andreas Kling.
+
+            * page/cocoa/ResourceUsageThreadCocoa.mm:
+            (WebCore::vmPageSize):
+            This value matches the sysctl value we were attempting to access, and is
+            the most appropriate when dealing with mach APIs, as we are using here.
+
+2017-01-26  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r211235. rdar://problem/30058933
 
     2017-01-26  Jeremy Jones  <jere...@apple.com>

Modified: branches/safari-603-branch/Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm (211271 => 211272)


--- branches/safari-603-branch/Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm	2017-01-27 08:02:23 UTC (rev 211271)
+++ branches/safari-603-branch/Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm	2017-01-27 08:02:25 UTC (rev 211272)
@@ -34,21 +34,17 @@
 #include <mach/mach.h>
 #include <mach/vm_statistics.h>
 #include <runtime/VM.h>
-#include <sys/sysctl.h>
 
 namespace WebCore {
 
 static size_t vmPageSize()
 {
-    static size_t pageSize;
-    static std::once_flag onceFlag;
-    std::call_once(onceFlag, [&] {
-        size_t outputSize = sizeof(pageSize);
-        int status = sysctlbyname("vm.pagesize", &pageSize, &outputSize, nullptr, 0);
-        ASSERT_UNUSED(status, status != -1);
-        ASSERT(pageSize);
-    });
-    return pageSize;
+#if PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 100000
+    return vm_kernel_page_size;
+#else
+    static size_t cached = sysconf(_SC_PAGESIZE);
+    return cached;
+#endif
 }
 
 void logFootprintComparison(const std::array<TagInfo, 256>& before, const std::array<TagInfo, 256>& after)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to