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

Side by Side Diff: syzygy/agent/asan/shadow_marker_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
« no previous file with comments | « syzygy/agent/asan/shadow_marker.cc ('k') | syzygy/agent/asan/shadow_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 20 matching lines...) Expand all
31 31
32 static const ShadowMarker kRedzoneShadowMarkers[] = { 32 static const ShadowMarker kRedzoneShadowMarkers[] = {
33 kHeapHistoricBlockStartMarker0, 33 kHeapHistoricBlockStartMarker0,
34 kHeapHistoricBlockStartMarker1, 34 kHeapHistoricBlockStartMarker1,
35 kHeapHistoricBlockStartMarker2, 35 kHeapHistoricBlockStartMarker2,
36 kHeapHistoricBlockStartMarker3, 36 kHeapHistoricBlockStartMarker3,
37 kHeapHistoricBlockStartMarker4, 37 kHeapHistoricBlockStartMarker4,
38 kHeapHistoricBlockStartMarker5, 38 kHeapHistoricBlockStartMarker5,
39 kHeapHistoricBlockStartMarker6, 39 kHeapHistoricBlockStartMarker6,
40 kHeapHistoricBlockStartMarker7, 40 kHeapHistoricBlockStartMarker7,
41 kHeapHistoricNestedBlockStartMarker0,
42 kHeapHistoricNestedBlockStartMarker1,
43 kHeapHistoricNestedBlockStartMarker2,
44 kHeapHistoricNestedBlockStartMarker3,
45 kHeapHistoricNestedBlockStartMarker4,
46 kHeapHistoricNestedBlockStartMarker5,
47 kHeapHistoricNestedBlockStartMarker6,
48 kHeapHistoricNestedBlockStartMarker7,
49 kHeapHistoricBlockEndMarker, 41 kHeapHistoricBlockEndMarker,
50 kHeapHistoricNestedBlockEndMarker,
51 kHeapHistoricLeftPaddingMarker, 42 kHeapHistoricLeftPaddingMarker,
52 kHeapHistoricRightPaddingMarker, 43 kHeapHistoricRightPaddingMarker,
53 kHeapHistoricFreedMarker, 44 kHeapHistoricFreedMarker,
54 kHeapBlockStartMarker0, 45 kHeapBlockStartMarker0,
55 kHeapBlockStartMarker1, 46 kHeapBlockStartMarker1,
56 kHeapBlockStartMarker2, 47 kHeapBlockStartMarker2,
57 kHeapBlockStartMarker3, 48 kHeapBlockStartMarker3,
58 kHeapBlockStartMarker4, 49 kHeapBlockStartMarker4,
59 kHeapBlockStartMarker5, 50 kHeapBlockStartMarker5,
60 kHeapBlockStartMarker6, 51 kHeapBlockStartMarker6,
61 kHeapBlockStartMarker7, 52 kHeapBlockStartMarker7,
62 kHeapNestedBlockStartMarker0,
63 kHeapNestedBlockStartMarker1,
64 kHeapNestedBlockStartMarker2,
65 kHeapNestedBlockStartMarker3,
66 kHeapNestedBlockStartMarker4,
67 kHeapNestedBlockStartMarker5,
68 kHeapNestedBlockStartMarker6,
69 kHeapNestedBlockStartMarker7,
70 kAsanMemoryMarker, 53 kAsanMemoryMarker,
71 kInvalidAddressMarker, 54 kInvalidAddressMarker,
72 kUserRedzoneMarker, 55 kUserRedzoneMarker,
73 kHeapBlockEndMarker, 56 kHeapBlockEndMarker,
74 kHeapNestedBlockEndMarker,
75 kHeapLeftPaddingMarker, 57 kHeapLeftPaddingMarker,
76 kHeapRightPaddingMarker, 58 kHeapRightPaddingMarker,
77 kAsanReservedMarker, 59 kAsanReservedMarker,
78 kHeapFreedMarker, 60 kHeapFreedMarker,
79 }; 61 };
80 62
81 static const ShadowMarker kActiveBlockShadowMarkers[] = { 63 static const ShadowMarker kActiveBlockShadowMarkers[] = {
82 kHeapBlockStartMarker0, 64 kHeapBlockStartMarker0,
83 kHeapBlockStartMarker1, 65 kHeapBlockStartMarker1,
84 kHeapBlockStartMarker2, 66 kHeapBlockStartMarker2,
85 kHeapBlockStartMarker3, 67 kHeapBlockStartMarker3,
86 kHeapBlockStartMarker4, 68 kHeapBlockStartMarker4,
87 kHeapBlockStartMarker5, 69 kHeapBlockStartMarker5,
88 kHeapBlockStartMarker6, 70 kHeapBlockStartMarker6,
89 kHeapBlockStartMarker7, 71 kHeapBlockStartMarker7,
90 kHeapNestedBlockStartMarker0,
91 kHeapNestedBlockStartMarker1,
92 kHeapNestedBlockStartMarker2,
93 kHeapNestedBlockStartMarker3,
94 kHeapNestedBlockStartMarker4,
95 kHeapNestedBlockStartMarker5,
96 kHeapNestedBlockStartMarker6,
97 kHeapNestedBlockStartMarker7,
98 kHeapBlockEndMarker, 72 kHeapBlockEndMarker,
99 kHeapNestedBlockEndMarker,
100 kHeapLeftPaddingMarker, 73 kHeapLeftPaddingMarker,
101 kHeapRightPaddingMarker, 74 kHeapRightPaddingMarker,
102 kHeapFreedMarker, 75 kHeapFreedMarker,
103 }; 76 };
104 77
105 static const ShadowMarker kHistoricBlockShadowMarkers[] = { 78 static const ShadowMarker kHistoricBlockShadowMarkers[] = {
106 kHeapHistoricBlockStartMarker0, 79 kHeapHistoricBlockStartMarker0,
107 kHeapHistoricBlockStartMarker1, 80 kHeapHistoricBlockStartMarker1,
108 kHeapHistoricBlockStartMarker2, 81 kHeapHistoricBlockStartMarker2,
109 kHeapHistoricBlockStartMarker3, 82 kHeapHistoricBlockStartMarker3,
110 kHeapHistoricBlockStartMarker4, 83 kHeapHistoricBlockStartMarker4,
111 kHeapHistoricBlockStartMarker5, 84 kHeapHistoricBlockStartMarker5,
112 kHeapHistoricBlockStartMarker6, 85 kHeapHistoricBlockStartMarker6,
113 kHeapHistoricBlockStartMarker7, 86 kHeapHistoricBlockStartMarker7,
114 kHeapHistoricNestedBlockStartMarker0,
115 kHeapHistoricNestedBlockStartMarker1,
116 kHeapHistoricNestedBlockStartMarker2,
117 kHeapHistoricNestedBlockStartMarker3,
118 kHeapHistoricNestedBlockStartMarker4,
119 kHeapHistoricNestedBlockStartMarker5,
120 kHeapHistoricNestedBlockStartMarker6,
121 kHeapHistoricNestedBlockStartMarker7,
122 kHeapHistoricBlockEndMarker, 87 kHeapHistoricBlockEndMarker,
123 kHeapHistoricNestedBlockEndMarker,
124 kHeapHistoricLeftPaddingMarker, 88 kHeapHistoricLeftPaddingMarker,
125 kHeapHistoricRightPaddingMarker, 89 kHeapHistoricRightPaddingMarker,
126 kHeapHistoricFreedMarker, 90 kHeapHistoricFreedMarker,
127 }; 91 };
128 92
129 static const ShadowMarker kBlockShadowMarkers[] = { 93 static const ShadowMarker kBlockShadowMarkers[] = {
130 kHeapHistoricBlockStartMarker0, 94 kHeapHistoricBlockStartMarker0,
131 kHeapHistoricBlockStartMarker1, 95 kHeapHistoricBlockStartMarker1,
132 kHeapHistoricBlockStartMarker2, 96 kHeapHistoricBlockStartMarker2,
133 kHeapHistoricBlockStartMarker3, 97 kHeapHistoricBlockStartMarker3,
134 kHeapHistoricBlockStartMarker4, 98 kHeapHistoricBlockStartMarker4,
135 kHeapHistoricBlockStartMarker5, 99 kHeapHistoricBlockStartMarker5,
136 kHeapHistoricBlockStartMarker6, 100 kHeapHistoricBlockStartMarker6,
137 kHeapHistoricBlockStartMarker7, 101 kHeapHistoricBlockStartMarker7,
138 kHeapHistoricNestedBlockStartMarker0,
139 kHeapHistoricNestedBlockStartMarker1,
140 kHeapHistoricNestedBlockStartMarker2,
141 kHeapHistoricNestedBlockStartMarker3,
142 kHeapHistoricNestedBlockStartMarker4,
143 kHeapHistoricNestedBlockStartMarker5,
144 kHeapHistoricNestedBlockStartMarker6,
145 kHeapHistoricNestedBlockStartMarker7,
146 kHeapHistoricBlockEndMarker, 102 kHeapHistoricBlockEndMarker,
147 kHeapHistoricNestedBlockEndMarker,
148 kHeapHistoricLeftPaddingMarker, 103 kHeapHistoricLeftPaddingMarker,
149 kHeapHistoricRightPaddingMarker, 104 kHeapHistoricRightPaddingMarker,
150 kHeapHistoricFreedMarker, 105 kHeapHistoricFreedMarker,
151 kHeapBlockStartMarker0, 106 kHeapBlockStartMarker0,
152 kHeapBlockStartMarker1, 107 kHeapBlockStartMarker1,
153 kHeapBlockStartMarker2, 108 kHeapBlockStartMarker2,
154 kHeapBlockStartMarker3, 109 kHeapBlockStartMarker3,
155 kHeapBlockStartMarker4, 110 kHeapBlockStartMarker4,
156 kHeapBlockStartMarker5, 111 kHeapBlockStartMarker5,
157 kHeapBlockStartMarker6, 112 kHeapBlockStartMarker6,
158 kHeapBlockStartMarker7, 113 kHeapBlockStartMarker7,
159 kHeapNestedBlockStartMarker0,
160 kHeapNestedBlockStartMarker1,
161 kHeapNestedBlockStartMarker2,
162 kHeapNestedBlockStartMarker3,
163 kHeapNestedBlockStartMarker4,
164 kHeapNestedBlockStartMarker5,
165 kHeapNestedBlockStartMarker6,
166 kHeapNestedBlockStartMarker7,
167 kHeapBlockEndMarker, 114 kHeapBlockEndMarker,
168 kHeapNestedBlockEndMarker,
169 kHeapLeftPaddingMarker, 115 kHeapLeftPaddingMarker,
170 kHeapRightPaddingMarker, 116 kHeapRightPaddingMarker,
171 kHeapFreedMarker, 117 kHeapFreedMarker,
172 }; 118 };
173 119
174 static const ShadowMarker kActiveBlockStartShadowMarkers[] = { 120 static const ShadowMarker kActiveBlockStartShadowMarkers[] = {
175 kHeapBlockStartMarker0, 121 kHeapBlockStartMarker0,
176 kHeapBlockStartMarker1, 122 kHeapBlockStartMarker1,
177 kHeapBlockStartMarker2, 123 kHeapBlockStartMarker2,
178 kHeapBlockStartMarker3, 124 kHeapBlockStartMarker3,
179 kHeapBlockStartMarker4, 125 kHeapBlockStartMarker4,
180 kHeapBlockStartMarker5, 126 kHeapBlockStartMarker5,
181 kHeapBlockStartMarker6, 127 kHeapBlockStartMarker6,
182 kHeapBlockStartMarker7, 128 kHeapBlockStartMarker7,
183 kHeapNestedBlockStartMarker0,
184 kHeapNestedBlockStartMarker1,
185 kHeapNestedBlockStartMarker2,
186 kHeapNestedBlockStartMarker3,
187 kHeapNestedBlockStartMarker4,
188 kHeapNestedBlockStartMarker5,
189 kHeapNestedBlockStartMarker6,
190 kHeapNestedBlockStartMarker7,
191 }; 129 };
192 130
193 static const ShadowMarker kHistoricBlockStartShadowMarkers[] = { 131 static const ShadowMarker kHistoricBlockStartShadowMarkers[] = {
194 kHeapHistoricBlockStartMarker0, 132 kHeapHistoricBlockStartMarker0,
195 kHeapHistoricBlockStartMarker1, 133 kHeapHistoricBlockStartMarker1,
196 kHeapHistoricBlockStartMarker2, 134 kHeapHistoricBlockStartMarker2,
197 kHeapHistoricBlockStartMarker3, 135 kHeapHistoricBlockStartMarker3,
198 kHeapHistoricBlockStartMarker4, 136 kHeapHistoricBlockStartMarker4,
199 kHeapHistoricBlockStartMarker5, 137 kHeapHistoricBlockStartMarker5,
200 kHeapHistoricBlockStartMarker6, 138 kHeapHistoricBlockStartMarker6,
201 kHeapHistoricBlockStartMarker7, 139 kHeapHistoricBlockStartMarker7,
202 kHeapHistoricNestedBlockStartMarker0,
203 kHeapHistoricNestedBlockStartMarker1,
204 kHeapHistoricNestedBlockStartMarker2,
205 kHeapHistoricNestedBlockStartMarker3,
206 kHeapHistoricNestedBlockStartMarker4,
207 kHeapHistoricNestedBlockStartMarker5,
208 kHeapHistoricNestedBlockStartMarker6,
209 kHeapHistoricNestedBlockStartMarker7,
210 }; 140 };
211 141
212 static const ShadowMarker kBlockStartShadowMarkers[] = { 142 static const ShadowMarker kBlockStartShadowMarkers[] = {
213 kHeapBlockStartMarker0, 143 kHeapBlockStartMarker0,
214 kHeapBlockStartMarker1, 144 kHeapBlockStartMarker1,
215 kHeapBlockStartMarker2, 145 kHeapBlockStartMarker2,
216 kHeapBlockStartMarker3, 146 kHeapBlockStartMarker3,
217 kHeapBlockStartMarker4, 147 kHeapBlockStartMarker4,
218 kHeapBlockStartMarker5, 148 kHeapBlockStartMarker5,
219 kHeapBlockStartMarker6, 149 kHeapBlockStartMarker6,
220 kHeapBlockStartMarker7, 150 kHeapBlockStartMarker7,
221 kHeapNestedBlockStartMarker0,
222 kHeapNestedBlockStartMarker1,
223 kHeapNestedBlockStartMarker2,
224 kHeapNestedBlockStartMarker3,
225 kHeapNestedBlockStartMarker4,
226 kHeapNestedBlockStartMarker5,
227 kHeapNestedBlockStartMarker6,
228 kHeapNestedBlockStartMarker7,
229 kHeapHistoricBlockStartMarker0, 151 kHeapHistoricBlockStartMarker0,
230 kHeapHistoricBlockStartMarker1, 152 kHeapHistoricBlockStartMarker1,
231 kHeapHistoricBlockStartMarker2, 153 kHeapHistoricBlockStartMarker2,
232 kHeapHistoricBlockStartMarker3, 154 kHeapHistoricBlockStartMarker3,
233 kHeapHistoricBlockStartMarker4, 155 kHeapHistoricBlockStartMarker4,
234 kHeapHistoricBlockStartMarker5, 156 kHeapHistoricBlockStartMarker5,
235 kHeapHistoricBlockStartMarker6, 157 kHeapHistoricBlockStartMarker6,
236 kHeapHistoricBlockStartMarker7, 158 kHeapHistoricBlockStartMarker7,
237 kHeapHistoricNestedBlockStartMarker0,
238 kHeapHistoricNestedBlockStartMarker1,
239 kHeapHistoricNestedBlockStartMarker2,
240 kHeapHistoricNestedBlockStartMarker3,
241 kHeapHistoricNestedBlockStartMarker4,
242 kHeapHistoricNestedBlockStartMarker5,
243 kHeapHistoricNestedBlockStartMarker6,
244 kHeapHistoricNestedBlockStartMarker7,
245 };
246
247 static const ShadowMarker kNestedBlockStartShadowMarkers[] = {
248 kHeapNestedBlockStartMarker0,
249 kHeapNestedBlockStartMarker1,
250 kHeapNestedBlockStartMarker2,
251 kHeapNestedBlockStartMarker3,
252 kHeapNestedBlockStartMarker4,
253 kHeapNestedBlockStartMarker5,
254 kHeapNestedBlockStartMarker6,
255 kHeapNestedBlockStartMarker7,
256 kHeapHistoricNestedBlockStartMarker0,
257 kHeapHistoricNestedBlockStartMarker1,
258 kHeapHistoricNestedBlockStartMarker2,
259 kHeapHistoricNestedBlockStartMarker3,
260 kHeapHistoricNestedBlockStartMarker4,
261 kHeapHistoricNestedBlockStartMarker5,
262 kHeapHistoricNestedBlockStartMarker6,
263 kHeapHistoricNestedBlockStartMarker7,
264 }; 159 };
265 160
266 static const ShadowMarker kActiveBlockEndShadowMarkers[] = { 161 static const ShadowMarker kActiveBlockEndShadowMarkers[] = {
267 kHeapBlockEndMarker, 162 kHeapBlockEndMarker,
268 kHeapNestedBlockEndMarker,
269 }; 163 };
270 164
271 static const ShadowMarker kHistoricBlockEndShadowMarkers[] = { 165 static const ShadowMarker kHistoricBlockEndShadowMarkers[] = {
272 kHeapHistoricBlockEndMarker, 166 kHeapHistoricBlockEndMarker,
273 kHeapHistoricNestedBlockEndMarker,
274 }; 167 };
275 168
276 static const ShadowMarker kBlockEndShadowMarkers[] = { 169 static const ShadowMarker kBlockEndShadowMarkers[] = {
277 kHeapHistoricBlockEndMarker, 170 kHeapHistoricBlockEndMarker,
278 kHeapHistoricNestedBlockEndMarker,
279 kHeapBlockEndMarker, 171 kHeapBlockEndMarker,
280 kHeapNestedBlockEndMarker,
281 };
282
283 static const ShadowMarker kNestedBlockEndShadowMarkers[] = {
284 kHeapHistoricNestedBlockEndMarker,
285 kHeapNestedBlockEndMarker,
286 }; 172 };
287 173
288 static const ShadowMarker kHistoricLeftRedzoneShadowMarkers[] = { 174 static const ShadowMarker kHistoricLeftRedzoneShadowMarkers[] = {
289 kHeapHistoricBlockStartMarker0, 175 kHeapHistoricBlockStartMarker0,
290 kHeapHistoricBlockStartMarker1, 176 kHeapHistoricBlockStartMarker1,
291 kHeapHistoricBlockStartMarker2, 177 kHeapHistoricBlockStartMarker2,
292 kHeapHistoricBlockStartMarker3, 178 kHeapHistoricBlockStartMarker3,
293 kHeapHistoricBlockStartMarker4, 179 kHeapHistoricBlockStartMarker4,
294 kHeapHistoricBlockStartMarker5, 180 kHeapHistoricBlockStartMarker5,
295 kHeapHistoricBlockStartMarker6, 181 kHeapHistoricBlockStartMarker6,
296 kHeapHistoricBlockStartMarker7, 182 kHeapHistoricBlockStartMarker7,
297 kHeapHistoricNestedBlockStartMarker0,
298 kHeapHistoricNestedBlockStartMarker1,
299 kHeapHistoricNestedBlockStartMarker2,
300 kHeapHistoricNestedBlockStartMarker3,
301 kHeapHistoricNestedBlockStartMarker4,
302 kHeapHistoricNestedBlockStartMarker5,
303 kHeapHistoricNestedBlockStartMarker6,
304 kHeapHistoricNestedBlockStartMarker7,
305 kHeapHistoricLeftPaddingMarker, 183 kHeapHistoricLeftPaddingMarker,
306 }; 184 };
307 185
308 static const ShadowMarker kActiveLeftRedzoneShadowMarkers[] = { 186 static const ShadowMarker kActiveLeftRedzoneShadowMarkers[] = {
309 kHeapBlockStartMarker0, 187 kHeapBlockStartMarker0,
310 kHeapBlockStartMarker1, 188 kHeapBlockStartMarker1,
311 kHeapBlockStartMarker2, 189 kHeapBlockStartMarker2,
312 kHeapBlockStartMarker3, 190 kHeapBlockStartMarker3,
313 kHeapBlockStartMarker4, 191 kHeapBlockStartMarker4,
314 kHeapBlockStartMarker5, 192 kHeapBlockStartMarker5,
315 kHeapBlockStartMarker6, 193 kHeapBlockStartMarker6,
316 kHeapBlockStartMarker7, 194 kHeapBlockStartMarker7,
317 kHeapNestedBlockStartMarker0,
318 kHeapNestedBlockStartMarker1,
319 kHeapNestedBlockStartMarker2,
320 kHeapNestedBlockStartMarker3,
321 kHeapNestedBlockStartMarker4,
322 kHeapNestedBlockStartMarker5,
323 kHeapNestedBlockStartMarker6,
324 kHeapNestedBlockStartMarker7,
325 kHeapLeftPaddingMarker, 195 kHeapLeftPaddingMarker,
326 }; 196 };
327 197
328 static const ShadowMarker kLeftRedzoneShadowMarkers[] = { 198 static const ShadowMarker kLeftRedzoneShadowMarkers[] = {
329 kHeapHistoricBlockStartMarker0, 199 kHeapHistoricBlockStartMarker0,
330 kHeapHistoricBlockStartMarker1, 200 kHeapHistoricBlockStartMarker1,
331 kHeapHistoricBlockStartMarker2, 201 kHeapHistoricBlockStartMarker2,
332 kHeapHistoricBlockStartMarker3, 202 kHeapHistoricBlockStartMarker3,
333 kHeapHistoricBlockStartMarker4, 203 kHeapHistoricBlockStartMarker4,
334 kHeapHistoricBlockStartMarker5, 204 kHeapHistoricBlockStartMarker5,
335 kHeapHistoricBlockStartMarker6, 205 kHeapHistoricBlockStartMarker6,
336 kHeapHistoricBlockStartMarker7, 206 kHeapHistoricBlockStartMarker7,
337 kHeapHistoricNestedBlockStartMarker0,
338 kHeapHistoricNestedBlockStartMarker1,
339 kHeapHistoricNestedBlockStartMarker2,
340 kHeapHistoricNestedBlockStartMarker3,
341 kHeapHistoricNestedBlockStartMarker4,
342 kHeapHistoricNestedBlockStartMarker5,
343 kHeapHistoricNestedBlockStartMarker6,
344 kHeapHistoricNestedBlockStartMarker7,
345 kHeapHistoricLeftPaddingMarker, 207 kHeapHistoricLeftPaddingMarker,
346 kHeapBlockStartMarker0, 208 kHeapBlockStartMarker0,
347 kHeapBlockStartMarker1, 209 kHeapBlockStartMarker1,
348 kHeapBlockStartMarker2, 210 kHeapBlockStartMarker2,
349 kHeapBlockStartMarker3, 211 kHeapBlockStartMarker3,
350 kHeapBlockStartMarker4, 212 kHeapBlockStartMarker4,
351 kHeapBlockStartMarker5, 213 kHeapBlockStartMarker5,
352 kHeapBlockStartMarker6, 214 kHeapBlockStartMarker6,
353 kHeapBlockStartMarker7, 215 kHeapBlockStartMarker7,
354 kHeapNestedBlockStartMarker0,
355 kHeapNestedBlockStartMarker1,
356 kHeapNestedBlockStartMarker2,
357 kHeapNestedBlockStartMarker3,
358 kHeapNestedBlockStartMarker4,
359 kHeapNestedBlockStartMarker5,
360 kHeapNestedBlockStartMarker6,
361 kHeapNestedBlockStartMarker7,
362 kHeapLeftPaddingMarker, 216 kHeapLeftPaddingMarker,
363 }; 217 };
364 218
365 static const ShadowMarker kHistoricRightRedzoneShadowMarkers[] = { 219 static const ShadowMarker kHistoricRightRedzoneShadowMarkers[] = {
366 kHeapHistoricBlockEndMarker, 220 kHeapHistoricBlockEndMarker,
367 kHeapHistoricNestedBlockEndMarker,
368 kHeapHistoricRightPaddingMarker, 221 kHeapHistoricRightPaddingMarker,
369 }; 222 };
370 223
371 static const ShadowMarker kActiveRightRedzoneShadowMarkers[] = { 224 static const ShadowMarker kActiveRightRedzoneShadowMarkers[] = {
372 kHeapBlockEndMarker, 225 kHeapBlockEndMarker,
373 kHeapNestedBlockEndMarker,
374 kHeapRightPaddingMarker, 226 kHeapRightPaddingMarker,
375 }; 227 };
376 228
377 static const ShadowMarker kRightRedzoneShadowMarkers[] = { 229 static const ShadowMarker kRightRedzoneShadowMarkers[] = {
378 kHeapHistoricBlockEndMarker, 230 kHeapHistoricBlockEndMarker,
379 kHeapHistoricNestedBlockEndMarker,
380 kHeapHistoricRightPaddingMarker, 231 kHeapHistoricRightPaddingMarker,
381 kHeapBlockEndMarker, 232 kHeapBlockEndMarker,
382 kHeapNestedBlockEndMarker,
383 kHeapRightPaddingMarker, 233 kHeapRightPaddingMarker,
384 }; 234 };
385 235
386 // Pointer to a query function. 236 // Pointer to a query function.
387 typedef bool (*ShadowMarkerQueryFunctionPtr)(ShadowMarkerValue marker); 237 typedef bool (*ShadowMarkerQueryFunctionPtr)(ShadowMarkerValue marker);
388 238
389 // Tests a shadow marker query function. Iterates over all markers defined in 239 // Tests a shadow marker query function. Iterates over all markers defined in
390 // both |shadow_markers_to_test| and |passing_shadow_markers|. Expects the 240 // both |shadow_markers_to_test| and |passing_shadow_markers|. Expects the
391 // function to return true if the marker is in |passing_shadow_markers|, false 241 // function to return true if the marker is in |passing_shadow_markers|, false
392 // otherwise. Markers may be defined in both lists. 242 // otherwise. Markers may be defined in both lists.
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 } 300 }
451 301
452 // This tests the various shadow marker querying functions. 302 // This tests the various shadow marker querying functions.
453 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(Redzone); 303 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(Redzone);
454 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(ActiveBlock); 304 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(ActiveBlock);
455 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(HistoricBlock); 305 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(HistoricBlock);
456 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(Block); 306 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(Block);
457 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(ActiveBlockStart); 307 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(ActiveBlockStart);
458 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(HistoricBlockStart); 308 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(HistoricBlockStart);
459 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(BlockStart); 309 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(BlockStart);
460 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(NestedBlockStart);
461 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(ActiveBlockEnd); 310 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(ActiveBlockEnd);
462 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(HistoricBlockEnd); 311 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(HistoricBlockEnd);
463 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(BlockEnd); 312 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(BlockEnd);
464 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(NestedBlockEnd);
465 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(HistoricLeftRedzone); 313 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(HistoricLeftRedzone);
466 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(ActiveLeftRedzone); 314 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(ActiveLeftRedzone);
467 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(LeftRedzone); 315 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(LeftRedzone);
468 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(HistoricRightRedzone); 316 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(HistoricRightRedzone);
469 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(ActiveRightRedzone); 317 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(ActiveRightRedzone);
470 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(RightRedzone); 318 TEST_SHADOW_MARKER_FUNCTION_COMPLETE(RightRedzone);
471 #undef TEST_SHADOW_MARKER_FUNCTION_COMPLETE 319 #undef TEST_SHADOW_MARKER_FUNCTION_COMPLETE
472 320
473 TEST(ShadowMarkerHelperTest, GetBlockStartData) { 321 TEST(ShadowMarkerHelperTest, GetBlockStartData) {
474 EXPECT_EQ(0u, ShadowMarkerHelper::GetBlockStartData( 322 EXPECT_EQ(0u, ShadowMarkerHelper::GetBlockStartData(
475 kHeapHistoricBlockStartMarker0)); 323 kHeapHistoricBlockStartMarker0));
476 EXPECT_EQ(1u, ShadowMarkerHelper::GetBlockStartData( 324 EXPECT_EQ(1u, ShadowMarkerHelper::GetBlockStartData(
477 kHeapHistoricBlockStartMarker1)); 325 kHeapHistoricBlockStartMarker1));
478 EXPECT_EQ(2u, ShadowMarkerHelper::GetBlockStartData( 326 EXPECT_EQ(2u, ShadowMarkerHelper::GetBlockStartData(
479 kHeapHistoricBlockStartMarker2)); 327 kHeapHistoricBlockStartMarker2));
480 EXPECT_EQ(3u, ShadowMarkerHelper::GetBlockStartData( 328 EXPECT_EQ(3u, ShadowMarkerHelper::GetBlockStartData(
481 kHeapHistoricBlockStartMarker3)); 329 kHeapHistoricBlockStartMarker3));
482 EXPECT_EQ(4u, ShadowMarkerHelper::GetBlockStartData( 330 EXPECT_EQ(4u, ShadowMarkerHelper::GetBlockStartData(
483 kHeapHistoricBlockStartMarker4)); 331 kHeapHistoricBlockStartMarker4));
484 EXPECT_EQ(5u, ShadowMarkerHelper::GetBlockStartData( 332 EXPECT_EQ(5u, ShadowMarkerHelper::GetBlockStartData(
485 kHeapHistoricBlockStartMarker5)); 333 kHeapHistoricBlockStartMarker5));
486 EXPECT_EQ(6u, ShadowMarkerHelper::GetBlockStartData( 334 EXPECT_EQ(6u, ShadowMarkerHelper::GetBlockStartData(
487 kHeapHistoricBlockStartMarker6)); 335 kHeapHistoricBlockStartMarker6));
488 EXPECT_EQ(7u, ShadowMarkerHelper::GetBlockStartData( 336 EXPECT_EQ(7u, ShadowMarkerHelper::GetBlockStartData(
489 kHeapHistoricBlockStartMarker7)); 337 kHeapHistoricBlockStartMarker7));
490 EXPECT_EQ(0u, ShadowMarkerHelper::GetBlockStartData( 338 EXPECT_EQ(0u, ShadowMarkerHelper::GetBlockStartData(
491 kHeapHistoricNestedBlockStartMarker0));
492 EXPECT_EQ(1u, ShadowMarkerHelper::GetBlockStartData(
493 kHeapHistoricNestedBlockStartMarker1));
494 EXPECT_EQ(2u, ShadowMarkerHelper::GetBlockStartData(
495 kHeapHistoricNestedBlockStartMarker2));
496 EXPECT_EQ(3u, ShadowMarkerHelper::GetBlockStartData(
497 kHeapHistoricNestedBlockStartMarker3));
498 EXPECT_EQ(4u, ShadowMarkerHelper::GetBlockStartData(
499 kHeapHistoricNestedBlockStartMarker4));
500 EXPECT_EQ(5u, ShadowMarkerHelper::GetBlockStartData(
501 kHeapHistoricNestedBlockStartMarker5));
502 EXPECT_EQ(6u, ShadowMarkerHelper::GetBlockStartData(
503 kHeapHistoricNestedBlockStartMarker6));
504 EXPECT_EQ(7u, ShadowMarkerHelper::GetBlockStartData(
505 kHeapHistoricNestedBlockStartMarker7));
506 EXPECT_EQ(0u, ShadowMarkerHelper::GetBlockStartData(
507 kHeapBlockStartMarker0)); 339 kHeapBlockStartMarker0));
508 EXPECT_EQ(1u, ShadowMarkerHelper::GetBlockStartData( 340 EXPECT_EQ(1u, ShadowMarkerHelper::GetBlockStartData(
509 kHeapBlockStartMarker1)); 341 kHeapBlockStartMarker1));
510 EXPECT_EQ(2u, ShadowMarkerHelper::GetBlockStartData( 342 EXPECT_EQ(2u, ShadowMarkerHelper::GetBlockStartData(
511 kHeapBlockStartMarker2)); 343 kHeapBlockStartMarker2));
512 EXPECT_EQ(3u, ShadowMarkerHelper::GetBlockStartData( 344 EXPECT_EQ(3u, ShadowMarkerHelper::GetBlockStartData(
513 kHeapBlockStartMarker3)); 345 kHeapBlockStartMarker3));
514 EXPECT_EQ(4u, ShadowMarkerHelper::GetBlockStartData( 346 EXPECT_EQ(4u, ShadowMarkerHelper::GetBlockStartData(
515 kHeapBlockStartMarker4)); 347 kHeapBlockStartMarker4));
516 EXPECT_EQ(5u, ShadowMarkerHelper::GetBlockStartData( 348 EXPECT_EQ(5u, ShadowMarkerHelper::GetBlockStartData(
517 kHeapBlockStartMarker5)); 349 kHeapBlockStartMarker5));
518 EXPECT_EQ(6u, ShadowMarkerHelper::GetBlockStartData( 350 EXPECT_EQ(6u, ShadowMarkerHelper::GetBlockStartData(
519 kHeapBlockStartMarker6)); 351 kHeapBlockStartMarker6));
520 EXPECT_EQ(7u, ShadowMarkerHelper::GetBlockStartData( 352 EXPECT_EQ(7u, ShadowMarkerHelper::GetBlockStartData(
521 kHeapBlockStartMarker7)); 353 kHeapBlockStartMarker7));
522 EXPECT_EQ(0u, ShadowMarkerHelper::GetBlockStartData(
523 kHeapNestedBlockStartMarker0));
524 EXPECT_EQ(1u, ShadowMarkerHelper::GetBlockStartData(
525 kHeapNestedBlockStartMarker1));
526 EXPECT_EQ(2u, ShadowMarkerHelper::GetBlockStartData(
527 kHeapNestedBlockStartMarker2));
528 EXPECT_EQ(3u, ShadowMarkerHelper::GetBlockStartData(
529 kHeapNestedBlockStartMarker3));
530 EXPECT_EQ(4u, ShadowMarkerHelper::GetBlockStartData(
531 kHeapNestedBlockStartMarker4));
532 EXPECT_EQ(5u, ShadowMarkerHelper::GetBlockStartData(
533 kHeapNestedBlockStartMarker5));
534 EXPECT_EQ(6u, ShadowMarkerHelper::GetBlockStartData(
535 kHeapNestedBlockStartMarker6));
536 EXPECT_EQ(7u, ShadowMarkerHelper::GetBlockStartData(
537 kHeapNestedBlockStartMarker7));
538 } 354 }
539 355
540 TEST(ShadowMarkerHelper, ToHistoric) { 356 TEST(ShadowMarkerHelper, ToHistoric) {
541 EXPECT_EQ(kHeapHistoricBlockStartMarker0, 357 EXPECT_EQ(kHeapHistoricBlockStartMarker0,
542 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker0)); 358 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker0));
543 EXPECT_EQ(kHeapHistoricBlockStartMarker1, 359 EXPECT_EQ(kHeapHistoricBlockStartMarker1,
544 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker1)); 360 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker1));
545 EXPECT_EQ(kHeapHistoricBlockStartMarker2, 361 EXPECT_EQ(kHeapHistoricBlockStartMarker2,
546 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker2)); 362 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker2));
547 EXPECT_EQ(kHeapHistoricBlockStartMarker3, 363 EXPECT_EQ(kHeapHistoricBlockStartMarker3,
548 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker3)); 364 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker3));
549 EXPECT_EQ(kHeapHistoricBlockStartMarker4, 365 EXPECT_EQ(kHeapHistoricBlockStartMarker4,
550 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker4)); 366 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker4));
551 EXPECT_EQ(kHeapHistoricBlockStartMarker5, 367 EXPECT_EQ(kHeapHistoricBlockStartMarker5,
552 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker5)); 368 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker5));
553 EXPECT_EQ(kHeapHistoricBlockStartMarker6, 369 EXPECT_EQ(kHeapHistoricBlockStartMarker6,
554 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker6)); 370 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker6));
555 EXPECT_EQ(kHeapHistoricBlockStartMarker7, 371 EXPECT_EQ(kHeapHistoricBlockStartMarker7,
556 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker7)); 372 ShadowMarkerHelper::ToHistoric(kHeapBlockStartMarker7));
557 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker0,
558 ShadowMarkerHelper::ToHistoric(kHeapNestedBlockStartMarker0));
559 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker1,
560 ShadowMarkerHelper::ToHistoric(kHeapNestedBlockStartMarker1));
561 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker2,
562 ShadowMarkerHelper::ToHistoric(kHeapNestedBlockStartMarker2));
563 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker3,
564 ShadowMarkerHelper::ToHistoric(kHeapNestedBlockStartMarker3));
565 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker4,
566 ShadowMarkerHelper::ToHistoric(kHeapNestedBlockStartMarker4));
567 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker5,
568 ShadowMarkerHelper::ToHistoric(kHeapNestedBlockStartMarker5));
569 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker6,
570 ShadowMarkerHelper::ToHistoric(kHeapNestedBlockStartMarker6));
571 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker7,
572 ShadowMarkerHelper::ToHistoric(kHeapNestedBlockStartMarker7));
573 EXPECT_EQ(kHeapHistoricBlockEndMarker, 373 EXPECT_EQ(kHeapHistoricBlockEndMarker,
574 ShadowMarkerHelper::ToHistoric(kHeapBlockEndMarker)); 374 ShadowMarkerHelper::ToHistoric(kHeapBlockEndMarker));
575 EXPECT_EQ(kHeapHistoricNestedBlockEndMarker,
576 ShadowMarkerHelper::ToHistoric(kHeapNestedBlockEndMarker));
577 EXPECT_EQ(kHeapHistoricLeftPaddingMarker, 375 EXPECT_EQ(kHeapHistoricLeftPaddingMarker,
578 ShadowMarkerHelper::ToHistoric(kHeapLeftPaddingMarker)); 376 ShadowMarkerHelper::ToHistoric(kHeapLeftPaddingMarker));
579 EXPECT_EQ(kHeapHistoricRightPaddingMarker, 377 EXPECT_EQ(kHeapHistoricRightPaddingMarker,
580 ShadowMarkerHelper::ToHistoric(kHeapRightPaddingMarker)); 378 ShadowMarkerHelper::ToHistoric(kHeapRightPaddingMarker));
581 EXPECT_EQ(kHeapHistoricFreedMarker, 379 EXPECT_EQ(kHeapHistoricFreedMarker,
582 ShadowMarkerHelper::ToHistoric(kHeapFreedMarker)); 380 ShadowMarkerHelper::ToHistoric(kHeapFreedMarker));
583 } 381 }
584 382
585 TEST(ShadowMarkerHelper, BuildBlockStart) { 383 TEST(ShadowMarkerHelper, BuildBlockStart) {
586 EXPECT_EQ(kHeapHistoricBlockStartMarker0, 384 EXPECT_EQ(kHeapHistoricBlockStartMarker0,
587 ShadowMarkerHelper::BuildBlockStart(false, false, 0)); 385 ShadowMarkerHelper::BuildBlockStart(false, 0));
588 EXPECT_EQ(kHeapHistoricBlockStartMarker1, 386 EXPECT_EQ(kHeapHistoricBlockStartMarker1,
589 ShadowMarkerHelper::BuildBlockStart(false, false, 1)); 387 ShadowMarkerHelper::BuildBlockStart(false, 1));
590 EXPECT_EQ(kHeapHistoricBlockStartMarker2, 388 EXPECT_EQ(kHeapHistoricBlockStartMarker2,
591 ShadowMarkerHelper::BuildBlockStart(false, false, 2)); 389 ShadowMarkerHelper::BuildBlockStart(false, 2));
592 EXPECT_EQ(kHeapHistoricBlockStartMarker3, 390 EXPECT_EQ(kHeapHistoricBlockStartMarker3,
593 ShadowMarkerHelper::BuildBlockStart(false, false, 3)); 391 ShadowMarkerHelper::BuildBlockStart(false, 3));
594 EXPECT_EQ(kHeapHistoricBlockStartMarker4, 392 EXPECT_EQ(kHeapHistoricBlockStartMarker4,
595 ShadowMarkerHelper::BuildBlockStart(false, false, 4)); 393 ShadowMarkerHelper::BuildBlockStart(false, 4));
596 EXPECT_EQ(kHeapHistoricBlockStartMarker5, 394 EXPECT_EQ(kHeapHistoricBlockStartMarker5,
597 ShadowMarkerHelper::BuildBlockStart(false, false, 5)); 395 ShadowMarkerHelper::BuildBlockStart(false, 5));
598 EXPECT_EQ(kHeapHistoricBlockStartMarker6, 396 EXPECT_EQ(kHeapHistoricBlockStartMarker6,
599 ShadowMarkerHelper::BuildBlockStart(false, false, 6)); 397 ShadowMarkerHelper::BuildBlockStart(false, 6));
600 EXPECT_EQ(kHeapHistoricBlockStartMarker7, 398 EXPECT_EQ(kHeapHistoricBlockStartMarker7,
601 ShadowMarkerHelper::BuildBlockStart(false, false, 7)); 399 ShadowMarkerHelper::BuildBlockStart(false, 7));
602
603 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker0,
604 ShadowMarkerHelper::BuildBlockStart(false, true, 0));
605 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker1,
606 ShadowMarkerHelper::BuildBlockStart(false, true, 1));
607 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker2,
608 ShadowMarkerHelper::BuildBlockStart(false, true, 2));
609 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker3,
610 ShadowMarkerHelper::BuildBlockStart(false, true, 3));
611 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker4,
612 ShadowMarkerHelper::BuildBlockStart(false, true, 4));
613 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker5,
614 ShadowMarkerHelper::BuildBlockStart(false, true, 5));
615 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker6,
616 ShadowMarkerHelper::BuildBlockStart(false, true, 6));
617 EXPECT_EQ(kHeapHistoricNestedBlockStartMarker7,
618 ShadowMarkerHelper::BuildBlockStart(false, true, 7));
619 400
620 EXPECT_EQ(kHeapBlockStartMarker0, 401 EXPECT_EQ(kHeapBlockStartMarker0,
621 ShadowMarkerHelper::BuildBlockStart(true, false, 0)); 402 ShadowMarkerHelper::BuildBlockStart(true, 0));
622 EXPECT_EQ(kHeapBlockStartMarker1, 403 EXPECT_EQ(kHeapBlockStartMarker1,
623 ShadowMarkerHelper::BuildBlockStart(true, false, 1)); 404 ShadowMarkerHelper::BuildBlockStart(true, 1));
624 EXPECT_EQ(kHeapBlockStartMarker2, 405 EXPECT_EQ(kHeapBlockStartMarker2,
625 ShadowMarkerHelper::BuildBlockStart(true, false, 2)); 406 ShadowMarkerHelper::BuildBlockStart(true, 2));
626 EXPECT_EQ(kHeapBlockStartMarker3, 407 EXPECT_EQ(kHeapBlockStartMarker3,
627 ShadowMarkerHelper::BuildBlockStart(true, false, 3)); 408 ShadowMarkerHelper::BuildBlockStart(true, 3));
628 EXPECT_EQ(kHeapBlockStartMarker4, 409 EXPECT_EQ(kHeapBlockStartMarker4,
629 ShadowMarkerHelper::BuildBlockStart(true, false, 4)); 410 ShadowMarkerHelper::BuildBlockStart(true, 4));
630 EXPECT_EQ(kHeapBlockStartMarker5, 411 EXPECT_EQ(kHeapBlockStartMarker5,
631 ShadowMarkerHelper::BuildBlockStart(true, false, 5)); 412 ShadowMarkerHelper::BuildBlockStart(true, 5));
632 EXPECT_EQ(kHeapBlockStartMarker6, 413 EXPECT_EQ(kHeapBlockStartMarker6,
633 ShadowMarkerHelper::BuildBlockStart(true, false, 6)); 414 ShadowMarkerHelper::BuildBlockStart(true, 6));
634 EXPECT_EQ(kHeapBlockStartMarker7, 415 EXPECT_EQ(kHeapBlockStartMarker7,
635 ShadowMarkerHelper::BuildBlockStart(true, false, 7)); 416 ShadowMarkerHelper::BuildBlockStart(true, 7));
636
637 EXPECT_EQ(kHeapNestedBlockStartMarker0,
638 ShadowMarkerHelper::BuildBlockStart(true, true, 0));
639 EXPECT_EQ(kHeapNestedBlockStartMarker1,
640 ShadowMarkerHelper::BuildBlockStart(true, true, 1));
641 EXPECT_EQ(kHeapNestedBlockStartMarker2,
642 ShadowMarkerHelper::BuildBlockStart(true, true, 2));
643 EXPECT_EQ(kHeapNestedBlockStartMarker3,
644 ShadowMarkerHelper::BuildBlockStart(true, true, 3));
645 EXPECT_EQ(kHeapNestedBlockStartMarker4,
646 ShadowMarkerHelper::BuildBlockStart(true, true, 4));
647 EXPECT_EQ(kHeapNestedBlockStartMarker5,
648 ShadowMarkerHelper::BuildBlockStart(true, true, 5));
649 EXPECT_EQ(kHeapNestedBlockStartMarker6,
650 ShadowMarkerHelper::BuildBlockStart(true, true, 6));
651 EXPECT_EQ(kHeapNestedBlockStartMarker7,
652 ShadowMarkerHelper::BuildBlockStart(true, true, 7));
653 } 417 }
654 418
655 TEST(ShadowMarkerHelper, BuildBlockEnd) { 419 TEST(ShadowMarkerHelper, BuildBlockEnd) {
656 EXPECT_EQ(kHeapHistoricBlockEndMarker, 420 EXPECT_EQ(kHeapHistoricBlockEndMarker,
657 ShadowMarkerHelper::BuildBlockEnd(false, false)); 421 ShadowMarkerHelper::BuildBlockEnd(false));
658 EXPECT_EQ(kHeapHistoricNestedBlockEndMarker, 422 EXPECT_EQ(kHeapBlockEndMarker, ShadowMarkerHelper::BuildBlockEnd(true));
659 ShadowMarkerHelper::BuildBlockEnd(false, true));
660 EXPECT_EQ(kHeapBlockEndMarker,
661 ShadowMarkerHelper::BuildBlockEnd(true, false));
662 EXPECT_EQ(kHeapNestedBlockEndMarker,
663 ShadowMarkerHelper::BuildBlockEnd(true, true));
664 } 423 }
665 424
666 } // namespace asan 425 } // namespace asan
667 } // namespace agent 426 } // namespace agent
OLDNEW
« no previous file with comments | « syzygy/agent/asan/shadow_marker.cc ('k') | syzygy/agent/asan/shadow_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698