Add DoNotOptimize and use it in tests.
Bug: http://b/148307629
Test: treehugger
Change-Id: I3b1726ae55116f6553ea38fe163abdde179c21f0
diff --git a/tests/malloc_test.cpp b/tests/malloc_test.cpp
index 4ea6d2b..ddd3416 100644
--- a/tests/malloc_test.cpp
+++ b/tests/malloc_test.cpp
@@ -925,12 +925,8 @@
std::thread* t = new std::thread([&stop] {
while (!stop) {
for (size_t size = kMinAllocationSize; size <= kMaxAllocationSize; size <<= 1) {
- void* ptr = malloc(size);
- if (ptr == nullptr) {
- return;
- }
- // Make sure this value is not optimized away.
- asm volatile("" : : "r,m"(ptr) : "memory");
+ void* ptr;
+ DoNotOptimize(ptr = malloc(size));
free(ptr);
}
}
@@ -943,10 +939,9 @@
pid_t pid;
if ((pid = fork()) == 0) {
for (size_t size = kMinAllocationSize; size <= kMaxAllocationSize; size <<= 1) {
- void* ptr = malloc(size);
+ void* ptr;
+ DoNotOptimize(ptr = malloc(size));
ASSERT_TRUE(ptr != nullptr);
- // Make sure this value is not optimized away.
- asm volatile("" : : "r,m"(ptr) : "memory");
// Make sure we can touch all of the allocation.
memset(ptr, 0x1, size);
ASSERT_LE(size, malloc_usable_size(ptr));