blob: e31692ea6d6ee5c2b80ca910a6a6648c08f23c8c [file] [log] [blame]
John Portof8b4cc82015-06-09 18:06:19 -07001#include <stdint.h>
2#include <stdio.h>
3
4struct BlockProfileInfo {
5 uint64_t Counter;
6 const char *const BlockName;
7} __attribute__((aligned(8)));
8
9extern const struct BlockProfileInfo *__Sz_block_profile_info;
10
11static const char SubzeroLogo[] =
12 "\n"
13 "\n"
14 "__________________________________________________________________________"
15 "____________________________\n"
16 " _____/\\\\\\\\\\\\\\\\\\\\\\__________________/"
17 "\\\\\\_______________________________________________________________\n"
18 " "
19 "___/\\\\\\/////////\\\\\\_______________\\/"
20 "\\\\\\_______________________________________________________________\n"
21 " "
22 "__\\//\\\\\\______\\///________________\\/"
23 "\\\\\\_______________________________________________________________\n"
24 " "
25 "___\\////\\\\\\__________/\\\\\\____/\\\\\\_\\/\\\\\\_________/"
26 "\\\\\\\\\\\\\\\\\\\\\\_____/\\\\\\\\\\\\\\\\___/\\\\/\\\\\\\\\\\\\\____/"
27 "\\\\\\\\\\____\n"
28 " "
29 "______\\////\\\\\\______\\/\\\\\\___\\/\\\\\\_\\/\\\\\\\\\\\\\\\\\\__\\///"
30 "////\\\\\\/____/\\\\\\/////\\\\\\_\\/\\\\\\/////\\\\\\_/\\\\\\///"
31 "\\\\\\__\n"
32 " "
33 "_________\\////\\\\\\___\\/\\\\\\___\\/\\\\\\_\\/\\\\\\////\\\\\\______/"
34 "\\\\\\/_____/\\\\\\\\\\\\\\\\\\\\\\__\\/\\\\\\__\\///__/\\\\\\__\\//"
35 "\\\\\\_\n"
36 " "
37 "__/\\\\\\______\\//\\\\\\__\\/\\\\\\___\\/\\\\\\_\\/\\\\\\__\\/\\\\\\____/"
38 "\\\\\\/______\\//\\\\///////___\\/\\\\\\_______\\//\\\\\\__/\\\\\\__\n"
39 " "
40 "_\\///\\\\\\\\\\\\\\\\\\\\\\/___\\//\\\\\\\\\\\\\\\\\\__\\/"
41 "\\\\\\\\\\\\\\\\\\___/\\\\\\\\\\\\\\\\\\\\\\__\\//\\\\\\\\\\\\\\\\\\\\_\\/"
42 "\\\\\\________\\///\\\\\\\\\\/___\n"
43 " "
44 "___\\///////////______\\/////////___\\/////////___\\///////////____\\/////"
45 "/////__\\///___________\\/////_____\n"
46 " "
47 "__________________________________________________________________________"
48 "____________________________\n"
49 "\n"
50 "\n";
51
52void __Sz_profile_summary() {
53 printf("%s", SubzeroLogo);
54 for (const struct BlockProfileInfo **curr = &__Sz_block_profile_info;
55 *curr != NULL; ++curr) {
56 printf("%lld\t%s\n", (*curr)->Counter, (*curr)->BlockName);
57 }
58 fflush(stdout);
59}