Diff
Modified: trunk/PerformanceTests/ChangeLog (223025 => 223026)
--- trunk/PerformanceTests/ChangeLog 2017-10-08 02:06:28 UTC (rev 223025)
+++ trunk/PerformanceTests/ChangeLog 2017-10-08 02:55:44 UTC (rev 223026)
@@ -1,3 +1,23 @@
+2017-10-07 Yusuke Suzuki <[email protected]>
+
+ Unreviewed, build fix for MallocBench in Linux 32bit
+ https://bugs.webkit.org/show_bug.cgi?id=177856
+
+ * MallocBench/MallocBench/Interpreter.cpp:
+ (Interpreter::Interpreter):
+ (Interpreter::readOps):
+ Suppress warnings in some GCC versions.
+
+ * MallocBench/MallocBench/big.cpp:
+ (benchmark_big):
+ * MallocBench/MallocBench/medium.cpp:
+ (benchmark_medium):
+ Build fix for Linux 32bit.
+
+ * MallocBench/MallocBench/message.cpp:
+ (benchmark_message_many):
+ Use more efficient WorkQueue allocation.
+
2017-10-05 Yusuke Suzuki <[email protected]>
Unreviewed, use std::vector instead of variable length array
Modified: trunk/PerformanceTests/MallocBench/MallocBench/Interpreter.cpp (223025 => 223026)
--- trunk/PerformanceTests/MallocBench/MallocBench/Interpreter.cpp 2017-10-08 02:06:28 UTC (rev 223025)
+++ trunk/PerformanceTests/MallocBench/MallocBench/Interpreter.cpp 2017-10-08 02:55:44 UTC (rev 223026)
@@ -42,6 +42,8 @@
#include "mbmalloc.h"
+#define UNUSED_PARAM(variable) (void)variable
+
Interpreter::Interpreter(const char* fileName, bool shouldFreeAllObjects, bool useThreadId)
: m_shouldFreeAllObjects(shouldFreeAllObjects)
, m_useThreadId(useThreadId)
@@ -68,7 +70,8 @@
while (remaining) {
size_t bytes = std::min(remaining, ops.size() * sizeof(Op));
remaining -= bytes;
- read(m_fd, ops.data(), bytes);
+ auto ret = read(m_fd, ops.data(), bytes);
+ UNUSED_PARAM(ret);
size_t opCount = bytes / sizeof(Op);
for (size_t i = 0; i < opCount; ++i) {
@@ -124,7 +127,8 @@
size_t bytes = std::min(m_remaining, m_ops.size() * sizeof(Op));
m_remaining -= bytes;
- read(m_fd, m_ops.data(), bytes);
+ auto ret = read(m_fd, m_ops.data(), bytes);
+ UNUSED_PARAM(ret);
m_opsCursor = 0;
m_opsInBuffer = bytes / sizeof(Op);
Modified: trunk/PerformanceTests/MallocBench/MallocBench/big.cpp (223025 => 223026)
--- trunk/PerformanceTests/MallocBench/MallocBench/big.cpp 2017-10-08 02:06:28 UTC (rev 223025)
+++ trunk/PerformanceTests/MallocBench/MallocBench/big.cpp 2017-10-08 02:55:44 UTC (rev 223026)
@@ -58,7 +58,7 @@
bzero(objects, objectCount * sizeof(Object));
for (size_t i = 0, remaining = vmSize; remaining > objectSizeMin; ++i) {
- size_t size = min(remaining, max(objectSizeMin, random() % objectSizeMax));
+ size_t size = min<size_t>(remaining, max<size_t>(objectSizeMin, random() % objectSizeMax));
objects[i] = { (double*)mbmalloc(size), size };
bzero(objects[i].p, size);
remaining -= size;
Modified: trunk/PerformanceTests/MallocBench/MallocBench/medium.cpp (223025 => 223026)
--- trunk/PerformanceTests/MallocBench/MallocBench/medium.cpp 2017-10-08 02:06:28 UTC (rev 223025)
+++ trunk/PerformanceTests/MallocBench/MallocBench/medium.cpp 2017-10-08 02:55:44 UTC (rev 223026)
@@ -58,7 +58,7 @@
bzero(objects, objectCount * sizeof(Object));
for (size_t i = 0, remaining = vmSize; remaining > objectSizeMin; ++i) {
- size_t size = min(remaining, max(objectSizeMin, random() % objectSizeMax));
+ size_t size = min<size_t>(remaining, max<size_t>(objectSizeMin, random() % objectSizeMax));
objects[i] = { (double*)mbmalloc(size), size };
bzero(objects[i].p, size);
remaining -= size;
Modified: trunk/PerformanceTests/MallocBench/MallocBench/message.cpp (223025 => 223026)
--- trunk/PerformanceTests/MallocBench/MallocBench/message.cpp 2017-10-08 02:06:28 UTC (rev 223025)
+++ trunk/PerformanceTests/MallocBench/MallocBench/message.cpp 2017-10-08 02:55:44 UTC (rev 223026)
@@ -210,16 +210,12 @@
const size_t quantum = 16;
const size_t queueCount = cpuCount() - 1;
- std::vector<std::unique_ptr<WorkQueue>> queues;
- queues.reserve(queueCount);
- for (size_t i = 0; i < queueCount; ++i)
- queues.emplace_back(std::make_unique<WorkQueue>());
-
+ auto queues = std::make_unique<WorkQueue[]>(queueCount);
for (size_t i = 0; i < times; i += quantum) {
for (size_t j = 0; j < quantum; ++j) {
for (size_t k = 0; k < queueCount; ++k) {
Message* message = new Message;
- queues[k]->dispatchAsync([message] {
+ queues[k].dispatchAsync([message] {
size_t hash = message->hash();
if (hash)
abort();
@@ -229,9 +225,9 @@
}
for (size_t i = 0; i < queueCount; ++i)
- queues[i]->dispatchSync([] { });
+ queues[i].dispatchSync([] { });
}
for (size_t i = 0; i < queueCount; ++i)
- queues[i]->dispatchSync([] { });
+ queues[i].dispatchSync([] { });
}