1{
2  "components": [
3    "second",
4    "mmap-profiler",
5    "mmap-type-profiler",
6    "mmap-tcmalloc",
7    "FROM_HERE_FOR_TOTAL",
8    "mustbezero",
9    "unhooked-absent",
10    "unhooked-ashmem-dalvik-heap",
11    "unhooked-ashmem-dalvik-LinearAlloc",
12    "unhooked-ashmem-dalvik-aux-structure",
13    "unhooked-ashmem-dalvik-bitmap",
14    "unhooked-ashmem-dalvik-other",
15    "unhooked-pvrsrvkm",
16    "unhooked-system-dex",
17    "unhooked-chrome-dex",
18    "unhooked-other-ashmem",
19    "unhooked-anonymous",
20    "unhooked-file-exec-lib-chrome",
21    "unhooked-file-exec",
22    "unhooked-file-nonexec-lib-chrome",
23    "unhooked-file-nonexec",
24    "unhooked-stack",
25    "unhooked-other",
26    "no-bucket",
27    "mmap-v8-heap-newspace",
28    "mmap-v8-heap-coderange",
29    "mmap-v8-heap-pagedspace",
30    "mmap-v8-other",
31    "mmap-gpu-mappedmemorymanager",
32    "mmap-gpu-command-ringbuffer",
33    "mmap-gpu-transfer-ringbuffer",
34    "mmap-gpu-gles2-createbuffer",
35    "mmap-skia-font",
36    "mmap-catch-all",
37    "tc-disk_cache-backing",
38    "tc-disk_cache-other",
39    "tc-sqlite3MemAlloc",
40    "tc-angle",
41    "tc-crypto",
42    "tc-net-iobuffer",
43    "tc-stl-string",
44    "tc-stl-rbtree",
45    "tc-stl-vector",
46    "tc-stl-hashtable",
47    "tc-stl-other",
48    "tc-webcore-fontcache",
49    "tc-skia",
50    "tc-renderstyle",
51    "tc-webcore-sharedbuf",
52    "tc-webcore-XHRcreate",
53    "tc-webcore-XHRreceived",
54    "tc-webcore-docwriter-add",
55    "tc-webcore-node-and-doc",
56    "tc-webcore-node-factory",
57    "tc-webcore-element-wrapper",
58    "tc-webcore-stylepropertyset",
59    "tc-webcore-style-createsheet",
60    "tc-webcore-resource",
61    "tc-webcore-script-execute",
62    "tc-webcore-events-related",
63    "tc-webcore-document-write",
64    "tc-webcore-element-create-renderer",
65    "tc-webcore-render-catch-all",
66    "tc-webcore-setInnerHTML-except-node",
67    "tc-wtf-StringImpl-user-catch-all",
68    "tc-wtf-HashTable-user-catch-all",
69    "tc-webcore-everything-create",
70    "tc-webkit-from-v8-catch-all",
71    "tc-webkit-catch-all",
72    "tc-v8-catch-all",
73    "tc-catch-all",
74    "tc-unused",
75    "UNTIL_HERE_FOR_TOTAL",
76    "total-exclude-profiler",
77    "total",
78    "absent",
79    "anonymous",
80    "file-exec",
81    "file-nonexec",
82    "stack",
83    "other",
84    "mmap-total-log",
85    "mmap-no-log",
86    "mmap-total-record",
87    "other-total-log",
88    "tc-total-log",
89    "tc-no-log",
90    "tc-total-record",
91    "tc-total"
92  ],
93  "rules": [
94    {
95      "name": "second",
96      "stacktrace": "optional",
97      "allocator": "optional"
98    },
99    {
100      "name": "mmap-profiler",
101      "stacktrace": ".*(ProfilerMalloc|MemoryRegionMap::).*",
102      "allocator": "mmap"
103    },
104    {
105      "name": "mmap-type-profiler",
106      "stacktrace": ".*(TypeProfilerMalloc).*",
107      "allocator": "mmap"
108    },
109    {
110      "name": "mmap-tcmalloc",
111      "stacktrace": ".*(DoAllocWithArena|SbrkSysAllocator::Alloc|MmapSysAllocator::Alloc|LowLevelAlloc::Alloc|LowLevelAlloc::AllocWithArena).*",
112      "allocator": "mmap"
113    },
114    {
115      "name": "FROM_HERE_FOR_TOTAL",
116      "stacktrace": "optional",
117      "allocator": "optional"
118    },
119    {
120      "name": "mustbezero",
121      "stacktrace": "optional",
122      "allocator": "optional"
123    },
124    {
125      "name": "unhooked-absent",
126      "stacktrace": "optional",
127      "allocator": "optional"
128    },
129    {
130      "name": "unhooked-ashmem-dalvik-heap",
131      "mappedpathname": "/dev/ashmem/dalvik-heap.*",
132      "allocator": "unhooked"
133    },
134    {
135      "name": "unhooked-ashmem-dalvik-LinearAlloc",
136      "mappedpathname": "/dev/ashmem/dalvik-LinearAlloc.*",
137      "allocator": "unhooked"
138    },
139    {
140      "name": "unhooked-ashmem-dalvik-aux-structure",
141      "mappedpathname": "/dev/ashmem/dalvik-aux-structure.*",
142      "allocator": "unhooked"
143    },
144    {
145      "name": "unhooked-ashmem-dalvik-bitmap",
146      "mappedpathname": "/dev/ashmem/dalvik-bitmap.*",
147      "allocator": "unhooked"
148    },
149    {
150      "name": "unhooked-ashmem-dalvik-other",
151      "mappedpathname": "/dev/ashmem/dalvik.*",
152      "allocator": "unhooked"
153    },
154    {
155      "name": "unhooked-pvrsrvkm",
156      "mappedpathname": "/dev/pvrsrvkm.*",
157      "allocator": "unhooked"
158    },
159    {
160      "name": "unhooked-system-dex",
161      "mappedpathname": "/data/dalvik-cache/system.*.dex.*",
162      "allocator": "unhooked"
163    },
164    {
165      "name": "unhooked-chrome-dex",
166      "mappedpathname": "^/.*?(chrome|content).*?apk@classes.dex",
167      "allocator": "unhooked"
168    },
169    {
170      "name": "unhooked-other-ashmem",
171      "mappedpathname": "/dev/ashmem/.*",
172      "allocator": "unhooked"
173    },
174    {
175      "name": "unhooked-anonymous",
176      "mappedpathname": "^$",
177      "allocator": "unhooked"
178    },
179    {
180      "name": "unhooked-file-exec-lib-chrome",
181      "mappedpathname": "^/.*?(chromeview|content).*",
182      "mappedpermission": "..x.",
183      "allocator": "unhooked"
184    },
185    {
186      "name": "unhooked-file-exec",
187      "mappedpathname": "^/.*",
188      "mappedpermission": "..x.",
189      "allocator": "unhooked"
190    },
191    {
192      "name": "unhooked-file-nonexec-lib-chrome",
193      "mappedpathname": "^/.*?(chromeview|content).*",
194      "allocator": "unhooked"
195    },
196    {
197      "name": "unhooked-file-nonexec",
198      "mappedpathname": "^/.*",
199      "allocator": "unhooked"
200    },
201    {
202      "name": "unhooked-stack",
203      "mappedpathname": ".stack.",
204      "allocator": "unhooked"
205    },
206    {
207      "name": "unhooked-other",
208      "mappedpathname": ".*",
209      "allocator": "unhooked"
210    },
211    {
212      "name": "mmap-v8-heap-newspace",
213      "stacktrace": ".*v8::internal::NewSpace::SetUp.*",
214      "allocator": "mmap"
215    },
216    {
217      "name": "mmap-v8-heap-coderange",
218      "stacktrace": ".*v8::internal::CodeRange::SetUp.*",
219      "allocator": "mmap"
220    },
221    {
222      "name": "mmap-v8-heap-pagedspace",
223      "stacktrace": ".*v8::internal::PagedSpace::AllocateRaw.*",
224      "allocator": "mmap"
225    },
226    {
227      "name": "mmap-v8-other",
228      "stacktrace": ".*v8::.*",
229      "allocator": "mmap"
230    },
231    {
232      "name": "mmap-gpu-mappedmemorymanager",
233      "stacktrace": ".*gpu::MappedMemoryManager::Alloc.*",
234      "allocator": "mmap"
235    },
236    {
237      "name": "mmap-gpu-command-ringbuffer",
238      "stacktrace": ".*gpu::CommandBufferHelper::AllocateRingBuffer.*",
239      "allocator": "mmap"
240    },
241    {
242      "name": "mmap-gpu-transfer-ringbuffer",
243      "stacktrace": ".*gpu::TransferBuffer::AllocateRingBuffer.*",
244      "allocator": "mmap"
245    },
246    {
247      "name": "mmap-gpu-gles2-createbuffer",
248      "stacktrace": ".*gpu::gles2::BufferTracker::CreateBuffer.*",
249      "allocator": "mmap"
250    },
251    {
252      "name": "mmap-skia-font",
253      "stacktrace": ".*SkTypeface::openStream.*",
254      "allocator": "mmap"
255    },
256    {
257      "name": "mmap-catch-all",
258      "stacktrace": ".*",
259      "allocator": "mmap"
260    },
261    {
262      "name": "tc-disk_cache-backing",
263      "stacktrace": ".*disk_cache::BackendImpl::InitBackingStore.*",
264      "allocator": "malloc"
265    },
266    {
267      "name": "tc-disk_cache-other",
268      "stacktrace": ".*disk_cache::.*",
269      "allocator": "malloc"
270    },
271    {
272      "name": "tc-sqlite3MemAlloc",
273      "stacktrace": ".*sqlite3MemMalloc.*",
274      "allocator": "malloc"
275    },
276    {
277      "name": "tc-angle",
278      "stacktrace": ".*TPoolAllocator::allocate.*",
279      "allocator": "malloc"
280    },
281    {
282      "name": "tc-crypto",
283      "stacktrace": ".*(CRYPTO_malloc|CRYPTO_realloc).*",
284      "allocator": "malloc"
285    },
286    {
287      "name": "tc-net-iobuffer",
288      "stacktrace": ".*net::IOBuffer::IOBuffer.*",
289      "allocator": "malloc"
290    },
291    {
292      "name": "tc-stl-string",
293      "stacktrace": ".*std::basic_string::.*",
294      "allocator": "malloc"
295    },
296    {
297      "name": "tc-stl-rbtree",
298      "stacktrace": ".*std::priv::_Rb_tree::.*",
299      "allocator": "malloc"
300    },
301    {
302      "name": "tc-stl-vector",
303      "stacktrace": ".*std::priv::_Impl_vector::.*",
304      "allocator": "malloc"
305    },
306    {
307      "name": "tc-stl-hashtable",
308      "stacktrace": ".*std::hashtable::.*",
309      "allocator": "malloc"
310    },
311    {
312      "name": "tc-stl-other",
313      "stacktrace": ".*std::__stl_new.*",
314      "allocator": "malloc"
315    },
316    {
317      "name": "tc-webcore-fontcache",
318      "stacktrace": ".*(WebCore|blink)::FontCache::getCachedFontData.*",
319      "allocator": "malloc"
320    },
321    {
322      "name": "tc-skia",
323      "stacktrace": ".* Sk[A-Za-z_]+::.*",
324      "allocator": "malloc"
325    },
326    {
327      "name": "tc-renderstyle",
328      "stacktrace": ".*(WebCore|blink)::RenderStyle::create.*",
329      "allocator": "malloc"
330    },
331    {
332      "name": "tc-renderstyle",
333      "stacktrace": ".*(WebCore|blink)::RenderStyle::clone.*",
334      "allocator": "malloc"
335    },
336    {
337      "name": "tc-webcore-sharedbuf",
338      "stacktrace": ".*(WebCore|blink)::SharedBuffer::create.*",
339      "allocator": "malloc"
340    },
341    {
342      "name": "tc-webcore-sharedbuf",
343      "stacktrace": ".*(WebCore|blink)::SharedBuffer::buffer.*",
344      "allocator": "malloc"
345    },
346    {
347      "name": "tc-webcore-sharedbuf",
348      "stacktrace": ".*(WebCore|blink)::SharedBuffer::append.*",
349      "allocator": "malloc"
350    },
351    {
352      "name": "tc-webcore-XHRcreate",
353      "stacktrace": ".*(WebCore|blink)::XMLHttpRequest::create .*",
354      "allocator": "malloc"
355    },
356    {
357      "name": "tc-webcore-XHRreceived",
358      "stacktrace": ".*(WebCore|blink)::XMLHttpRequest::didReceiveData.*",
359      "allocator": "malloc"
360    },
361    {
362      "name": "tc-webcore-docwriter-add",
363      "stacktrace": ".*(WebCore|blink)::DocumentWriter::addData.*",
364      "allocator": "malloc"
365    },
366    {
367      "name": "tc-webcore-node-and-doc",
368      "stacktrace": ".*(WebCore|blink)::HTML[a-zA-Z0-9_]*Element::create .*",
369      "allocator": "malloc"
370    },
371    {
372      "name": "tc-webcore-node-and-doc",
373      "stacktrace": ".*(WebCore|blink)::Text::create .*",
374      "allocator": "malloc"
375    },
376    {
377      "name": "tc-webcore-node-and-doc",
378      "stacktrace": ".*(WebCore|blink)::Comment::create .*",
379      "allocator": "malloc"
380    },
381    {
382      "name": "tc-webcore-node-and-doc",
383      "stacktrace": ".*(WebCore|blink)::HTMLDocument::create .*",
384      "allocator": "malloc"
385    },
386    {
387      "name": "tc-webcore-node-and-doc",
388      "stacktrace": ".*(WebCore|blink)::CSSStyleRule::create .*",
389      "allocator": "malloc"
390    },
391    {
392      "name": "tc-webcore-node-and-doc",
393      "stacktrace": ".*(WebCore|blink)::Attribute::create .*",
394      "allocator": "malloc"
395    },
396    {
397      "name": "tc-webcore-node-and-doc",
398      "stacktrace": ".*(WebCore|blink)::DOMWindow::create .*",
399      "allocator": "malloc"
400    },
401    {
402      "name": "tc-webcore-node-factory",
403      "stacktrace": ".*(WebCore|blink)::HTML[a-zA-Z0-9_]*Factory::create[a-zA-Z0-9_]*Element.*",
404      "allocator": "malloc"
405    },
406    {
407      "name": "tc-webcore-element-wrapper",
408      "stacktrace": ".*(WebCore|blink)::createHTML[a-zA-Z0-9_]*ElementWrapper.*",
409      "allocator": "malloc"
410    },
411    {
412      "name": "tc-webcore-stylepropertyset",
413      "stacktrace": ".*(WebCore|blink)::StylePropertySet::create .*",
414      "allocator": "malloc"
415    },
416    {
417      "name": "tc-webcore-style-createsheet",
418      "stacktrace": ".*(WebCore|blink)::StyleElement::createSheet.*",
419      "allocator": "malloc"
420    },
421    {
422      "name": "tc-webcore-resource",
423      "stacktrace": ".*(WebCore|blink)::ResourceFetcher::requestResource .*",
424      "allocator": "malloc"
425    },
426    {
427      "name": "tc-webcore-script-execute",
428      "stacktrace": ".*(WebCore|blink)::ScriptLoader::execute.*",
429      "allocator": "malloc"
430    },
431    {
432      "name": "tc-webcore-events-related",
433      "stacktrace": ".*(WebCore|blink)::createAttributeEventListener.*",
434      "allocator": "malloc"
435    },
436    {
437      "name": "tc-webcore-events-related",
438      "stacktrace": ".*(WebCore|blink)::V8LazyEventListener::create.*",
439      "allocator": "malloc"
440    },
441    {
442      "name": "tc-webcore-events-related",
443      "stacktrace": ".*(WebCore|blink)::V8EventListener::create.*",
444      "allocator": "malloc"
445    },
446    {
447      "name": "tc-webcore-events-related",
448      "stacktrace": ".*(WebCore|blink)::Event::create .*",
449      "allocator": "malloc"
450    },
451    {
452      "name": "tc-webcore-events-related",
453      "stacktrace": ".*(WebCore|blink)::EventListener::create .*",
454      "allocator": "malloc"
455    },
456    {
457      "name": "tc-webcore-document-write",
458      "stacktrace": ".*(WebCore|blink)::Document::write.*",
459      "allocator": "malloc"
460    },
461    {
462      "name": "tc-webcore-element-create-renderer",
463      "stacktrace": ".*(WebCore|blink)::[a-zA-Z0-9_]*Element::createRenderer .*",
464      "allocator": "malloc"
465    },
466    {
467      "name": "tc-webcore-render-catch-all",
468      "stacktrace": ".*(WebCore|blink)::RenderLayer.*",
469      "allocator": "malloc"
470    },
471    {
472      "name": "tc-webcore-render-catch-all",
473      "stacktrace": ".*(WebCore|blink)::RenderBlock.*",
474      "allocator": "malloc"
475    },
476    {
477      "name": "tc-webcore-render-catch-all",
478      "stacktrace": ".*(WebCore|blink)::RenderWidget.*",
479      "allocator": "malloc"
480    },
481    {
482      "name": "tc-webcore-render-catch-all",
483      "stacktrace": ".*(WebCore|blink)::RenderView.*",
484      "allocator": "malloc"
485    },
486    {
487      "name": "tc-webcore-render-catch-all",
488      "stacktrace": ".*(WebCore|blink)::RenderViewImpl.*",
489      "allocator": "malloc"
490    },
491    {
492      "name": "tc-webcore-render-catch-all",
493      "stacktrace": ".*(WebCore|blink)::RenderStyle.*",
494      "allocator": "malloc"
495    },
496    {
497      "name": "tc-webcore-render-catch-all",
498      "stacktrace": ".*(WebCore|blink)::RenderText.*",
499      "allocator": "malloc"
500    },
501    {
502      "name": "tc-webcore-render-catch-all",
503      "stacktrace": ".* RendererMain .*",
504      "allocator": "malloc"
505    },
506    {
507      "name": "tc-webcore-setInnerHTML-except-node",
508      "stacktrace": ".*(WebCore|blink)::Element::setInnerHTML.*",
509      "allocator": "malloc"
510    },
511    {
512      "name": "tc-wtf-StringImpl-user-catch-all",
513      "stacktrace": ".*WTF::StringImpl::create .*",
514      "allocator": "malloc"
515    },
516    {
517      "name": "tc-wtf-StringImpl-user-catch-all",
518      "stacktrace": ".*WTF::StringImpl::createUninitialized.*",
519      "allocator": "malloc"
520    },
521    {
522      "name": "tc-wtf-HashTable-user-catch-all",
523      "stacktrace": ".*WTF::HashTable::allocateTable.*",
524      "allocator": "malloc"
525    },
526    {
527      "name": "tc-webcore-everything-create",
528      "stacktrace": ".*(WebCore|blink)::[a-zA-Z0-9_]*::create .*",
529      "allocator": "malloc"
530    },
531    {
532      "name": "tc-webkit-from-v8-catch-all",
533      "stacktrace": ".*(WTF::|WebCore::|blink::|WebKit::).*v8::.*",
534      "allocator": "malloc"
535    },
536    {
537      "name": "tc-webkit-catch-all",
538      "stacktrace": ".*(WTF::|WebCore::|blink::|WebKit::).*",
539      "allocator": "malloc"
540    },
541    {
542      "name": "tc-v8-catch-all",
543      "stacktrace": ".*v8::.*",
544      "allocator": "malloc"
545    },
546    {
547      "name": "tc-catch-all",
548      "stacktrace": ".*",
549      "allocator": "malloc"
550    },
551    {
552      "name": "UNTIL_HERE_FOR_TOTAL",
553      "stacktrace": "optional",
554      "allocator": "optional"
555    },
556    {
557      "name": "total-exclude-profiler",
558      "stacktrace": "optional",
559      "allocator": "optional"
560    },
561    {
562      "name": "total",
563      "stacktrace": "optional",
564      "allocator": "optional"
565    },
566    {
567      "name": "absent",
568      "stacktrace": "optional",
569      "allocator": "optional"
570    },
571    {
572      "name": "anonymous",
573      "stacktrace": "optional",
574      "allocator": "optional"
575    },
576    {
577      "name": "file-exec",
578      "stacktrace": "optional",
579      "allocator": "optional"
580    },
581    {
582      "name": "file-nonexec",
583      "stacktrace": "optional",
584      "allocator": "optional"
585    },
586    {
587      "name": "stack",
588      "stacktrace": "optional",
589      "allocator": "optional"
590    },
591    {
592      "name": "other",
593      "stacktrace": "optional",
594      "allocator": "optional"
595    }
596  ],
597  "version": "POLICY_DEEP_3"
598}
599