2 //--------------------------------------------------------------------*/
3 //--- DHAT: a Dynamic Heap Analysis Tool dh_test.js ---*/
4 //--------------------------------------------------------------------*/
7 This file is part of DHAT, a Valgrind tool for profiling the
8 heap usage of programs.
10 Copyright (C) 2018 Mozilla Foundation
12 This program is free software; you can redistribute it and/or
13 modify it under the terms of the GNU General Public License as
14 published by the Free Software Foundation; either version 2 of the
15 License, or (at your option) any later version.
17 This program is distributed in the hope that it will be useful, but
18 WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 General Public License for more details.
22 You should have received a copy of the GNU General Public License
23 along with this program; if not, see <http://www.gnu.org/licenses/>.
25 The GNU General Public License is contained in the file COPYING.
28 // We can't fully automate testing of a web app via the normal Valgrind
29 // regression testing. Instead we have this code, which is executed when
30 // dh_view.html is loaded with a "?test=1" parameter.
32 // Things tested by this file:
33 // - Tree building, with multiple sort metrics.
34 // - Text content of the displayed tree.
36 // Things not tested by this file:
37 // - Output from DHAT itself (unless that output is regenerated when necessary
38 // and copy-and-pasted in the "input" fields in this file).
39 // - Interactions with the "Load" button and "Sort metric" menu.
40 // - File loading and parsing.
41 // - Non-text content of the displayed tree (e.g. node colours, sortKey
43 // - Tree interactions (collapsing and expanding of nodes).
47 // Test inputs are copied verbatim from DHAT output files, not as strings but
48 // as actual JavaScript code. This works because output files are JSON, and
49 // JSON is valid JavaScript.
51 // Expected outputs are paired with a sort metric, and copied verbatim from the
55 //---------------------------------------------------------------------------
56 // empty (corresponds to dhat/tests/empty.c)
57 //---------------------------------------------------------------------------
62 //---------------------------------------------------------------------------
64 ,"mode":"heap","verb":"Allocated"
65 ,"bklt":true,"bkacc":true
66 ,"tu":"instrs","Mtu":"Minstr"
79 //---------------------------------------------------------------------------
83 label: "Total (bytes)",
85 //---------------------------------------------------------------------------
94 t-gmax: 0 instrs (0% of program duration)
99 Total: 0 bytes (0%, 0/Minstr) in 0 blocks (0%, 0/Minstr), avg size 0 bytes, avg lifetime 0 instrs (0% of program duration)
100 At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
101 At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
102 Reads: 0 bytes (0%, 0/Minstr), 0/byte
103 Writes: 0 bytes (0%, 0/Minstr), 0/byte
109 PP significance threshold: total >= 0 bytes (0%)
111 //---------------------------------------------------------------------------
117 //---------------------------------------------------------------------------
118 // single (corresponds to dhat/tests/single.c)
119 //---------------------------------------------------------------------------
124 //---------------------------------------------------------------------------
126 ,"mode":"heap","verb":"Allocated"
127 ,"bklt":true,"bkacc":true
128 ,"tu":"instrs","Mtu":"Minstr"
135 [{"tb":16,"tbk":1,"tl":6924
146 ,"0x10865B: main (single.cpp:4)"
149 //---------------------------------------------------------------------------
153 label: "Total (bytes)",
155 //---------------------------------------------------------------------------
164 t-gmax: 242,900 instrs (97.23% of program duration)
165 t-end: 249,824 instrs
169 Total: 16 bytes (100%, 64.05/Minstr) in 1 blocks (100%, 4/Minstr), avg size 16 bytes, avg lifetime 6,924 instrs (2.77% of program duration)
170 At t-gmax: 16 bytes (100%) in 1 blocks (100%), avg size 16 bytes
171 At t-end: 16 bytes (100%) in 1 blocks (100%), avg size 16 bytes
172 Reads: 0 bytes (0%, 0/Minstr), 0/byte
173 Writes: 12 bytes (100%, 48.03/Minstr), 0.75/byte
175 [ 0] 3 〃 〃 〃 - - - - - - - - - - - -
179 #1: 0x10865B: main (single.cpp:4)
183 PP significance threshold: total >= 0.16 bytes (1%)
185 //---------------------------------------------------------------------------
191 //---------------------------------------------------------------------------
192 // subseqs (a synthetic test for locations that are subsequences of other
193 // locations, which are rare but can happen in practice, esp. with recursion)
194 //---------------------------------------------------------------------------
199 //---------------------------------------------------------------------------
201 ,"mode":"heap","verb":"Allocated"
202 ,"bklt":true,"bkacc":true
203 ,"tu":"instrs","Mtu":"Minstr"
210 [{"tb":15,"tbk":1,"tl":1000
218 ,{"tb":14,"tbk":1,"tl":1000
226 ,{"tb":13,"tbk":1,"tl":1000
234 ,{"tb":12,"tbk":1,"tl":1000
242 ,{"tb":11,"tbk":1,"tl":1000
250 ,{"tb":10,"tbk":1,"tl":1000
258 ,{"tb":9,"tbk":1,"tl":1000
266 ,{"tb":8,"tbk":1,"tl":1000
274 ,{"tb":7,"tbk":1,"tl":1000
297 //---------------------------------------------------------------------------
301 label: "Total (bytes)",
303 //---------------------------------------------------------------------------
312 t-gmax: 10,000 instrs (50% of program duration)
316 ▼ PP 1/1 (3 children) {
317 Total: 99 bytes (100%, 4,950/Minstr) in 9 blocks (100%, 450/Minstr), avg size 11 bytes, avg lifetime 1,000 instrs (5% of program duration)
318 At t-gmax: 99 bytes (100%) in 9 blocks (100%), avg size 11 bytes
319 At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
320 Reads: 0 bytes (0%, 0/Minstr), 0/byte
321 Writes: 0 bytes (0%, 0/Minstr), 0/byte
326 ├─▼ PP 1.1/3 (2 children) {
327 │ Total: 42 bytes (42.42%, 2,100/Minstr) in 3 blocks (33.33%, 150/Minstr), avg size 14 bytes, avg lifetime 1,000 instrs (5% of program duration)
328 │ At t-gmax: 42 bytes (42.42%) in 3 blocks (33.33%), avg size 14 bytes
329 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
330 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
331 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
338 │ ├─▼ PP 1.1.1/2 (2 children) {
339 │ │ Total: 27 bytes (27.27%, 1,350/Minstr) in 2 blocks (22.22%, 100/Minstr), avg size 13.5 bytes, avg lifetime 1,000 instrs (5% of program duration)
340 │ │ At t-gmax: 27 bytes (27.27%) in 2 blocks (22.22%), avg size 13.5 bytes
341 │ │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
342 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
343 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
351 │ │ ├── PP 1.1.1.1/2 {
352 │ │ │ Total: 14 bytes (14.14%, 700/Minstr) in 1 blocks (11.11%, 50/Minstr), avg size 14 bytes, avg lifetime 1,000 instrs (5% of program duration)
353 │ │ │ Max: 14 bytes in 1 blocks, avg size 14 bytes
354 │ │ │ At t-gmax: 14 bytes (14.14%) in 1 blocks (11.11%), avg size 14 bytes
355 │ │ │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
356 │ │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
357 │ │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
359 │ │ │ [ 0] - - - - - - - - - - - - - -
368 │ │ └── PP 1.1.1.2/2 {
369 │ │ Total: 13 bytes (13.13%, 650/Minstr) in 1 blocks (11.11%, 50/Minstr), avg size 13 bytes, avg lifetime 1,000 instrs (5% of program duration)
370 │ │ Max: 13 bytes in 1 blocks, avg size 13 bytes
371 │ │ At t-gmax: 13 bytes (13.13%) in 1 blocks (11.11%), avg size 13 bytes
372 │ │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
373 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
374 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
376 │ │ [ 0] - - - - - - - - - - - - -
387 │ Total: 15 bytes (15.15%, 750/Minstr) in 1 blocks (11.11%, 50/Minstr), avg size 15 bytes, avg lifetime 1,000 instrs (5% of program duration)
388 │ Max: 15 bytes in 1 blocks, avg size 15 bytes
389 │ At t-gmax: 15 bytes (15.15%) in 1 blocks (11.11%), avg size 15 bytes
390 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
391 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
392 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
394 │ [ 0] - - - - - - - - - - - - - - -
402 ├─▼ PP 1.2/3 (2 children) {
403 │ Total: 33 bytes (33.33%, 1,650/Minstr) in 3 blocks (33.33%, 150/Minstr), avg size 11 bytes, avg lifetime 1,000 instrs (5% of program duration)
404 │ At t-gmax: 33 bytes (33.33%) in 3 blocks (33.33%), avg size 11 bytes
405 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
406 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
407 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
414 │ ├─▼ PP 1.2.1/2 (2 children) {
415 │ │ Total: 23 bytes (23.23%, 1,150/Minstr) in 2 blocks (22.22%, 100/Minstr), avg size 11.5 bytes, avg lifetime 1,000 instrs (5% of program duration)
416 │ │ At t-gmax: 23 bytes (23.23%) in 2 blocks (22.22%), avg size 11.5 bytes
417 │ │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
418 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
419 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
427 │ │ ├── PP 1.2.1.1/2 {
428 │ │ │ Total: 12 bytes (12.12%, 600/Minstr) in 1 blocks (11.11%, 50/Minstr), avg size 12 bytes, avg lifetime 1,000 instrs (5% of program duration)
429 │ │ │ Max: 12 bytes in 1 blocks, avg size 12 bytes
430 │ │ │ At t-gmax: 12 bytes (12.12%) in 1 blocks (11.11%), avg size 12 bytes
431 │ │ │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
432 │ │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
433 │ │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
435 │ │ │ [ 0] - - - - - - - - - - - -
445 │ │ └── PP 1.2.1.2/2 {
446 │ │ Total: 11 bytes (11.11%, 550/Minstr) in 1 blocks (11.11%, 50/Minstr), avg size 11 bytes, avg lifetime 1,000 instrs (5% of program duration)
447 │ │ Max: 11 bytes in 1 blocks, avg size 11 bytes
448 │ │ At t-gmax: 11 bytes (11.11%) in 1 blocks (11.11%), avg size 11 bytes
449 │ │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
450 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
451 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
453 │ │ [ 0] - - - - - - - - - - -
463 │ Total: 10 bytes (10.1%, 500/Minstr) in 1 blocks (11.11%, 50/Minstr), avg size 10 bytes, avg lifetime 1,000 instrs (5% of program duration)
464 │ Max: 10 bytes in 1 blocks, avg size 10 bytes
465 │ At t-gmax: 10 bytes (10.1%) in 1 blocks (11.11%), avg size 10 bytes
466 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
467 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
468 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
470 │ [ 0] - - - - - - - - - -
478 └─▼ PP 1.3/3 (3 children) {
479 Total: 24 bytes (24.24%, 1,200/Minstr) in 3 blocks (33.33%, 150/Minstr), avg size 8 bytes, avg lifetime 1,000 instrs (5% of program duration)
480 At t-gmax: 24 bytes (24.24%) in 3 blocks (33.33%), avg size 8 bytes
481 At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
482 Reads: 0 bytes (0%, 0/Minstr), 0/byte
483 Writes: 0 bytes (0%, 0/Minstr), 0/byte
490 │ Total: 9 bytes (9.09%, 450/Minstr) in 1 blocks (11.11%, 50/Minstr), avg size 9 bytes, avg lifetime 1,000 instrs (5% of program duration)
491 │ Max: 9 bytes in 1 blocks, avg size 9 bytes
492 │ At t-gmax: 9 bytes (9.09%) in 1 blocks (11.11%), avg size 9 bytes
493 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
494 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
495 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
497 │ [ 0] - - - - - - - - -
506 │ Total: 8 bytes (8.08%, 400/Minstr) in 1 blocks (11.11%, 50/Minstr), avg size 8 bytes, avg lifetime 1,000 instrs (5% of program duration)
507 │ Max: 8 bytes in 1 blocks, avg size 8 bytes
508 │ At t-gmax: 8 bytes (8.08%) in 1 blocks (11.11%), avg size 8 bytes
509 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
510 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
511 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
513 │ [ 0] - - - - - - - -
522 Total: 7 bytes (7.07%, 350/Minstr) in 1 blocks (11.11%, 50/Minstr), avg size 7 bytes, avg lifetime 1,000 instrs (5% of program duration)
523 Max: 7 bytes in 1 blocks, avg size 7 bytes
524 At t-gmax: 7 bytes (7.07%) in 1 blocks (11.11%), avg size 7 bytes
525 At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
526 Reads: 0 bytes (0%, 0/Minstr), 0/byte
527 Writes: 0 bytes (0%, 0/Minstr), 0/byte
537 PP significance threshold: total >= 0.99 bytes (1%)
539 //---------------------------------------------------------------------------
545 //---------------------------------------------------------------------------
546 // acc (corresponds to dhat/tests/acc.c)
547 //---------------------------------------------------------------------------
552 //---------------------------------------------------------------------------
554 ,"mode":"heap","verb":"Allocated"
555 ,"bklt":true,"bkacc":true
556 ,"tu":"instrs","Mtu":"Minstr"
563 [{"tb":32,"tbk":1,"tl":4751
568 ,"acc":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
571 ,{"tb":20,"tbk":1,"tl":106
576 ,"acc":[-4,2,-4,0,-4,1,-4,0,-4,10]
579 ,{"tb":33,"tbk":1,"tl":39
587 ,{"tb":1024,"tbk":1,"tl":15179
592 ,"acc":[-500,2,-100,3,-424,2]
595 ,{"tb":1025,"tbk":1,"tl":15415
602 ,{"tb":100,"tbk":1,"tl":350084
607 ,"acc":[-4,50000,-96,0]
610 ,{"tb":100,"tbk":1,"tl":350072
615 ,"acc":[-4,50000,-96,0]
618 ,{"tb":100,"tbk":1,"tl":700084
623 ,"acc":[-4,65535,-96,0]
626 ,{"tb":100,"tbk":1,"tl":700072
631 ,"acc":[-4,65535,-96,0]
637 ,"0x10871F: main (acc.c:14)"
638 ,"0x108771: main (acc.c:23)"
639 ,"0x1087CB: main (acc.c:32)"
640 ,"0x1087F0: main (acc.c:37)"
641 ,"0x10886F: main (acc.c:47)"
642 ,"0x1086F1: m1 (acc.c:7)"
643 ,"0x1088C3: main (acc.c:54)"
644 ,"0x1088D1: main (acc.c:55)"
645 ,"0x10870B: m2 (acc.c:9)"
646 ,"0x108921: main (acc.c:64)"
647 ,"0x10892F: main (acc.c:65)"
650 //---------------------------------------------------------------------------
654 // All blocks are freed, which means all "At t-end" values are 0, so
655 // sorting by atTEndBytes results in no aggregate nodes, which is what we
657 label: "At t-end (bytes)",
659 //---------------------------------------------------------------------------
668 t-gmax: 265,120 instrs (19.82% of program duration)
669 t-end: 1,337,753 instrs
672 ▼ PP 1/1 (7 children) {
673 Total: 2,534 bytes (100%, 1,894.22/Minstr) in 9 blocks (100%, 6.73/Minstr), avg size 281.56 bytes, avg lifetime 237,311.33 instrs (17.74% of program duration)
674 At t-gmax: 1,025 bytes (100%) in 1 blocks (100%), avg size 1,025 bytes
675 At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
676 Reads: 2,053 bytes (100%, 1,534.66/Minstr), 0.81/byte
677 Writes: 1,202,694 bytes (100%, 899,040.41/Minstr), 474.62/byte
683 │ Total: 1,025 bytes (40.45%, 766.21/Minstr) in 1 blocks (11.11%, 0.75/Minstr), avg size 1,025 bytes, avg lifetime 15,415 instrs (1.15% of program duration)
684 │ Max: 1,025 bytes in 1 blocks, avg size 1,025 bytes
685 │ At t-gmax: 1,025 bytes (100%) in 1 blocks (100%), avg size 1,025 bytes
686 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
687 │ Reads: 1,025 bytes (49.93%, 766.21/Minstr), 1/byte
688 │ Writes: 1,025 bytes (0.09%, 766.21/Minstr), 1/byte
690 │ #1: 0x10886F: main (acc.c:47)
694 │ Total: 1,024 bytes (40.41%, 765.46/Minstr) in 1 blocks (11.11%, 0.75/Minstr), avg size 1,024 bytes, avg lifetime 15,179 instrs (1.13% of program duration)
695 │ Max: 1,024 bytes in 1 blocks, avg size 1,024 bytes
696 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
697 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
698 │ Reads: 1,024 bytes (49.88%, 765.46/Minstr), 1/byte
699 │ Writes: 1,124 bytes (0.09%, 840.21/Minstr), 1.1/byte
701 │ [ 0] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
702 │ [ 32] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
703 │ [ 64] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
704 │ [ 96] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
705 │ [128] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
706 │ [160] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
707 │ [192] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
708 │ [224] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
709 │ [256] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
710 │ [288] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
711 │ [320] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
712 │ [352] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
713 │ [384] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
714 │ [416] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
715 │ [448] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
716 │ [480] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 3 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
717 │ [512] 3 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
718 │ [544] 3 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
719 │ [576] 3 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 2 〃 〃 〃 〃 〃 〃 〃
720 │ [608] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
721 │ [640] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
722 │ [672] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
723 │ [704] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
724 │ [736] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
725 │ [768] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
726 │ [800] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
727 │ [832] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
728 │ [864] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
729 │ [896] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
730 │ [928] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
731 │ [960] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
732 │ [992] 2 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
735 │ #1: 0x1087F0: main (acc.c:37)
738 ├─▼ PP 1.3/7 (2 children) {
739 │ Total: 200 bytes (7.89%, 149.5/Minstr) in 2 blocks (22.22%, 1.5/Minstr), avg size 100 bytes, avg lifetime 350,078 instrs (26.17% of program duration)
740 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
741 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
742 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
743 │ Writes: 400,000 bytes (33.26%, 299,008.86/Minstr), 2,000/byte
745 │ [ 0] 100000 〃 〃 〃 - - - - - - - - - - - - - - - - - - - - - - - - - - - -
746 │ [ 32] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
747 │ [ 64] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
751 │ #1: 0x1086F1: m1 (acc.c:7)
755 │ │ Total: 100 bytes (3.95%, 74.75/Minstr) in 1 blocks (11.11%, 0.75/Minstr), avg size 100 bytes, avg lifetime 350,084 instrs (26.17% of program duration)
756 │ │ Max: 100 bytes in 1 blocks, avg size 100 bytes
757 │ │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
758 │ │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
759 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
760 │ │ Writes: 200,000 bytes (16.63%, 149,504.43/Minstr), 2,000/byte
762 │ │ [ 0] 50000 〃 〃 〃 - - - - - - - - - - - - - - - - - - - - - - - - - - - -
763 │ │ [ 32] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
764 │ │ [ 64] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
768 │ │ ^1: 0x1086F1: m1 (acc.c:7)
769 │ │ #2: 0x1088C3: main (acc.c:54)
773 │ Total: 100 bytes (3.95%, 74.75/Minstr) in 1 blocks (11.11%, 0.75/Minstr), avg size 100 bytes, avg lifetime 350,072 instrs (26.17% of program duration)
774 │ Max: 100 bytes in 1 blocks, avg size 100 bytes
775 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
776 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
777 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
778 │ Writes: 200,000 bytes (16.63%, 149,504.43/Minstr), 2,000/byte
780 │ [ 0] 50000 〃 〃 〃 - - - - - - - - - - - - - - - - - - - - - - - - - - - -
781 │ [ 32] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
782 │ [ 64] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
786 │ ^1: 0x1086F1: m1 (acc.c:7)
787 │ #2: 0x1088D1: main (acc.c:55)
790 ├─▼ PP 1.4/7 (2 children) {
791 │ Total: 200 bytes (7.89%, 149.5/Minstr) in 2 blocks (22.22%, 1.5/Minstr), avg size 100 bytes, avg lifetime 700,078 instrs (52.33% of program duration)
792 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
793 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
794 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
795 │ Writes: 800,000 bytes (66.52%, 598,017.72/Minstr), 4,000/byte
797 │ [ 0] ∞ 〃 〃 〃 - - - - - - - - - - - - - - - - - - - - - - - - - - - -
798 │ [ 32] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
799 │ [ 64] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
803 │ #1: 0x10870B: m2 (acc.c:9)
807 │ │ Total: 100 bytes (3.95%, 74.75/Minstr) in 1 blocks (11.11%, 0.75/Minstr), avg size 100 bytes, avg lifetime 700,084 instrs (52.33% of program duration)
808 │ │ Max: 100 bytes in 1 blocks, avg size 100 bytes
809 │ │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
810 │ │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
811 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
812 │ │ Writes: 400,000 bytes (33.26%, 299,008.86/Minstr), 4,000/byte
814 │ │ [ 0] ∞ 〃 〃 〃 - - - - - - - - - - - - - - - - - - - - - - - - - - - -
815 │ │ [ 32] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
816 │ │ [ 64] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
820 │ │ ^1: 0x10870B: m2 (acc.c:9)
821 │ │ #2: 0x108921: main (acc.c:64)
825 │ Total: 100 bytes (3.95%, 74.75/Minstr) in 1 blocks (11.11%, 0.75/Minstr), avg size 100 bytes, avg lifetime 700,072 instrs (52.33% of program duration)
826 │ Max: 100 bytes in 1 blocks, avg size 100 bytes
827 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
828 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
829 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
830 │ Writes: 400,000 bytes (33.26%, 299,008.86/Minstr), 4,000/byte
832 │ [ 0] ∞ 〃 〃 〃 - - - - - - - - - - - - - - - - - - - - - - - - - - - -
833 │ [ 32] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
834 │ [ 64] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
838 │ ^1: 0x10870B: m2 (acc.c:9)
839 │ #2: 0x10892F: main (acc.c:65)
843 │ Total: 33 bytes (1.3%, 24.67/Minstr) in 1 blocks (11.11%, 0.75/Minstr), avg size 33 bytes, avg lifetime 39 instrs (0% of program duration)
844 │ Max: 33 bytes in 1 blocks, avg size 33 bytes
845 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
846 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
847 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
848 │ Writes: 1 bytes (0%, 0.75/Minstr), 0.03/byte
850 │ [ 0] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
854 │ #1: 0x1087CB: main (acc.c:32)
858 │ Total: 32 bytes (1.26%, 23.92/Minstr) in 1 blocks (11.11%, 0.75/Minstr), avg size 32 bytes, avg lifetime 4,751 instrs (0.36% of program duration)
859 │ Max: 32 bytes in 1 blocks, avg size 32 bytes
860 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
861 │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
862 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
863 │ Writes: 496 bytes (0.04%, 370.77/Minstr), 15.5/byte
865 │ [ 0] - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
868 │ #1: 0x10871F: main (acc.c:14)
872 Total: 20 bytes (0.79%, 14.95/Minstr) in 1 blocks (11.11%, 0.75/Minstr), avg size 20 bytes, avg lifetime 106 instrs (0.01% of program duration)
873 Max: 20 bytes in 1 blocks, avg size 20 bytes
874 At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
875 At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
876 Reads: 4 bytes (0.19%, 2.99/Minstr), 0.2/byte
877 Writes: 48 bytes (0%, 35.88/Minstr), 2.4/byte
879 [ 0] 2 〃 〃 〃 - - - - 1 〃 〃 〃 - - - - 10 〃 〃 〃
882 #1: 0x108771: main (acc.c:23)
886 PP significance threshold: at-t-end >= 0 bytes (0%)
888 //---------------------------------------------------------------------------
894 //---------------------------------------------------------------------------
895 // big (corresponds to dhat/tests/big.c)
896 //---------------------------------------------------------------------------
901 //---------------------------------------------------------------------------
903 ,"mode":"heap","verb":"Allocated"
904 ,"bklt":true,"bkacc":true
905 ,"tu":"instrs","Mtu":"Minstr"
912 [{"tb":706,"tbk":1,"tl":543
920 ,{"tb":5,"tbk":1,"tl":7972
928 ,{"tb":30,"tbk":1,"tl":7910
936 ,{"tb":20,"tbk":1,"tl":7857
944 ,{"tb":10,"tbk":1,"tl":7792
950 ,"fs":[1,12,13,14,15]
952 ,{"tb":60,"tbk":1,"tl":7709
958 ,"fs":[16,17,18,19,20,21,22]
960 ,{"tb":30,"tbk":1,"tl":7622
966 ,"fs":[16,17,18,23,24,25,26]
968 ,{"tb":20,"tbk":1,"tl":7528
974 ,"fs":[16,17,18,23,24,27,28,29]
976 ,{"tb":7,"tbk":1,"tl":7446
982 ,"fs":[16,17,18,30,31,32]
984 ,{"tb":3,"tbk":1,"tl":7375
990 ,"fs":[16,17,18,33,34]
992 ,{"tb":30,"tbk":1,"tl":7299
998 ,"fs":[35,36,37,38,39,40]
1000 ,{"tb":20,"tbk":1,"tl":7249
1008 ,{"tb":19,"tbk":1,"tl":7207
1016 ,{"tb":9,"tbk":1,"tl":7158
1024 ,{"tb":8,"tbk":1,"tl":7107
1032 ,{"tb":7,"tbk":1,"tl":7056
1040 ,{"tb":5,"tbk":1,"tl":7005
1048 ,{"tb":1,"tbk":1,"tl":6954
1056 ,{"tb":10,"tbk":1,"tl":6917
1067 ,"0x1086A1: a (big.c:10)"
1068 ,"0x1086BB: b1 (big.c:11)"
1069 ,"0x1086D5: c1 (big.c:12)"
1070 ,"0x1086EF: d1 (big.c:13)"
1071 ,"0x108A43: main (big.c:38)"
1072 ,"0x108709: d2 (big.c:14)"
1073 ,"0x108A5D: main (big.c:41)"
1074 ,"0x108723: c2 (big.c:15)"
1075 ,"0x108A67: main (big.c:42)"
1076 ,"0x10873D: b2 (big.c:16)"
1077 ,"0x108A71: main (big.c:43)"
1078 ,"0x108757: b3 (big.c:17)"
1079 ,"0x108771: e (big.c:17)"
1080 ,"0x10878B: f (big.c:17)"
1081 ,"0x108A7B: main (big.c:44)"
1082 ,"0x1087A5: g (big.c:18)"
1083 ,"0x1087BF: h (big.c:18)"
1084 ,"0x1087D9: i (big.c:18)"
1085 ,"0x1087F3: j2 (big.c:19)"
1086 ,"0x10880D: k (big.c:19)"
1087 ,"0x108827: l (big.c:19)"
1088 ,"0x108A85: main (big.c:45)"
1089 ,"0x108841: j3 (big.c:20)"
1090 ,"0x10885B: m (big.c:20)"
1091 ,"0x108875: n1 (big.c:21)"
1092 ,"0x108A8F: main (big.c:46)"
1093 ,"0x10888F: n2 (big.c:22)"
1094 ,"0x1088A9: o (big.c:22)"
1095 ,"0x108A99: main (big.c:47)"
1096 ,"0x1088C3: p (big.c:23)"
1097 ,"0x1088DD: q (big.c:23)"
1098 ,"0x108AA3: main (big.c:48)"
1099 ,"0x1088F7: r (big.c:24)"
1100 ,"0x108AAD: main (big.c:49)"
1101 ,"0x108911: s1 (big.c:25)"
1102 ,"0x10892B: s2 (big.c:25)"
1103 ,"0x108945: s3 (big.c:25)"
1104 ,"0x10895F: s4 (big.c:25)"
1105 ,"0x108979: s5 (big.c:25)"
1106 ,"0x108AB7: main (big.c:50)"
1107 ,"0x108993: t (big.c:26)"
1108 ,"0x108AC1: main (big.c:51)"
1109 ,"0x1089AD: u (big.c:27)"
1110 ,"0x108ACB: main (big.c:52)"
1111 ,"0x1089C7: v (big.c:28)"
1112 ,"0x1089E1: w (big.c:29)"
1113 ,"0x108AD5: main (big.c:53)"
1114 ,"0x1089FB: x (big.c:30)"
1115 ,"0x108ADF: main (big.c:54)"
1116 ,"0x108A15: y (big.c:31)"
1117 ,"0x108AE9: main (big.c:55)"
1118 ,"0x108A2F: z (big.c:32)"
1119 ,"0x108AF3: main (big.c:56)"
1120 ,"0x108AFD: main (big.c:57)"
1121 ,"0x108B07: main (big.c:60)"
1124 //---------------------------------------------------------------------------
1128 label: "Total (bytes)",
1130 //---------------------------------------------------------------------------
1139 t-gmax: 245,281 instrs (96.81% of program duration)
1140 t-end: 253,354 instrs
1143 ▼ PP 1/1 (7 children) {
1144 Total: 1,000 bytes (100%, 3,947.05/Minstr) in 19 blocks (100%, 74.99/Minstr), avg size 52.63 bytes, avg lifetime 7,037.16 instrs (2.78% of program duration)
1145 At t-gmax: 706 bytes (100%) in 1 blocks (100%), avg size 706 bytes
1146 At t-end: 294 bytes (100%) in 18 blocks (100%), avg size 16.33 bytes
1147 Reads: 0 bytes (0%, 0/Minstr), 0/byte
1148 Writes: 0 bytes (0%, 0/Minstr), 0/byte
1153 ├─▼ PP 1.1/7 (3 children) {
1154 │ Total: 771 bytes (77.1%, 3,043.17/Minstr) in 5 blocks (26.32%, 19.74/Minstr), avg size 154.2 bytes, avg lifetime 6,414.8 instrs (2.53% of program duration)
1155 │ At t-gmax: 706 bytes (100%) in 1 blocks (100%), avg size 706 bytes
1156 │ At t-end: 65 bytes (22.11%) in 4 blocks (22.22%), avg size 16.25 bytes
1157 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1158 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1160 │ #1: 0x1086A1: a (big.c:10)
1163 │ ├─▼ PP 1.1.1/3 (2 children) {
1164 │ │ Total: 741 bytes (74.1%, 2,924.76/Minstr) in 3 blocks (15.79%, 11.84/Minstr), avg size 247 bytes, avg lifetime 5,475 instrs (2.16% of program duration)
1165 │ │ At t-gmax: 706 bytes (100%) in 1 blocks (100%), avg size 706 bytes
1166 │ │ At t-end: 35 bytes (11.9%) in 2 blocks (11.11%), avg size 17.5 bytes
1167 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1168 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1170 │ │ ^1: 0x1086A1: a (big.c:10)
1171 │ │ #2: 0x1086BB: b1 (big.c:11)
1174 │ │ ├─▼ PP 1.1.1.1/2 (2 children) {
1175 │ │ │ Total: 711 bytes (71.1%, 2,806.35/Minstr) in 2 blocks (10.53%, 7.89/Minstr), avg size 355.5 bytes, avg lifetime 4,257.5 instrs (1.68% of program duration)
1176 │ │ │ At t-gmax: 706 bytes (100%) in 1 blocks (100%), avg size 706 bytes
1177 │ │ │ At t-end: 5 bytes (1.7%) in 1 blocks (5.56%), avg size 5 bytes
1178 │ │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1179 │ │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1180 │ │ │ Allocated at {
1181 │ │ │ ^1: 0x1086A1: a (big.c:10)
1182 │ │ │ ^2: 0x1086BB: b1 (big.c:11)
1183 │ │ │ #3: 0x1086D5: c1 (big.c:12)
1186 │ │ │ ├── PP 1.1.1.1.1/2 {
1187 │ │ │ │ Total: 706 bytes (70.6%, 2,786.61/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 706 bytes, avg lifetime 543 instrs (0.21% of program duration)
1188 │ │ │ │ Max: 706 bytes in 1 blocks, avg size 706 bytes
1189 │ │ │ │ At t-gmax: 706 bytes (100%) in 1 blocks (100%), avg size 706 bytes
1190 │ │ │ │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1191 │ │ │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1192 │ │ │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1194 │ │ │ │ [ 0] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1195 │ │ │ │ [ 32] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1196 │ │ │ │ [ 64] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1197 │ │ │ │ [ 96] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1198 │ │ │ │ [128] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1199 │ │ │ │ [160] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1200 │ │ │ │ [192] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1201 │ │ │ │ [224] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1202 │ │ │ │ [256] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1203 │ │ │ │ [288] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1204 │ │ │ │ [320] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1205 │ │ │ │ [352] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1206 │ │ │ │ [384] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1207 │ │ │ │ [416] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1208 │ │ │ │ [448] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1209 │ │ │ │ [480] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1210 │ │ │ │ [512] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1211 │ │ │ │ [544] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1212 │ │ │ │ [576] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1213 │ │ │ │ [608] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1214 │ │ │ │ [640] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1215 │ │ │ │ [672] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1218 │ │ │ │ Allocated at {
1219 │ │ │ │ ^1: 0x1086A1: a (big.c:10)
1220 │ │ │ │ ^2: 0x1086BB: b1 (big.c:11)
1221 │ │ │ │ ^3: 0x1086D5: c1 (big.c:12)
1222 │ │ │ │ #4: 0x1086EF: d1 (big.c:13)
1223 │ │ │ │ #5: 0x108A43: main (big.c:38)
1226 │ │ │ └── PP 1.1.1.1.2/2 {
1227 │ │ │ Total: 5 bytes (0.5%, 19.74/Minstr)
1228 │ │ │ Allocated at {
1229 │ │ │ [1 insignificant]
1232 │ │ └── PP 1.1.1.2/2 {
1233 │ │ Total: 30 bytes (3%, 118.41/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 30 bytes, avg lifetime 7,910 instrs (3.12% of program duration)
1234 │ │ Max: 30 bytes in 1 blocks, avg size 30 bytes
1235 │ │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1236 │ │ At t-end: 30 bytes (10.2%) in 1 blocks (5.56%), avg size 30 bytes
1237 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1238 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1240 │ │ [ 0] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1243 │ │ ^1: 0x1086A1: a (big.c:10)
1244 │ │ ^2: 0x1086BB: b1 (big.c:11)
1245 │ │ #3: 0x108723: c2 (big.c:15)
1246 │ │ #4: 0x108A67: main (big.c:42)
1250 │ │ Total: 20 bytes (2%, 78.94/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 20 bytes, avg lifetime 7,857 instrs (3.1% of program duration)
1251 │ │ Max: 20 bytes in 1 blocks, avg size 20 bytes
1252 │ │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1253 │ │ At t-end: 20 bytes (6.8%) in 1 blocks (5.56%), avg size 20 bytes
1254 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1255 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1257 │ │ [ 0] - - - - - - - - - - - - - - - - - - - -
1260 │ │ ^1: 0x1086A1: a (big.c:10)
1261 │ │ #2: 0x10873D: b2 (big.c:16)
1262 │ │ #3: 0x108A71: main (big.c:43)
1266 │ Total: 10 bytes (1%, 39.47/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 10 bytes, avg lifetime 7,792 instrs (3.08% of program duration)
1267 │ Max: 10 bytes in 1 blocks, avg size 10 bytes
1268 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1269 │ At t-end: 10 bytes (3.4%) in 1 blocks (5.56%), avg size 10 bytes
1270 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1271 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1273 │ [ 0] - - - - - - - - - -
1276 │ ^1: 0x1086A1: a (big.c:10)
1277 │ #2: 0x108757: b3 (big.c:17)
1278 │ #3: 0x108771: e (big.c:17)
1279 │ #4: 0x10878B: f (big.c:17)
1280 │ #5: 0x108A7B: main (big.c:44)
1283 ├─▼ PP 1.2/7 (3 children) {
1284 │ Total: 120 bytes (12%, 473.65/Minstr) in 5 blocks (26.32%, 19.74/Minstr), avg size 24 bytes, avg lifetime 7,536 instrs (2.97% of program duration)
1285 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1286 │ At t-end: 120 bytes (40.82%) in 5 blocks (27.78%), avg size 24 bytes
1287 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1288 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1290 │ #1: 0x1087A5: g (big.c:18)
1291 │ #2: 0x1087BF: h (big.c:18)
1292 │ #3: 0x1087D9: i (big.c:18)
1296 │ │ Total: 60 bytes (6%, 236.82/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 60 bytes, avg lifetime 7,709 instrs (3.04% of program duration)
1297 │ │ Max: 60 bytes in 1 blocks, avg size 60 bytes
1298 │ │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1299 │ │ At t-end: 60 bytes (20.41%) in 1 blocks (5.56%), avg size 60 bytes
1300 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1301 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1303 │ │ [ 0] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1304 │ │ [ 32] - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1307 │ │ ^1: 0x1087A5: g (big.c:18)
1308 │ │ ^2: 0x1087BF: h (big.c:18)
1309 │ │ ^3: 0x1087D9: i (big.c:18)
1310 │ │ #4: 0x1087F3: j2 (big.c:19)
1311 │ │ #5: 0x10880D: k (big.c:19)
1312 │ │ #6: 0x108827: l (big.c:19)
1313 │ │ #7: 0x108A85: main (big.c:45)
1316 │ ├─▼ PP 1.2.2/3 (2 children) {
1317 │ │ Total: 50 bytes (5%, 197.35/Minstr) in 2 blocks (10.53%, 7.89/Minstr), avg size 25 bytes, avg lifetime 7,575 instrs (2.99% of program duration)
1318 │ │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1319 │ │ At t-end: 50 bytes (17.01%) in 2 blocks (11.11%), avg size 25 bytes
1320 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1321 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1323 │ │ ^1: 0x1087A5: g (big.c:18)
1324 │ │ ^2: 0x1087BF: h (big.c:18)
1325 │ │ ^3: 0x1087D9: i (big.c:18)
1326 │ │ #4: 0x108841: j3 (big.c:20)
1327 │ │ #5: 0x10885B: m (big.c:20)
1330 │ │ ├── PP 1.2.2.1/2 {
1331 │ │ │ Total: 30 bytes (3%, 118.41/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 30 bytes, avg lifetime 7,622 instrs (3.01% of program duration)
1332 │ │ │ Max: 30 bytes in 1 blocks, avg size 30 bytes
1333 │ │ │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1334 │ │ │ At t-end: 30 bytes (10.2%) in 1 blocks (5.56%), avg size 30 bytes
1335 │ │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1336 │ │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1338 │ │ │ [ 0] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1340 │ │ │ Allocated at {
1341 │ │ │ ^1: 0x1087A5: g (big.c:18)
1342 │ │ │ ^2: 0x1087BF: h (big.c:18)
1343 │ │ │ ^3: 0x1087D9: i (big.c:18)
1344 │ │ │ ^4: 0x108841: j3 (big.c:20)
1345 │ │ │ ^5: 0x10885B: m (big.c:20)
1346 │ │ │ #6: 0x108875: n1 (big.c:21)
1347 │ │ │ #7: 0x108A8F: main (big.c:46)
1350 │ │ └── PP 1.2.2.2/2 {
1351 │ │ Total: 20 bytes (2%, 78.94/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 20 bytes, avg lifetime 7,528 instrs (2.97% of program duration)
1352 │ │ Max: 20 bytes in 1 blocks, avg size 20 bytes
1353 │ │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1354 │ │ At t-end: 20 bytes (6.8%) in 1 blocks (5.56%), avg size 20 bytes
1355 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1356 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1358 │ │ [ 0] - - - - - - - - - - - - - - - - - - - -
1361 │ │ ^1: 0x1087A5: g (big.c:18)
1362 │ │ ^2: 0x1087BF: h (big.c:18)
1363 │ │ ^3: 0x1087D9: i (big.c:18)
1364 │ │ ^4: 0x108841: j3 (big.c:20)
1365 │ │ ^5: 0x10885B: m (big.c:20)
1366 │ │ #6: 0x10888F: n2 (big.c:22)
1367 │ │ #7: 0x1088A9: o (big.c:22)
1368 │ │ #8: 0x108A99: main (big.c:47)
1372 │ Total: 10 bytes (1%, 39.47/Minstr)
1378 │ Total: 30 bytes (3%, 118.41/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 30 bytes, avg lifetime 7,299 instrs (2.88% of program duration)
1379 │ Max: 30 bytes in 1 blocks, avg size 30 bytes
1380 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1381 │ At t-end: 30 bytes (10.2%) in 1 blocks (5.56%), avg size 30 bytes
1382 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1383 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1385 │ [ 0] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1388 │ #1: 0x108911: s1 (big.c:25)
1389 │ #2: 0x10892B: s2 (big.c:25)
1390 │ #3: 0x108945: s3 (big.c:25)
1391 │ #4: 0x10895F: s4 (big.c:25)
1392 │ #5: 0x108979: s5 (big.c:25)
1393 │ #6: 0x108AB7: main (big.c:50)
1396 ├─▼ PP 1.4/7 (1 children) {
1397 │ Total: 30 bytes (3%, 118.41/Minstr) in 5 blocks (26.32%, 19.74/Minstr), avg size 6 bytes, avg lifetime 7,056 instrs (2.79% of program duration)
1398 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1399 │ At t-end: 30 bytes (10.2%) in 5 blocks (27.78%), avg size 6 bytes
1400 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1401 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1403 │ #1: 0x1089C7: v (big.c:28)
1407 │ Total: 30 bytes (3%, 118.41/Minstr)
1413 │ Total: 20 bytes (2%, 78.94/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 20 bytes, avg lifetime 7,249 instrs (2.86% of program duration)
1414 │ Max: 20 bytes in 1 blocks, avg size 20 bytes
1415 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1416 │ At t-end: 20 bytes (6.8%) in 1 blocks (5.56%), avg size 20 bytes
1417 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1418 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1420 │ [ 0] - - - - - - - - - - - - - - - - - - - -
1423 │ #1: 0x108993: t (big.c:26)
1424 │ #2: 0x108AC1: main (big.c:51)
1428 │ Total: 19 bytes (1.9%, 74.99/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 19 bytes, avg lifetime 7,207 instrs (2.84% of program duration)
1429 │ Max: 19 bytes in 1 blocks, avg size 19 bytes
1430 │ At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1431 │ At t-end: 19 bytes (6.46%) in 1 blocks (5.56%), avg size 19 bytes
1432 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1433 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1435 │ [ 0] - - - - - - - - - - - - - - - - - - -
1438 │ #1: 0x1089AD: u (big.c:27)
1439 │ #2: 0x108ACB: main (big.c:52)
1443 Total: 10 bytes (1%, 39.47/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 10 bytes, avg lifetime 6,917 instrs (2.73% of program duration)
1444 Max: 10 bytes in 1 blocks, avg size 10 bytes
1445 At t-gmax: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1446 At t-end: 10 bytes (3.4%) in 1 blocks (5.56%), avg size 10 bytes
1447 Reads: 0 bytes (0%, 0/Minstr), 0/byte
1448 Writes: 0 bytes (0%, 0/Minstr), 0/byte
1450 [ 0] - - - - - - - - - -
1453 #1: 0x108B07: main (big.c:60)
1457 PP significance threshold: total >= 10 bytes (1%)
1459 //---------------------------------------------------------------------------
1462 label: "Total (blocks), short-lived",
1464 //---------------------------------------------------------------------------
1473 t-gmax: 245,281 instrs (96.81% of program duration)
1474 t-end: 253,354 instrs
1477 ▼ PP 1/1 (1 children) {
1478 Total: 19 blocks (100%, 74.99/Minstr), avg lifetime 7,037.16 instrs (2.78% of program duration)
1484 Total: 19 blocks (100%, 74.99/Minstr), avg lifetime 7,037.16 instrs (2.78% of program duration)
1490 PP significance threshold: (total >= 0.1 blocks (0.5%)) && (avg lifetime <= 500 instrs)
1492 //---------------------------------------------------------------------------
1495 label: "At t-gmax (bytes)",
1497 //---------------------------------------------------------------------------
1506 t-gmax: 245,281 instrs (96.81% of program duration)
1507 t-end: 253,354 instrs
1510 ▼ PP 1/1 (2 children) {
1511 Total: 1,000 bytes (100%, 3,947.05/Minstr) in 19 blocks (100%, 74.99/Minstr), avg size 52.63 bytes, avg lifetime 7,037.16 instrs (2.78% of program duration)
1512 At t-gmax: 706 bytes (100%) in 1 blocks (100%), avg size 706 bytes
1513 At t-end: 294 bytes (100%) in 18 blocks (100%), avg size 16.33 bytes
1514 Reads: 0 bytes (0%, 0/Minstr), 0/byte
1515 Writes: 0 bytes (0%, 0/Minstr), 0/byte
1520 ├─▼ PP 1.1/2 (2 children) {
1521 │ Total: 771 bytes (77.1%, 3,043.17/Minstr) in 5 blocks (26.32%, 19.74/Minstr), avg size 154.2 bytes, avg lifetime 6,414.8 instrs (2.53% of program duration)
1522 │ At t-gmax: 706 bytes (100%) in 1 blocks (100%), avg size 706 bytes
1523 │ At t-end: 65 bytes (22.11%) in 4 blocks (22.22%), avg size 16.25 bytes
1524 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1525 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1527 │ #1: 0x1086A1: a (big.c:10)
1530 │ ├─▼ PP 1.1.1/2 (2 children) {
1531 │ │ Total: 741 bytes (74.1%, 2,924.76/Minstr) in 3 blocks (15.79%, 11.84/Minstr), avg size 247 bytes, avg lifetime 5,475 instrs (2.16% of program duration)
1532 │ │ At t-gmax: 706 bytes (100%) in 1 blocks (100%), avg size 706 bytes
1533 │ │ At t-end: 35 bytes (11.9%) in 2 blocks (11.11%), avg size 17.5 bytes
1534 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1535 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1537 │ │ ^1: 0x1086A1: a (big.c:10)
1538 │ │ #2: 0x1086BB: b1 (big.c:11)
1541 │ │ ├─▼ PP 1.1.1.1/2 (2 children) {
1542 │ │ │ Total: 711 bytes (71.1%, 2,806.35/Minstr) in 2 blocks (10.53%, 7.89/Minstr), avg size 355.5 bytes, avg lifetime 4,257.5 instrs (1.68% of program duration)
1543 │ │ │ At t-gmax: 706 bytes (100%) in 1 blocks (100%), avg size 706 bytes
1544 │ │ │ At t-end: 5 bytes (1.7%) in 1 blocks (5.56%), avg size 5 bytes
1545 │ │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1546 │ │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1547 │ │ │ Allocated at {
1548 │ │ │ ^1: 0x1086A1: a (big.c:10)
1549 │ │ │ ^2: 0x1086BB: b1 (big.c:11)
1550 │ │ │ #3: 0x1086D5: c1 (big.c:12)
1553 │ │ │ ├── PP 1.1.1.1.1/2 {
1554 │ │ │ │ Total: 706 bytes (70.6%, 2,786.61/Minstr) in 1 blocks (5.26%, 3.95/Minstr), avg size 706 bytes, avg lifetime 543 instrs (0.21% of program duration)
1555 │ │ │ │ Max: 706 bytes in 1 blocks, avg size 706 bytes
1556 │ │ │ │ At t-gmax: 706 bytes (100%) in 1 blocks (100%), avg size 706 bytes
1557 │ │ │ │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
1558 │ │ │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1559 │ │ │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1561 │ │ │ │ [ 0] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1562 │ │ │ │ [ 32] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1563 │ │ │ │ [ 64] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1564 │ │ │ │ [ 96] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1565 │ │ │ │ [128] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1566 │ │ │ │ [160] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1567 │ │ │ │ [192] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1568 │ │ │ │ [224] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1569 │ │ │ │ [256] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1570 │ │ │ │ [288] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1571 │ │ │ │ [320] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1572 │ │ │ │ [352] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1573 │ │ │ │ [384] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1574 │ │ │ │ [416] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1575 │ │ │ │ [448] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1576 │ │ │ │ [480] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1577 │ │ │ │ [512] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1578 │ │ │ │ [544] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1579 │ │ │ │ [576] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1580 │ │ │ │ [608] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1581 │ │ │ │ [640] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1582 │ │ │ │ [672] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1585 │ │ │ │ Allocated at {
1586 │ │ │ │ ^1: 0x1086A1: a (big.c:10)
1587 │ │ │ │ ^2: 0x1086BB: b1 (big.c:11)
1588 │ │ │ │ ^3: 0x1086D5: c1 (big.c:12)
1589 │ │ │ │ #4: 0x1086EF: d1 (big.c:13)
1590 │ │ │ │ #5: 0x108A43: main (big.c:38)
1593 │ │ │ └── PP 1.1.1.1.2/2 {
1594 │ │ │ At t-gmax: 0 bytes (0%)
1595 │ │ │ Allocated at {
1596 │ │ │ [1 insignificant]
1599 │ │ └── PP 1.1.1.2/2 {
1600 │ │ At t-gmax: 0 bytes (0%)
1602 │ │ [1 insignificant]
1606 │ At t-gmax: 0 bytes (0%)
1612 At t-gmax: 0 bytes (0%)
1618 PP significance threshold: at-t-gmax >= 7.06 bytes (1%)
1620 //---------------------------------------------------------------------------
1626 //---------------------------------------------------------------------------
1627 // sig (corresponds to dhat/tests/sig.c)
1628 //---------------------------------------------------------------------------
1633 //---------------------------------------------------------------------------
1634 {"dhatFileVersion":2
1635 ,"mode":"heap","verb":"Allocated"
1636 ,"bklt":true,"bkacc":true
1637 ,"tu":"instrs","Mtu":"Minstr"
1644 [{"tb":11,"tbk":1,"tl":1075941
1652 ,{"tb":10,"tbk":1,"tl":880845
1660 ,{"tb":5,"tbk":1,"tl":702250
1668 ,{"tb":4,"tbk":1,"tl":606170
1676 ,{"tb":10,"tbk":1,"tl":510097
1684 ,{"tb":9,"tbk":1,"tl":331504
1692 ,{"tb":5,"tbk":1,"tl":169412
1700 ,{"tb":3,"tbk":1,"tl":169360
1708 ,{"tb":9,"tbk":1,"tl":169315
1716 ,{"tb":8,"tbk":1,"tl":7225
1724 ,{"tb":4,"tbk":1,"tl":7173
1732 ,{"tb":3,"tbk":1,"tl":7121
1740 ,{"tb":8,"tbk":1,"tl":7076
1748 ,{"tb":7,"tbk":1,"tl":7026
1756 ,{"tb":4,"tbk":1,"tl":6974
1764 ,{"tb":2,"tbk":1,"tl":6922
1775 ,"0x108681: am (sig.c:9)"
1776 ,"0x10883C: main (sig.c:57)"
1777 ,"0x10869B: a2 (sig.c:11)"
1778 ,"0x10885B: main (sig.c:58)"
1779 ,"0x1086B5: a3 (sig.c:12)"
1780 ,"0x10887A: main (sig.c:59)"
1781 ,"0x108899: main (sig.c:60)"
1782 ,"0x1086CF: bm (sig.c:15)"
1783 ,"0x1088B8: main (sig.c:62)"
1784 ,"0x1086E9: b2 (sig.c:17)"
1785 ,"0x1088D7: main (sig.c:63)"
1786 ,"0x108703: b3 (sig.c:18)"
1787 ,"0x1088F6: main (sig.c:64)"
1788 ,"0x108904: main (sig.c:65)"
1789 ,"0x10871D: cm (sig.c:21)"
1790 ,"0x108912: main (sig.c:67)"
1791 ,"0x108737: c2 (sig.c:23)"
1792 ,"0x108931: main (sig.c:68)"
1793 ,"0x108751: c3 (sig.c:24)"
1794 ,"0x10893F: main (sig.c:69)"
1795 ,"0x10894D: main (sig.c:70)"
1796 ,"0x10876B: dm (sig.c:27)"
1797 ,"0x10895B: main (sig.c:72)"
1798 ,"0x108785: d2 (sig.c:29)"
1799 ,"0x108969: main (sig.c:73)"
1800 ,"0x10879F: d3 (sig.c:30)"
1801 ,"0x108977: main (sig.c:74)"
1802 ,"0x108985: main (sig.c:75)"
1805 //---------------------------------------------------------------------------
1809 label: "Total (bytes), zero reads or zero writes",
1811 //---------------------------------------------------------------------------
1820 t-gmax: 1,311,861 instrs (99.48% of program duration)
1821 t-end: 1,318,783 instrs
1824 ▼ PP 1/1 (4 children) {
1825 Total: 102 bytes (100%, 77.34/Minstr)
1826 Reads: 58 bytes (100%, 43.98/Minstr)
1827 Writes: 86,942 bytes (100%, 65,925.93/Minstr)
1833 │ Total: 30 bytes (29.41%, 22.75/Minstr)
1834 │ Reads: 30 bytes (51.72%, 22.75/Minstr)
1835 │ Writes: 44,970 bytes (51.72%, 34,099.62/Minstr)
1840 ├─▼ PP 1.2/4 (2 children) {
1841 │ Total: 27 bytes (26.47%, 20.47/Minstr)
1842 │ Reads: 19 bytes (32.76%, 14.41/Minstr)
1843 │ Writes: 28,481 bytes (32.76%, 21,596.43/Minstr)
1845 │ #1: 0x1086CF: bm (sig.c:15)
1849 │ │ Total: 19 bytes (18.63%, 14.41/Minstr)
1850 │ │ Reads: 19 bytes (32.76%, 14.41/Minstr)
1851 │ │ Writes: 28,481 bytes (32.76%, 21,596.43/Minstr)
1853 │ │ [2 insignificant]
1856 │ └─▼ PP 1.2.2/2 (2 children) {
1857 │ Total: 8 bytes (7.84%, 6.07/Minstr) in 2 blocks (12.5%, 1.52/Minstr), avg size 4 bytes, avg lifetime 169,386 instrs (12.84% of program duration)
1858 │ At t-gmax: 8 bytes (7.84%) in 2 blocks (12.5%), avg size 4 bytes
1859 │ At t-end: 8 bytes (7.84%) in 2 blocks (12.5%), avg size 4 bytes
1860 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1861 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1863 │ ^1: 0x1086CF: bm (sig.c:15)
1864 │ #2: 0x108703: b3 (sig.c:18)
1867 │ ├── PP 1.2.2.1/2 {
1868 │ │ Total: 5 bytes (4.9%, 3.79/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 5 bytes, avg lifetime 169,412 instrs (12.85% of program duration)
1869 │ │ Max: 5 bytes in 1 blocks, avg size 5 bytes
1870 │ │ At t-gmax: 5 bytes (4.9%) in 1 blocks (6.25%), avg size 5 bytes
1871 │ │ At t-end: 5 bytes (4.9%) in 1 blocks (6.25%), avg size 5 bytes
1872 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1873 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1878 │ │ ^1: 0x1086CF: bm (sig.c:15)
1879 │ │ ^2: 0x108703: b3 (sig.c:18)
1880 │ │ #3: 0x1088F6: main (sig.c:64)
1883 │ └── PP 1.2.2.2/2 {
1884 │ Total: 3 bytes (2.94%, 2.27/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 3 bytes, avg lifetime 169,360 instrs (12.84% of program duration)
1885 │ Max: 3 bytes in 1 blocks, avg size 3 bytes
1886 │ At t-gmax: 3 bytes (2.94%) in 1 blocks (6.25%), avg size 3 bytes
1887 │ At t-end: 3 bytes (2.94%) in 1 blocks (6.25%), avg size 3 bytes
1888 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1889 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1894 │ ^1: 0x1086CF: bm (sig.c:15)
1895 │ ^2: 0x108703: b3 (sig.c:18)
1896 │ #3: 0x108904: main (sig.c:65)
1899 ├─▼ PP 1.3/4 (3 children) {
1900 │ Total: 24 bytes (23.53%, 18.2/Minstr)
1901 │ Reads: 9 bytes (15.52%, 6.82/Minstr)
1902 │ Writes: 13,491 bytes (15.52%, 10,229.89/Minstr)
1904 │ #1: 0x10871D: cm (sig.c:21)
1908 │ │ Total: 9 bytes (8.82%, 6.82/Minstr)
1909 │ │ Reads: 9 bytes (15.52%, 6.82/Minstr)
1910 │ │ Writes: 13,491 bytes (15.52%, 10,229.89/Minstr)
1912 │ │ [1 insignificant]
1916 │ │ Total: 8 bytes (7.84%, 6.07/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 8 bytes, avg lifetime 7,225 instrs (0.55% of program duration)
1917 │ │ Max: 8 bytes in 1 blocks, avg size 8 bytes
1918 │ │ At t-gmax: 8 bytes (7.84%) in 1 blocks (6.25%), avg size 8 bytes
1919 │ │ At t-end: 8 bytes (7.84%) in 1 blocks (6.25%), avg size 8 bytes
1920 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1921 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1923 │ │ [ 0] - - - - - - - -
1926 │ │ ^1: 0x10871D: cm (sig.c:21)
1927 │ │ #2: 0x108737: c2 (sig.c:23)
1928 │ │ #3: 0x108931: main (sig.c:68)
1931 │ └─▼ PP 1.3.3/3 (2 children) {
1932 │ Total: 7 bytes (6.86%, 5.31/Minstr) in 2 blocks (12.5%, 1.52/Minstr), avg size 3.5 bytes, avg lifetime 7,147 instrs (0.54% of program duration)
1933 │ At t-gmax: 7 bytes (6.86%) in 2 blocks (12.5%), avg size 3.5 bytes
1934 │ At t-end: 7 bytes (6.86%) in 2 blocks (12.5%), avg size 3.5 bytes
1935 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1936 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1938 │ ^1: 0x10871D: cm (sig.c:21)
1939 │ #2: 0x108751: c3 (sig.c:24)
1942 │ ├── PP 1.3.3.1/2 {
1943 │ │ Total: 4 bytes (3.92%, 3.03/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 4 bytes, avg lifetime 7,173 instrs (0.54% of program duration)
1944 │ │ Max: 4 bytes in 1 blocks, avg size 4 bytes
1945 │ │ At t-gmax: 4 bytes (3.92%) in 1 blocks (6.25%), avg size 4 bytes
1946 │ │ At t-end: 4 bytes (3.92%) in 1 blocks (6.25%), avg size 4 bytes
1947 │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1948 │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1953 │ │ ^1: 0x10871D: cm (sig.c:21)
1954 │ │ ^2: 0x108751: c3 (sig.c:24)
1955 │ │ #3: 0x10893F: main (sig.c:69)
1958 │ └── PP 1.3.3.2/2 {
1959 │ Total: 3 bytes (2.94%, 2.27/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 3 bytes, avg lifetime 7,121 instrs (0.54% of program duration)
1960 │ Max: 3 bytes in 1 blocks, avg size 3 bytes
1961 │ At t-gmax: 3 bytes (2.94%) in 1 blocks (6.25%), avg size 3 bytes
1962 │ At t-end: 3 bytes (2.94%) in 1 blocks (6.25%), avg size 3 bytes
1963 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1964 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1969 │ ^1: 0x10871D: cm (sig.c:21)
1970 │ ^2: 0x108751: c3 (sig.c:24)
1971 │ #3: 0x10894D: main (sig.c:70)
1974 └─▼ PP 1.4/4 (3 children) {
1975 Total: 21 bytes (20.59%, 15.92/Minstr) in 4 blocks (25%, 3.03/Minstr), avg size 5.25 bytes, avg lifetime 6,999.5 instrs (0.53% of program duration)
1976 At t-gmax: 21 bytes (20.59%) in 4 blocks (25%), avg size 5.25 bytes
1977 At t-end: 21 bytes (20.59%) in 4 blocks (25%), avg size 5.25 bytes
1978 Reads: 0 bytes (0%, 0/Minstr), 0/byte
1979 Writes: 0 bytes (0%, 0/Minstr), 0/byte
1981 #1: 0x10876B: dm (sig.c:27)
1985 │ Total: 8 bytes (7.84%, 6.07/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 8 bytes, avg lifetime 7,076 instrs (0.54% of program duration)
1986 │ Max: 8 bytes in 1 blocks, avg size 8 bytes
1987 │ At t-gmax: 8 bytes (7.84%) in 1 blocks (6.25%), avg size 8 bytes
1988 │ At t-end: 8 bytes (7.84%) in 1 blocks (6.25%), avg size 8 bytes
1989 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
1990 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
1992 │ [ 0] - - - - - - - -
1995 │ ^1: 0x10876B: dm (sig.c:27)
1996 │ #2: 0x10895B: main (sig.c:72)
2000 │ Total: 7 bytes (6.86%, 5.31/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 7 bytes, avg lifetime 7,026 instrs (0.53% of program duration)
2001 │ Max: 7 bytes in 1 blocks, avg size 7 bytes
2002 │ At t-gmax: 7 bytes (6.86%) in 1 blocks (6.25%), avg size 7 bytes
2003 │ At t-end: 7 bytes (6.86%) in 1 blocks (6.25%), avg size 7 bytes
2004 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
2005 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
2007 │ [ 0] - - - - - - -
2010 │ ^1: 0x10876B: dm (sig.c:27)
2011 │ #2: 0x108785: d2 (sig.c:29)
2012 │ #3: 0x108969: main (sig.c:73)
2015 └─▼ PP 1.4.3/3 (2 children) {
2016 Total: 6 bytes (5.88%, 4.55/Minstr) in 2 blocks (12.5%, 1.52/Minstr), avg size 3 bytes, avg lifetime 6,948 instrs (0.53% of program duration)
2017 At t-gmax: 6 bytes (5.88%) in 2 blocks (12.5%), avg size 3 bytes
2018 At t-end: 6 bytes (5.88%) in 2 blocks (12.5%), avg size 3 bytes
2019 Reads: 0 bytes (0%, 0/Minstr), 0/byte
2020 Writes: 0 bytes (0%, 0/Minstr), 0/byte
2022 ^1: 0x10876B: dm (sig.c:27)
2023 #2: 0x10879F: d3 (sig.c:30)
2027 │ Total: 4 bytes (3.92%, 3.03/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 4 bytes, avg lifetime 6,974 instrs (0.53% of program duration)
2028 │ Max: 4 bytes in 1 blocks, avg size 4 bytes
2029 │ At t-gmax: 4 bytes (3.92%) in 1 blocks (6.25%), avg size 4 bytes
2030 │ At t-end: 4 bytes (3.92%) in 1 blocks (6.25%), avg size 4 bytes
2031 │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
2032 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
2037 │ ^1: 0x10876B: dm (sig.c:27)
2038 │ ^2: 0x10879F: d3 (sig.c:30)
2039 │ #3: 0x108977: main (sig.c:74)
2043 Total: 2 bytes (1.96%, 1.52/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 2 bytes, avg lifetime 6,922 instrs (0.52% of program duration)
2044 Max: 2 bytes in 1 blocks, avg size 2 bytes
2045 At t-gmax: 2 bytes (1.96%) in 1 blocks (6.25%), avg size 2 bytes
2046 At t-end: 2 bytes (1.96%) in 1 blocks (6.25%), avg size 2 bytes
2047 Reads: 0 bytes (0%, 0/Minstr), 0/byte
2048 Writes: 0 bytes (0%, 0/Minstr), 0/byte
2053 ^1: 0x10876B: dm (sig.c:27)
2054 ^2: 0x10879F: d3 (sig.c:30)
2055 #3: 0x108985: main (sig.c:75)
2059 PP significance threshold: (total >= 0.51 bytes (0.5%)) && ((reads == 0 bytes) || (writes == 0 bytes))
2061 //---------------------------------------------------------------------------
2064 label: "Total (blocks), low-access",
2066 //---------------------------------------------------------------------------
2075 t-gmax: 1,311,861 instrs (99.48% of program duration)
2076 t-end: 1,318,783 instrs
2079 ▼ PP 1/1 (2 children) {
2080 Total: 16 blocks (100%, 12.13/Minstr)
2088 │ Total: 12 blocks (75%, 9.1/Minstr)
2090 │ Writes: 941.68/byte
2095 └─▼ PP 1.2/2 (1 children) {
2096 Total: 24 bytes (23.53%, 18.2/Minstr) in 4 blocks (25%, 3.03/Minstr), avg size 6 bytes, avg lifetime 47,708.5 instrs (3.62% of program duration)
2097 At t-gmax: 24 bytes (23.53%) in 4 blocks (25%), avg size 6 bytes
2098 At t-end: 24 bytes (23.53%) in 4 blocks (25%), avg size 6 bytes
2099 Reads: 9 bytes (15.52%, 6.82/Minstr), 0.38/byte
2100 Writes: 13,491 bytes (15.52%, 10,229.89/Minstr), 562.13/byte
2102 #1: 0x10871D: cm (sig.c:21)
2106 Total: 4 blocks (25%, 3.03/Minstr)
2114 PP significance threshold: (total >= 0.08 blocks (0.5%)) && (reads != 0 bytes) && (writes != 0 bytes) && ((reads <= 0.4/byte) || (writes <= 0.4/byte))
2116 //---------------------------------------------------------------------------
2119 label: "Writes (bytes), high-access",
2121 //---------------------------------------------------------------------------
2130 t-gmax: 1,311,861 instrs (99.48% of program duration)
2131 t-end: 1,318,783 instrs
2134 ▼ PP 1/1 (4 children) {
2135 Writes: 86,942 bytes (100%, 65,925.93/Minstr), 852.37/byte
2140 ├─▼ PP 1.1/4 (3 children) {
2141 │ Total: 30 bytes (29.41%, 22.75/Minstr) in 4 blocks (25%, 3.03/Minstr), avg size 7.5 bytes, avg lifetime 816,301.5 instrs (61.9% of program duration)
2142 │ At t-gmax: 30 bytes (29.41%) in 4 blocks (25%), avg size 7.5 bytes
2143 │ At t-end: 30 bytes (29.41%) in 4 blocks (25%), avg size 7.5 bytes
2144 │ Reads: 30 bytes (51.72%, 22.75/Minstr), 1/byte
2145 │ Writes: 44,970 bytes (51.72%, 34,099.62/Minstr), 1,499/byte
2147 │ #1: 0x108681: am (sig.c:9)
2151 │ │ Total: 11 bytes (10.78%, 8.34/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 11 bytes, avg lifetime 1,075,941 instrs (81.59% of program duration)
2152 │ │ Max: 11 bytes in 1 blocks, avg size 11 bytes
2153 │ │ At t-gmax: 11 bytes (10.78%) in 1 blocks (6.25%), avg size 11 bytes
2154 │ │ At t-end: 11 bytes (10.78%) in 1 blocks (6.25%), avg size 11 bytes
2155 │ │ Reads: 11 bytes (18.97%, 8.34/Minstr), 1/byte
2156 │ │ Writes: 16,489 bytes (18.97%, 12,503.19/Minstr), 1,499/byte
2158 │ │ [ 0] 1500 〃 〃 〃 〃 〃 〃 〃 〃 〃 〃
2161 │ │ ^1: 0x108681: am (sig.c:9)
2162 │ │ #2: 0x10883C: main (sig.c:57)
2166 │ │ Total: 10 bytes (9.8%, 7.58/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 10 bytes, avg lifetime 880,845 instrs (66.79% of program duration)
2167 │ │ Max: 10 bytes in 1 blocks, avg size 10 bytes
2168 │ │ At t-gmax: 10 bytes (9.8%) in 1 blocks (6.25%), avg size 10 bytes
2169 │ │ At t-end: 10 bytes (9.8%) in 1 blocks (6.25%), avg size 10 bytes
2170 │ │ Reads: 10 bytes (17.24%, 7.58/Minstr), 1/byte
2171 │ │ Writes: 14,990 bytes (17.24%, 11,366.54/Minstr), 1,499/byte
2173 │ │ [ 0] 1500 〃 〃 〃 〃 〃 〃 〃 〃 〃
2176 │ │ ^1: 0x108681: am (sig.c:9)
2177 │ │ #2: 0x10869B: a2 (sig.c:11)
2178 │ │ #3: 0x10885B: main (sig.c:58)
2181 │ └─▼ PP 1.1.3/3 (2 children) {
2182 │ Total: 9 bytes (8.82%, 6.82/Minstr) in 2 blocks (12.5%, 1.52/Minstr), avg size 4.5 bytes, avg lifetime 654,210 instrs (49.61% of program duration)
2183 │ At t-gmax: 9 bytes (8.82%) in 2 blocks (12.5%), avg size 4.5 bytes
2184 │ At t-end: 9 bytes (8.82%) in 2 blocks (12.5%), avg size 4.5 bytes
2185 │ Reads: 9 bytes (15.52%, 6.82/Minstr), 1/byte
2186 │ Writes: 13,491 bytes (15.52%, 10,229.89/Minstr), 1,499/byte
2188 │ ^1: 0x108681: am (sig.c:9)
2189 │ #2: 0x1086B5: a3 (sig.c:12)
2192 │ ├── PP 1.1.3.1/2 {
2193 │ │ Total: 5 bytes (4.9%, 3.79/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 5 bytes, avg lifetime 702,250 instrs (53.25% of program duration)
2194 │ │ Max: 5 bytes in 1 blocks, avg size 5 bytes
2195 │ │ At t-gmax: 5 bytes (4.9%) in 1 blocks (6.25%), avg size 5 bytes
2196 │ │ At t-end: 5 bytes (4.9%) in 1 blocks (6.25%), avg size 5 bytes
2197 │ │ Reads: 5 bytes (8.62%, 3.79/Minstr), 1/byte
2198 │ │ Writes: 7,495 bytes (8.62%, 5,683.27/Minstr), 1,499/byte
2200 │ │ [ 0] 1500 〃 〃 〃 〃
2203 │ │ ^1: 0x108681: am (sig.c:9)
2204 │ │ ^2: 0x1086B5: a3 (sig.c:12)
2205 │ │ #3: 0x10887A: main (sig.c:59)
2208 │ └── PP 1.1.3.2/2 {
2209 │ Total: 4 bytes (3.92%, 3.03/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 4 bytes, avg lifetime 606,170 instrs (45.96% of program duration)
2210 │ Max: 4 bytes in 1 blocks, avg size 4 bytes
2211 │ At t-gmax: 4 bytes (3.92%) in 1 blocks (6.25%), avg size 4 bytes
2212 │ At t-end: 4 bytes (3.92%) in 1 blocks (6.25%), avg size 4 bytes
2213 │ Reads: 4 bytes (6.9%, 3.03/Minstr), 1/byte
2214 │ Writes: 5,996 bytes (6.9%, 4,546.62/Minstr), 1,499/byte
2219 │ ^1: 0x108681: am (sig.c:9)
2220 │ ^2: 0x1086B5: a3 (sig.c:12)
2221 │ #3: 0x108899: main (sig.c:60)
2224 ├─▼ PP 1.2/4 (3 children) {
2225 │ Total: 27 bytes (26.47%, 20.47/Minstr) in 4 blocks (25%, 3.03/Minstr), avg size 6.75 bytes, avg lifetime 295,093.25 instrs (22.38% of program duration)
2226 │ At t-gmax: 27 bytes (26.47%) in 4 blocks (25%), avg size 6.75 bytes
2227 │ At t-end: 27 bytes (26.47%) in 4 blocks (25%), avg size 6.75 bytes
2228 │ Reads: 19 bytes (32.76%, 14.41/Minstr), 0.7/byte
2229 │ Writes: 28,481 bytes (32.76%, 21,596.43/Minstr), 1,054.85/byte
2231 │ #1: 0x1086CF: bm (sig.c:15)
2235 │ │ Total: 10 bytes (9.8%, 7.58/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 10 bytes, avg lifetime 510,097 instrs (38.68% of program duration)
2236 │ │ Max: 10 bytes in 1 blocks, avg size 10 bytes
2237 │ │ At t-gmax: 10 bytes (9.8%) in 1 blocks (6.25%), avg size 10 bytes
2238 │ │ At t-end: 10 bytes (9.8%) in 1 blocks (6.25%), avg size 10 bytes
2239 │ │ Reads: 10 bytes (17.24%, 7.58/Minstr), 1/byte
2240 │ │ Writes: 14,990 bytes (17.24%, 11,366.54/Minstr), 1,499/byte
2242 │ │ [ 0] 1500 〃 〃 〃 〃 〃 〃 〃 〃 〃
2245 │ │ ^1: 0x1086CF: bm (sig.c:15)
2246 │ │ #2: 0x1088B8: main (sig.c:62)
2250 │ │ Total: 9 bytes (8.82%, 6.82/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 9 bytes, avg lifetime 331,504 instrs (25.14% of program duration)
2251 │ │ Max: 9 bytes in 1 blocks, avg size 9 bytes
2252 │ │ At t-gmax: 9 bytes (8.82%) in 1 blocks (6.25%), avg size 9 bytes
2253 │ │ At t-end: 9 bytes (8.82%) in 1 blocks (6.25%), avg size 9 bytes
2254 │ │ Reads: 9 bytes (15.52%, 6.82/Minstr), 1/byte
2255 │ │ Writes: 13,491 bytes (15.52%, 10,229.89/Minstr), 1,499/byte
2257 │ │ [ 0] 1500 〃 〃 〃 〃 〃 〃 〃 〃
2260 │ │ ^1: 0x1086CF: bm (sig.c:15)
2261 │ │ #2: 0x1086E9: b2 (sig.c:17)
2262 │ │ #3: 0x1088D7: main (sig.c:63)
2266 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
2271 ├─▼ PP 1.3/4 (2 children) {
2272 │ Writes: 13,491 bytes (15.52%, 10,229.89/Minstr), 562.13/byte
2274 │ #1: 0x10871D: cm (sig.c:21)
2278 │ │ Total: 9 bytes (8.82%, 6.82/Minstr) in 1 blocks (6.25%, 0.76/Minstr), avg size 9 bytes, avg lifetime 169,315 instrs (12.84% of program duration)
2279 │ │ Max: 9 bytes in 1 blocks, avg size 9 bytes
2280 │ │ At t-gmax: 9 bytes (8.82%) in 1 blocks (6.25%), avg size 9 bytes
2281 │ │ At t-end: 9 bytes (8.82%) in 1 blocks (6.25%), avg size 9 bytes
2282 │ │ Reads: 9 bytes (15.52%, 6.82/Minstr), 1/byte
2283 │ │ Writes: 13,491 bytes (15.52%, 10,229.89/Minstr), 1,499/byte
2285 │ │ [ 0] 1500 〃 〃 〃 〃 〃 〃 〃 〃
2288 │ │ ^1: 0x10871D: cm (sig.c:21)
2289 │ │ #2: 0x108912: main (sig.c:67)
2293 │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
2299 Writes: 0 bytes (0%, 0/Minstr), 0/byte
2305 PP significance threshold: (writes >= 434.71 bytes (0.5%)) && ((reads >= 1,000/byte) || (writes >= 1,000/byte))
2307 //---------------------------------------------------------------------------
2313 //---------------------------------------------------------------------------
2314 // sig2 (doesn't corresponds to a .c file)
2315 //---------------------------------------------------------------------------
2320 //---------------------------------------------------------------------------
2321 {"dhatFileVersion":2
2322 ,"mode":"heap","verb":"Allocated"
2323 ,"bklt":true,"bkacc":true
2324 ,"tu":"instrs","Mtu":"Minstr"
2331 [{"tb":100,"tbk":1,"tl":1000
2339 ,{"tb":101,"tbk":1,"tl":1000
2347 ,{"tb":102,"tbk":1,"tl":1000
2355 ,{"tb":103,"tbk":1,"tl":1000
2363 ,{"tb":104,"tbk":1,"tl":1000
2371 ,{"tb":105,"tbk":1,"tl":1000
2379 ,{"tb":10,"tbk":1,"tl":1000
2387 ,{"tb":106,"tbk":1,"tl":1000
2395 ,{"tb":107,"tbk":1,"tl":1000
2420 //---------------------------------------------------------------------------
2424 label: "Total (blocks), tiny",
2426 //---------------------------------------------------------------------------
2435 t-gmax: 10,000 instrs (50% of program duration)
2436 t-end: 20,000 instrs
2439 ▼ PP 1/1 (2 children) {
2440 Total: 9 blocks (100%, 450/Minstr), avg size 93.11 bytes
2445 ├─▼ PP 1.1/2 (2 children) {
2446 │ Total: 7 blocks (77.78%, 350/Minstr), avg size 91 bytes
2451 │ ├─▼ PP 1.1.1/2 (2 children) {
2452 │ │ Total: 5 blocks (55.56%, 250/Minstr), avg size 86.4 bytes
2457 │ │ ├─▼ PP 1.1.1.1/2 (2 children) {
2458 │ │ │ Total: 3 blocks (33.33%, 150/Minstr), avg size 74.33 bytes
2459 │ │ │ Allocated at {
2463 │ │ │ ├── PP 1.1.1.1.1/2 {
2464 │ │ │ │ Total: 2 blocks (22.22%, 100/Minstr), avg size 106.5 bytes
2465 │ │ │ │ Allocated at {
2466 │ │ │ │ [2 insignificant]
2469 │ │ │ └── PP 1.1.1.1.2/2 {
2470 │ │ │ Total: 10 bytes (1.19%, 500/Minstr) in 1 blocks (11.11%, 50/Minstr), avg size 10 bytes, avg lifetime 1,000 instrs (5% of program duration)
2471 │ │ │ Max: 10 bytes in 1 blocks, avg size 10 bytes
2472 │ │ │ At t-gmax: 10 bytes (1.19%) in 1 blocks (11.11%), avg size 10 bytes
2473 │ │ │ At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
2474 │ │ │ Reads: 0 bytes (0%, 0/Minstr), 0/byte
2475 │ │ │ Writes: 0 bytes (0%, 0/Minstr), 0/byte
2477 │ │ │ [ 0] - - - - - - - - - -
2479 │ │ │ Allocated at {
2486 │ │ └── PP 1.1.1.2/2 {
2487 │ │ Total: 2 blocks (22.22%, 100/Minstr), avg size 104.5 bytes
2489 │ │ [2 insignificant]
2493 │ Total: 2 blocks (22.22%, 100/Minstr), avg size 102.5 bytes
2499 Total: 2 blocks (22.22%, 100/Minstr), avg size 100.5 bytes
2505 PP significance threshold: (total >= 0.05 blocks (0.5%)) && (avg size <= 16 bytes)
2507 //---------------------------------------------------------------------------
2513 //---------------------------------------------------------------------------
2514 // copy (corresponds to dhat/tests/copy.c, with `pps` elements for copies
2515 // from system libs removed, but with no removal to `fbtl` elements)
2516 //---------------------------------------------------------------------------
2521 //---------------------------------------------------------------------------
2522 {"dhatFileVersion":2
2523 ,"mode":"copy","verb":"Copied"
2524 ,"bklt":false,"bkacc":false
2525 ,"tu":"instrs","Mtu":"Minstr"
2530 [{"tb":100000,"tbk":100
2533 ,{"tb":100000,"tbk":100
2536 ,{"tb":100000,"tbk":100
2539 ,{"tb":100000,"tbk":100
2542 ,{"tb":100000,"tbk":100
2545 ,{"tb":100000,"tbk":100
2548 ,{"tb":100000,"tbk":100
2551 ,{"tb":100000,"tbk":100
2554 ,{"tb":100000,"tbk":100
2557 ,{"tb":100000,"tbk":100
2563 ,"0x4843690: mempcpy (vg_replace_strmem.c:1566)"
2564 ,"0x4008B4F: open_path (dl-load.c:1810)"
2565 ,"0x400A7A2: _dl_map_object (dl-load.c:2067)"
2566 ,"0x400F504: openaux (dl-deps.c:64)"
2567 ,"0x401DC19: _dl_catch_exception (dl-error-skeleton.c:208)"
2568 ,"0x400F952: _dl_map_object_deps (dl-deps.c:248)"
2569 ,"0x4004063: dl_main (rtld.c:1805)"
2570 ,"0x401CBAA: _dl_sysdep_start (dl-sysdep.c:252)"
2571 ,"0x400204B: _dl_start_final (rtld.c:449)"
2572 ,"0x400204B: _dl_start (rtld.c:539)"
2573 ,"0x4001107: ??? (in /lib/x86_64-linux-gnu/ld-2.31.so)"
2574 ,"0x4008BCC: open_path (dl-load.c:1818)"
2575 ,"0x4008BE2: open_path (dl-load.c:1818)"
2576 ,"0x400D4B4: _dl_new_object (dl-object.c:242)"
2577 ,"0x4006E96: _dl_map_object_from_fd (dl-load.c:997)"
2578 ,"0x400A61A: _dl_map_object (dl-load.c:2236)"
2579 ,"0x401486E: _dl_allocate_tls_init (dl-tls.c:507)"
2580 ,"0x400469D: dl_main (rtld.c:2292)"
2581 ,"0x4842524: memmove (vg_replace_strmem.c:1289)"
2582 ,"0x10930E: f (copy.c:40)"
2583 ,"0x1092C9: main (copy.c:31)"
2584 ,"0x109326: f (copy.c:41)"
2585 ,"0x10933E: f (copy.c:42)"
2586 ,"0x4843390: mempcpy (vg_replace_strmem.c:1562)"
2587 ,"0x109356: f (copy.c:43)"
2588 ,"0x10936E: f (copy.c:44)"
2589 ,"0x483EBB0: strcpy (vg_replace_strmem.c:523)"
2590 ,"0x109381: f (copy.c:45)"
2591 ,"0x483ECD7: strncpy (vg_replace_strmem.c:564)"
2592 ,"0x109399: f (copy.c:46)"
2593 ,"0x1093AC: f (copy.c:47)"
2594 ,"0x4842368: stpncpy (vg_replace_strmem.c:1219)"
2595 ,"0x1093C4: f (copy.c:48)"
2596 ,"0x4843DD2: wcscpy (vg_replace_strmem.c:2018)"
2597 ,"0x1093D7: f (copy.c:49)"
2600 //---------------------------------------------------------------------------
2604 label: "Total (blocks)",
2606 //---------------------------------------------------------------------------
2615 t-end: 4,033,604 instrs
2618 ▼ PP 1/1 (6 children) {
2619 Total: 1,000,000 bytes (100%, 247,917.25/Minstr) in 1,000 blocks (100%, 247.92/Minstr), avg size 1,000 bytes
2624 ├─▼ PP 1.1/6 (4 children) {
2625 │ Total: 400,000 bytes (40%, 99,166.9/Minstr) in 400 blocks (40%, 99.17/Minstr), avg size 1,000 bytes
2627 │ #1: 0x4842524: memmove (vg_replace_strmem.c:1289)
2631 │ │ Total: 100,000 bytes (10%, 24,791.72/Minstr) in 100 blocks (10%, 24.79/Minstr), avg size 1,000 bytes
2633 │ │ ^1: 0x4842524: memmove (vg_replace_strmem.c:1289)
2634 │ │ #2: 0x10930E: f (copy.c:40)
2635 │ │ #3: 0x1092C9: main (copy.c:31)
2639 │ │ Total: 100,000 bytes (10%, 24,791.72/Minstr) in 100 blocks (10%, 24.79/Minstr), avg size 1,000 bytes
2641 │ │ ^1: 0x4842524: memmove (vg_replace_strmem.c:1289)
2642 │ │ #2: 0x109326: f (copy.c:41)
2643 │ │ #3: 0x1092C9: main (copy.c:31)
2647 │ │ Total: 100,000 bytes (10%, 24,791.72/Minstr) in 100 blocks (10%, 24.79/Minstr), avg size 1,000 bytes
2649 │ │ ^1: 0x4842524: memmove (vg_replace_strmem.c:1289)
2650 │ │ #2: 0x10933E: f (copy.c:42)
2651 │ │ #3: 0x1092C9: main (copy.c:31)
2655 │ Total: 100,000 bytes (10%, 24,791.72/Minstr) in 100 blocks (10%, 24.79/Minstr), avg size 1,000 bytes
2657 │ ^1: 0x4842524: memmove (vg_replace_strmem.c:1289)
2658 │ #2: 0x10936E: f (copy.c:44)
2659 │ #3: 0x1092C9: main (copy.c:31)
2662 ├─▼ PP 1.2/6 (2 children) {
2663 │ Total: 200,000 bytes (20%, 49,583.45/Minstr) in 200 blocks (20%, 49.58/Minstr), avg size 1,000 bytes
2665 │ #1: 0x483EBB0: strcpy (vg_replace_strmem.c:523)
2669 │ │ Total: 100,000 bytes (10%, 24,791.72/Minstr) in 100 blocks (10%, 24.79/Minstr), avg size 1,000 bytes
2671 │ │ ^1: 0x483EBB0: strcpy (vg_replace_strmem.c:523)
2672 │ │ #2: 0x109381: f (copy.c:45)
2673 │ │ #3: 0x1092C9: main (copy.c:31)
2677 │ Total: 100,000 bytes (10%, 24,791.72/Minstr) in 100 blocks (10%, 24.79/Minstr), avg size 1,000 bytes
2679 │ ^1: 0x483EBB0: strcpy (vg_replace_strmem.c:523)
2680 │ #2: 0x1093AC: f (copy.c:47)
2681 │ #3: 0x1092C9: main (copy.c:31)
2685 │ Total: 100,000 bytes (10%, 24,791.72/Minstr) in 100 blocks (10%, 24.79/Minstr), avg size 1,000 bytes
2687 │ #1: 0x4843390: mempcpy (vg_replace_strmem.c:1562)
2688 │ #2: 0x109356: f (copy.c:43)
2689 │ #3: 0x1092C9: main (copy.c:31)
2693 │ Total: 100,000 bytes (10%, 24,791.72/Minstr) in 100 blocks (10%, 24.79/Minstr), avg size 1,000 bytes
2695 │ #1: 0x483ECD7: strncpy (vg_replace_strmem.c:564)
2696 │ #2: 0x109399: f (copy.c:46)
2697 │ #3: 0x1092C9: main (copy.c:31)
2701 │ Total: 100,000 bytes (10%, 24,791.72/Minstr) in 100 blocks (10%, 24.79/Minstr), avg size 1,000 bytes
2703 │ #1: 0x4842368: stpncpy (vg_replace_strmem.c:1219)
2704 │ #2: 0x1093C4: f (copy.c:48)
2705 │ #3: 0x1092C9: main (copy.c:31)
2709 Total: 100,000 bytes (10%, 24,791.72/Minstr) in 100 blocks (10%, 24.79/Minstr), avg size 1,000 bytes
2711 #1: 0x4843DD2: wcscpy (vg_replace_strmem.c:2018)
2712 #2: 0x1093D7: f (copy.c:49)
2713 #3: 0x1092C9: main (copy.c:31)
2717 PP significance threshold: total >= 10 blocks (1%)
2719 //---------------------------------------------------------------------------
2725 //---------------------------------------------------------------------------
2726 // ad-hoc (corresponds to dhat/tests/ad-hoc.c)
2727 //---------------------------------------------------------------------------
2732 //---------------------------------------------------------------------------
2733 {"dhatFileVersion":2
2734 ,"mode":"ad-hoc","verb":"Occurred"
2735 ,"bklt":false,"bkacc":false
2736 ,"bu":"unit","bsu":"units","bksu":"events"
2737 ,"tu":"instrs","Mtu":"Minstr"
2766 ,"0x1093A7: g (ad-hoc.c:4)"
2767 ,"0x1093C5: f (ad-hoc.c:8)"
2768 ,"0x109437: main (ad-hoc.c:14)"
2769 ,"0x109414: f (ad-hoc.c:9)"
2770 ,"0x109423: f (ad-hoc.c:10)"
2771 ,"0x109486: main (ad-hoc.c:15)"
2772 ,"0x109495: main (ad-hoc.c:16)"
2775 //---------------------------------------------------------------------------
2779 label: "Total (events)",
2781 //---------------------------------------------------------------------------
2790 t-end: 150,455 instrs
2793 ▼ PP 1/1 (3 children) {
2794 Total: 170 units (100%, 1,129.91/Minstr) in 7 events (100%, 46.53/Minstr), avg size 24.29 units
2799 ├─▼ PP 1.1/3 (2 children) {
2800 │ Total: 120 units (70.59%, 797.58/Minstr) in 4 events (57.14%, 26.59/Minstr), avg size 30 units
2802 │ #1: 0x1093A7: g (ad-hoc.c:4)
2805 │ ├─▼ PP 1.1.1/2 (2 children) {
2806 │ │ Total: 60 units (35.29%, 398.79/Minstr) in 2 events (28.57%, 13.29/Minstr), avg size 30 units
2808 │ │ ^1: 0x1093A7: g (ad-hoc.c:4)
2809 │ │ #2: 0x1093C5: f (ad-hoc.c:8)
2812 │ │ ├── PP 1.1.1.1/2 {
2813 │ │ │ Total: 30 units (17.65%, 199.4/Minstr) in 1 events (14.29%, 6.65/Minstr), avg size 30 units
2815 │ │ │ ^1: 0x1093A7: g (ad-hoc.c:4)
2816 │ │ │ ^2: 0x1093C5: f (ad-hoc.c:8)
2817 │ │ │ #3: 0x109437: main (ad-hoc.c:14)
2820 │ │ └── PP 1.1.1.2/2 {
2821 │ │ Total: 30 units (17.65%, 199.4/Minstr) in 1 events (14.29%, 6.65/Minstr), avg size 30 units
2823 │ │ ^1: 0x1093A7: g (ad-hoc.c:4)
2824 │ │ ^2: 0x1093C5: f (ad-hoc.c:8)
2825 │ │ #3: 0x109495: main (ad-hoc.c:16)
2828 │ └─▼ PP 1.1.2/2 (2 children) {
2829 │ Total: 60 units (35.29%, 398.79/Minstr) in 2 events (28.57%, 13.29/Minstr), avg size 30 units
2831 │ ^1: 0x1093A7: g (ad-hoc.c:4)
2832 │ #2: 0x109423: f (ad-hoc.c:10)
2835 │ ├── PP 1.1.2.1/2 {
2836 │ │ Total: 30 units (17.65%, 199.4/Minstr) in 1 events (14.29%, 6.65/Minstr), avg size 30 units
2838 │ │ ^1: 0x1093A7: g (ad-hoc.c:4)
2839 │ │ ^2: 0x109423: f (ad-hoc.c:10)
2840 │ │ #3: 0x109437: main (ad-hoc.c:14)
2843 │ └── PP 1.1.2.2/2 {
2844 │ Total: 30 units (17.65%, 199.4/Minstr) in 1 events (14.29%, 6.65/Minstr), avg size 30 units
2846 │ ^1: 0x1093A7: g (ad-hoc.c:4)
2847 │ ^2: 0x109423: f (ad-hoc.c:10)
2848 │ #3: 0x109495: main (ad-hoc.c:16)
2851 ├─▼ PP 1.2/3 (2 children) {
2852 │ Total: 40 units (23.53%, 265.86/Minstr) in 2 events (28.57%, 13.29/Minstr), avg size 20 units
2854 │ #1: 0x109414: f (ad-hoc.c:9)
2858 │ │ Total: 20 units (11.76%, 132.93/Minstr) in 1 events (14.29%, 6.65/Minstr), avg size 20 units
2860 │ │ ^1: 0x109414: f (ad-hoc.c:9)
2861 │ │ #2: 0x109437: main (ad-hoc.c:14)
2865 │ Total: 20 units (11.76%, 132.93/Minstr) in 1 events (14.29%, 6.65/Minstr), avg size 20 units
2867 │ ^1: 0x109414: f (ad-hoc.c:9)
2868 │ #2: 0x109495: main (ad-hoc.c:16)
2872 Total: 10 units (5.88%, 66.47/Minstr) in 1 events (14.29%, 6.65/Minstr), avg size 10 units
2874 #1: 0x109486: main (ad-hoc.c:15)
2878 PP significance threshold: total >= 0.07 events (1%)
2880 //---------------------------------------------------------------------------
2886 //---------------------------------------------------------------------------
2887 // rust-heap. Input came from this Rust program:
2889 // use dhat::{Dhat, DhatAlloc};
2890 // #[global_allocator]
2891 // static ALLOC: DhatAlloc = DhatAlloc;
2893 // let _dhat = Dhat::start_heap_profiling();
2894 // let _v: Vec<u8> = Vec::with_capacity(1000);
2896 //---------------------------------------------------------------------------
2901 //---------------------------------------------------------------------------
2903 "dhatFileVersion": 2,
2904 "mode": "rust-heap",
2905 "verb": "Allocated",
2911 "cmd": "target/debug/dhatter",
2926 "fs": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
2931 "0x10e13fb2b: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:203:9)",
2932 "0x10e13cae4: alloc::raw_vec::RawVec<T,A>::allocate_in (raw_vec.rs:186:45)",
2933 "0x10e13d09d: alloc::raw_vec::RawVec<T,A>::with_capacity_in (raw_vec.rs:161:9)",
2934 "0x10e13c921: alloc::raw_vec::RawVec<T>::with_capacity (raw_vec.rs:92:9)",
2935 "0x10e13f40f: alloc::vec::Vec<T>::with_capacity (vec.rs:355:20)",
2936 "0x10e067a08: dhatter::main (main.rs:8:23)",
2937 "0x10e06794e: core::ops::function::FnOnce::call_once (function.rs:227:5)",
2938 "0x10e067801: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:137:18)",
2939 "0x10e0677d4: std::rt::lang_start::{{closure}} (rt.rs:66:18)",
2940 "0x10e17b220: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once (function.rs:259:13)",
2941 "0x10e17b220: std::panicking::try::do_call (panicking.rs:373:40)",
2942 "0x10e17b220: std::panicking::try (panicking.rs:337:19)",
2943 "0x10e17b220: std::panic::catch_unwind (panic.rs:379:14)",
2944 "0x10e17b220: std::rt::lang_start_internal (rt.rs:51:25)",
2945 "0x10e0677b1: std::rt::lang_start (rt.rs:65:5)",
2946 "0x10e067bb2: _main (???:0:0)"
2949 //---------------------------------------------------------------------------
2953 label: "Total (blocks)",
2955 //---------------------------------------------------------------------------
2959 Command: target/debug/dhatter
2964 t-gmax: 174 µs (86.57% of program duration)
2969 Total: 1,000 bytes (100%, 4,975,124.38/s) in 1 blocks (100%, 4,975.12/s), avg size 1,000 bytes, avg lifetime 16 µs (7.96% of program duration)
2970 At t-gmax: 1,000 bytes (100%) in 1 blocks (100%), avg size 1,000 bytes
2971 At t-end: 0 bytes (0%) in 0 blocks (0%), avg size 0 bytes
2974 #1: 0x10e13fb2b: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:203:9)
2975 #2: 0x10e13cae4: alloc::raw_vec::RawVec<T,A>::allocate_in (raw_vec.rs:186:45)
2976 #3: 0x10e13d09d: alloc::raw_vec::RawVec<T,A>::with_capacity_in (raw_vec.rs:161:9)
2977 #4: 0x10e13c921: alloc::raw_vec::RawVec<T>::with_capacity (raw_vec.rs:92:9)
2978 #5: 0x10e13f40f: alloc::vec::Vec<T>::with_capacity (vec.rs:355:20)
2979 #6: 0x10e067a08: dhatter::main (main.rs:8:23)
2980 #7: 0x10e06794e: core::ops::function::FnOnce::call_once (function.rs:227:5)
2981 #8: 0x10e067801: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:137:18)
2982 #9: 0x10e0677d4: std::rt::lang_start::{{closure}} (rt.rs:66:18)
2983 #10: 0x10e17b220: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once (function.rs:259:13)
2984 #11: 0x10e17b220: std::panicking::try::do_call (panicking.rs:373:40)
2985 #12: 0x10e17b220: std::panicking::try (panicking.rs:337:19)
2986 #13: 0x10e17b220: std::panic::catch_unwind (panic.rs:379:14)
2987 #14: 0x10e17b220: std::rt::lang_start_internal (rt.rs:51:25)
2988 #15: 0x10e0677b1: std::rt::lang_start (rt.rs:65:5)
2989 #16: 0x10e067bb2: _main (???:0:0)
2993 PP significance threshold: total >= 0.01 blocks (1%)
2995 //---------------------------------------------------------------------------
2999 tests.push(rust_heap);
3001 //---------------------------------------------------------------------------
3003 //---------------------------------------------------------------------------
3005 function runTests() {
3006 let pre = appendElement(gTestingDiv, "pre");
3008 for (let [i, test] of tests.entries()) {
3009 let name = test.name;
3012 for (let output of test.outputs) {
3013 // Set the sort metric.
3014 let label = output.label;
3016 let labelFound = false;
3017 for (let opt of gSelect.options) {
3018 if (gSelectData[opt.value].label() == label) {
3019 gSelect.selectedIndex = j;
3025 assert(labelFound, `test label not found in gSelectData: ${label}`);
3027 // Build and display the tree.
3029 gFilename = "TEST MODE";
3034 // Compare actual text output against expected.
3035 let expected = output.expected;
3036 let actual = gMainDiv.textContent;
3038 let id = `Test ${i} - ${test.name} - ${label}`;
3040 if (expected !== actual) {
3041 // Test failed. Do a crude diff: find the line and column of the first
3042 // char that differs.
3043 let j = 0, line = 1, col = 1;
3044 while (expected[j] === actual[j]) {
3045 if (expected[j] === "\n") {
3057 Expected length: ${expected.length}, actual length: ${actual.length}
3058 First differing char at ${line}:${col}
3064 // Print line numbers for the expected output, because it makes it much
3065 // easier to find the first differing char.
3066 for (let [n, line] of expected.split('\n').entries()) {
3067 s += `${(n + 1).toString().padStart(3)} ${line}\n`;
3072 appendElementWithText(pre, "div", s);
3073 return; // stop on the first failure
3077 appendElementWithText(pre, "div", `PASS - ${id}`);
3081 clearMainDivWithText("All tests passed");