Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: syzygy/agent/asan/heaps/simple_block_heap_unittest.cc

Issue 2508333002: Remove the is_nested bit from the BlockInfo structure. (Closed)
Patch Set: Address Siggi's comments. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 Google Inc. All Rights Reserved. 1 // Copyright 2014 Google Inc. All Rights Reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 TEST(SimpleBlockHeapTest, EndToEnd) { 49 TEST(SimpleBlockHeapTest, EndToEnd) {
50 WinHeap win_heap; 50 WinHeap win_heap;
51 SimpleBlockHeap h(&win_heap); 51 SimpleBlockHeap h(&win_heap);
52 52
53 BlockLayout layout = {}; 53 BlockLayout layout = {};
54 BlockInfo block = {}; 54 BlockInfo block = {};
55 55
56 // Allocate and free a zero-sized allocation. This should succeed 56 // Allocate and free a zero-sized allocation. This should succeed
57 // by definition. 57 // by definition.
58 void* alloc = h.AllocateBlock(0, 0, 0, &layout); 58 void* alloc = h.AllocateBlock(0, 0, 0, &layout);
59 BlockInitialize(layout, alloc, false, &block); 59 BlockInitialize(layout, alloc, &block);
60 EXPECT_TRUE(h.FreeBlock(block)); 60 EXPECT_TRUE(h.FreeBlock(block));
61 61
62 // Make a bunch of different sized allocations. 62 // Make a bunch of different sized allocations.
63 BlockInfoSet blocks; 63 BlockInfoSet blocks;
64 for (uint32_t i = 1; i < 1024 * 1024; i <<= 1) { 64 for (uint32_t i = 1; i < 1024 * 1024; i <<= 1) {
65 void* alloc = h.AllocateBlock(i, 0, 0, &layout); 65 void* alloc = h.AllocateBlock(i, 0, 0, &layout);
66 BlockInitialize(layout, alloc, false, &block); 66 BlockInitialize(layout, alloc, &block);
67 blocks.insert(block); 67 blocks.insert(block);
68 } 68 }
69 69
70 // Now free them. 70 // Now free them.
71 BlockInfoSet::const_iterator it = blocks.begin(); 71 BlockInfoSet::const_iterator it = blocks.begin();
72 for (; it != blocks.end(); ++it) 72 for (; it != blocks.end(); ++it)
73 EXPECT_TRUE(h.FreeBlock(*it)); 73 EXPECT_TRUE(h.FreeBlock(*it));
74 } 74 }
75 75
76 TEST(SimpleBlockHeap, IsAllocated) { 76 TEST(SimpleBlockHeap, IsAllocated) {
(...skipping 16 matching lines...) Expand all
93 93
94 h.Lock(); 94 h.Lock();
95 EXPECT_TRUE(h.TryLock()); 95 EXPECT_TRUE(h.TryLock());
96 h.Unlock(); 96 h.Unlock();
97 h.Unlock(); 97 h.Unlock();
98 } 98 }
99 99
100 } // namespace heaps 100 } // namespace heaps
101 } // namespace asan 101 } // namespace asan
102 } // namespace agent 102 } // namespace agent
OLDNEW
« no previous file with comments | « syzygy/agent/asan/heaps/large_block_heap_unittest.cc ('k') | syzygy/agent/asan/heaps/zebra_block_heap_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698