John Porto | f8b4cc8 | 2015-06-09 18:06:19 -0700 | [diff] [blame] | 1 | #include <stdint.h> |
| 2 | #include <stdio.h> |
| 3 | |
| 4 | struct BlockProfileInfo { |
| 5 | uint64_t Counter; |
| 6 | const char *const BlockName; |
| 7 | } __attribute__((aligned(8))); |
| 8 | |
| 9 | extern const struct BlockProfileInfo *__Sz_block_profile_info; |
| 10 | |
| 11 | static 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 | |
| 52 | void __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 | } |