| Filename | /Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/warnings.pm |
| Statements | Executed 42758 statements in 22.2ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 1576 | 1 | 1 | 6.65ms | 8.94ms | warnings::_bits |
| 226 | 148 | 140 | 6.35ms | 15.8ms | warnings::import |
| 1990 | 2 | 1 | 3.92ms | 3.92ms | warnings::_expand_bits |
| 414 | 321 | 219 | 3.29ms | 4.91ms | warnings::unimport |
| 1602 | 2 | 1 | 571µs | 571µs | warnings::CORE:match (opcode) |
| 8 | 2 | 2 | 132µs | 175µs | warnings::register_categories |
| 14 | 2 | 1 | 43µs | 43µs | warnings::_mkMask |
| 0 | 0 | 0 | 0s | 0s | warnings::Croaker |
| 0 | 0 | 0 | 0s | 0s | warnings::__chk |
| 0 | 0 | 0 | 0s | 0s | warnings::_error_loc |
| 0 | 0 | 0 | 0s | 0s | warnings::bits |
| 0 | 0 | 0 | 0s | 0s | warnings::enabled |
| 0 | 0 | 0 | 0s | 0s | warnings::enabled_at_level |
| 0 | 0 | 0 | 0s | 0s | warnings::fatal_enabled |
| 0 | 0 | 0 | 0s | 0s | warnings::fatal_enabled_at_level |
| 0 | 0 | 0 | 0s | 0s | warnings::warn |
| 0 | 0 | 0 | 0s | 0s | warnings::warn_at_level |
| 0 | 0 | 0 | 0s | 0s | warnings::warnif |
| 0 | 0 | 0 | 0s | 0s | warnings::warnif_at_level |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | # -*- buffer-read-only: t -*- | ||||
| 2 | # !!!!!!! DO NOT EDIT THIS FILE !!!!!!! | ||||
| 3 | # This file is built by regen/warnings.pl. | ||||
| 4 | # Any changes made here will be lost! | ||||
| 5 | |||||
| 6 | package warnings; | ||||
| 7 | |||||
| 8 | 1 | 0s | our $VERSION = "1.58"; | ||
| 9 | |||||
| 10 | # Verify that we're called correctly so that warnings will work. | ||||
| 11 | # Can't use Carp, since Carp uses us! | ||||
| 12 | # String regexps because constant folding = smaller optree = less memory vs regexp literal | ||||
| 13 | # see also strict.pm. | ||||
| 14 | 1 | 18µs | 1 | 11µs | die sprintf "Incorrect use of pragma '%s' at %s line %d.\n", __PACKAGE__, +(caller)[1,2] # spent 11µs making 1 call to warnings::CORE:match |
| 15 | if __FILE__ !~ ( '(?x) \b '.__PACKAGE__.' \.pmc? \z' ) | ||||
| 16 | && __FILE__ =~ ( '(?x) \b (?i:'.__PACKAGE__.') \.pmc? \z' ); | ||||
| 17 | |||||
| 18 | 1 | 23µs | our %Offsets = ( | ||
| 19 | # Warnings Categories added in Perl 5.008 | ||||
| 20 | 'all' => 0, | ||||
| 21 | 'closure' => 2, | ||||
| 22 | 'deprecated' => 4, | ||||
| 23 | 'exiting' => 6, | ||||
| 24 | 'glob' => 8, | ||||
| 25 | 'io' => 10, | ||||
| 26 | 'closed' => 12, | ||||
| 27 | 'exec' => 14, | ||||
| 28 | 'layer' => 16, | ||||
| 29 | 'newline' => 18, | ||||
| 30 | 'pipe' => 20, | ||||
| 31 | 'unopened' => 22, | ||||
| 32 | 'misc' => 24, | ||||
| 33 | 'numeric' => 26, | ||||
| 34 | 'once' => 28, | ||||
| 35 | 'overflow' => 30, | ||||
| 36 | 'pack' => 32, | ||||
| 37 | 'portable' => 34, | ||||
| 38 | 'recursion' => 36, | ||||
| 39 | 'redefine' => 38, | ||||
| 40 | 'regexp' => 40, | ||||
| 41 | 'severe' => 42, | ||||
| 42 | 'debugging' => 44, | ||||
| 43 | 'inplace' => 46, | ||||
| 44 | 'internal' => 48, | ||||
| 45 | 'malloc' => 50, | ||||
| 46 | 'signal' => 52, | ||||
| 47 | 'substr' => 54, | ||||
| 48 | 'syntax' => 56, | ||||
| 49 | 'ambiguous' => 58, | ||||
| 50 | 'bareword' => 60, | ||||
| 51 | 'digit' => 62, | ||||
| 52 | 'parenthesis' => 64, | ||||
| 53 | 'precedence' => 66, | ||||
| 54 | 'printf' => 68, | ||||
| 55 | 'prototype' => 70, | ||||
| 56 | 'qw' => 72, | ||||
| 57 | 'reserved' => 74, | ||||
| 58 | 'semicolon' => 76, | ||||
| 59 | 'taint' => 78, | ||||
| 60 | 'threads' => 80, | ||||
| 61 | 'uninitialized' => 82, | ||||
| 62 | 'unpack' => 84, | ||||
| 63 | 'untie' => 86, | ||||
| 64 | 'utf8' => 88, | ||||
| 65 | 'void' => 90, | ||||
| 66 | |||||
| 67 | # Warnings Categories added in Perl 5.011 | ||||
| 68 | 'imprecision' => 92, | ||||
| 69 | 'illegalproto' => 94, | ||||
| 70 | |||||
| 71 | # Warnings Categories added in Perl 5.013 | ||||
| 72 | 'non_unicode' => 96, | ||||
| 73 | 'nonchar' => 98, | ||||
| 74 | 'surrogate' => 100, | ||||
| 75 | |||||
| 76 | # Warnings Categories added in Perl 5.017 | ||||
| 77 | 'experimental' => 102, | ||||
| 78 | 'experimental::lexical_subs' => 104, | ||||
| 79 | 'experimental::regex_sets' => 106, | ||||
| 80 | 'experimental::smartmatch' => 108, | ||||
| 81 | |||||
| 82 | # Warnings Categories added in Perl 5.019 | ||||
| 83 | 'experimental::postderef' => 110, | ||||
| 84 | 'experimental::signatures' => 112, | ||||
| 85 | 'syscalls' => 114, | ||||
| 86 | |||||
| 87 | # Warnings Categories added in Perl 5.021 | ||||
| 88 | 'experimental::bitwise' => 116, | ||||
| 89 | 'experimental::const_attr' => 118, | ||||
| 90 | 'experimental::re_strict' => 120, | ||||
| 91 | 'experimental::refaliasing' => 122, | ||||
| 92 | 'locale' => 124, | ||||
| 93 | 'missing' => 126, | ||||
| 94 | 'redundant' => 128, | ||||
| 95 | |||||
| 96 | # Warnings Categories added in Perl 5.025 | ||||
| 97 | 'experimental::declared_refs' => 130, | ||||
| 98 | |||||
| 99 | # Warnings Categories added in Perl 5.027 | ||||
| 100 | 'experimental::alpha_assertions' => 132, | ||||
| 101 | 'experimental::script_run' => 134, | ||||
| 102 | 'shadow' => 136, | ||||
| 103 | |||||
| 104 | # Warnings Categories added in Perl 5.029 | ||||
| 105 | 'experimental::private_use' => 138, | ||||
| 106 | 'experimental::uniprop_wildcards' => 140, | ||||
| 107 | 'experimental::vlb' => 142, | ||||
| 108 | |||||
| 109 | # Warnings Categories added in Perl 5.031 | ||||
| 110 | 'experimental::isa' => 144, | ||||
| 111 | |||||
| 112 | # Warnings Categories added in Perl 5.033 | ||||
| 113 | 'experimental::try' => 146, | ||||
| 114 | |||||
| 115 | # Warnings Categories added in Perl 5.035 | ||||
| 116 | 'experimental::args_array_with_signatures'=> 148, | ||||
| 117 | 'experimental::builtin' => 150, | ||||
| 118 | 'experimental::defer' => 152, | ||||
| 119 | 'experimental::extra_paired_delimiters'=> 154, | ||||
| 120 | 'experimental::for_list' => 156, | ||||
| 121 | 'scalar' => 158, | ||||
| 122 | ); | ||||
| 123 | |||||
| 124 | 1 | 11µs | our %Bits = ( | ||
| 125 | 'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55", # [0..79] | ||||
| 126 | 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [29] | ||||
| 127 | 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [30] | ||||
| 128 | 'closed' => "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6] | ||||
| 129 | 'closure' => "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1] | ||||
| 130 | 'debugging' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22] | ||||
| 131 | 'deprecated' => "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2] | ||||
| 132 | 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31] | ||||
| 133 | 'exec' => "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7] | ||||
| 134 | 'exiting' => "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3] | ||||
| 135 | 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x55\x51\x05\x54\x54\x55\x15", # [51..56,58..61,65..67,69..78] | ||||
| 136 | 'experimental::alpha_assertions' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [66] | ||||
| 137 | 'experimental::args_array_with_signatures'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [74] | ||||
| 138 | 'experimental::bitwise' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [58] | ||||
| 139 | 'experimental::builtin' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [75] | ||||
| 140 | 'experimental::const_attr' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [59] | ||||
| 141 | 'experimental::declared_refs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [65] | ||||
| 142 | 'experimental::defer' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [76] | ||||
| 143 | 'experimental::extra_paired_delimiters'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [77] | ||||
| 144 | 'experimental::for_list' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [78] | ||||
| 145 | 'experimental::isa' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [72] | ||||
| 146 | 'experimental::lexical_subs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [52] | ||||
| 147 | 'experimental::postderef' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [55] | ||||
| 148 | 'experimental::private_use' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [69] | ||||
| 149 | 'experimental::re_strict' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [60] | ||||
| 150 | 'experimental::refaliasing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [61] | ||||
| 151 | 'experimental::regex_sets' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [53] | ||||
| 152 | 'experimental::script_run' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [67] | ||||
| 153 | 'experimental::signatures' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [56] | ||||
| 154 | 'experimental::smartmatch' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [54] | ||||
| 155 | 'experimental::try' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [73] | ||||
| 156 | 'experimental::uniprop_wildcards' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [70] | ||||
| 157 | 'experimental::vlb' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [71] | ||||
| 158 | 'glob' => "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4] | ||||
| 159 | 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [47] | ||||
| 160 | 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [46] | ||||
| 161 | 'inplace' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23] | ||||
| 162 | 'internal' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [24] | ||||
| 163 | 'io' => "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [5..11,57] | ||||
| 164 | 'layer' => "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8] | ||||
| 165 | 'locale' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [62] | ||||
| 166 | 'malloc' => "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [25] | ||||
| 167 | 'misc' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12] | ||||
| 168 | 'missing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [63] | ||||
| 169 | 'newline' => "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9] | ||||
| 170 | 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [48] | ||||
| 171 | 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [49] | ||||
| 172 | 'numeric' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13] | ||||
| 173 | 'once' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14] | ||||
| 174 | 'overflow' => "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15] | ||||
| 175 | 'pack' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16] | ||||
| 176 | 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [32] | ||||
| 177 | 'pipe' => "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10] | ||||
| 178 | 'portable' => "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17] | ||||
| 179 | 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [33] | ||||
| 180 | 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [34] | ||||
| 181 | 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [35] | ||||
| 182 | 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [36] | ||||
| 183 | 'recursion' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18] | ||||
| 184 | 'redefine' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19] | ||||
| 185 | 'redundant' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [64] | ||||
| 186 | 'regexp' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20] | ||||
| 187 | 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [37] | ||||
| 188 | 'scalar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40", # [79] | ||||
| 189 | 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [38] | ||||
| 190 | 'severe' => "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25] | ||||
| 191 | 'shadow' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [68] | ||||
| 192 | 'signal' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [26] | ||||
| 193 | 'substr' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [27] | ||||
| 194 | 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [50] | ||||
| 195 | 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [28..38,47] | ||||
| 196 | 'syscalls' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [57] | ||||
| 197 | 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [39] | ||||
| 198 | 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [40] | ||||
| 199 | 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [41] | ||||
| 200 | 'unopened' => "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11] | ||||
| 201 | 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [42] | ||||
| 202 | 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [43] | ||||
| 203 | 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x15\x00\x00\x00\x00\x00\x00\x00", # [44,48..50] | ||||
| 204 | 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [45] | ||||
| 205 | ); | ||||
| 206 | |||||
| 207 | 1 | 10µs | our %DeadBits = ( | ||
| 208 | 'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..79] | ||||
| 209 | 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [29] | ||||
| 210 | 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [30] | ||||
| 211 | 'closed' => "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6] | ||||
| 212 | 'closure' => "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1] | ||||
| 213 | 'debugging' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22] | ||||
| 214 | 'deprecated' => "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2] | ||||
| 215 | 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31] | ||||
| 216 | 'exec' => "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7] | ||||
| 217 | 'exiting' => "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3] | ||||
| 218 | 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xaa\xa2\x0a\xa8\xa8\xaa\x2a", # [51..56,58..61,65..67,69..78] | ||||
| 219 | 'experimental::alpha_assertions' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [66] | ||||
| 220 | 'experimental::args_array_with_signatures'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [74] | ||||
| 221 | 'experimental::bitwise' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [58] | ||||
| 222 | 'experimental::builtin' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [75] | ||||
| 223 | 'experimental::const_attr' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [59] | ||||
| 224 | 'experimental::declared_refs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [65] | ||||
| 225 | 'experimental::defer' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [76] | ||||
| 226 | 'experimental::extra_paired_delimiters'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [77] | ||||
| 227 | 'experimental::for_list' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [78] | ||||
| 228 | 'experimental::isa' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [72] | ||||
| 229 | 'experimental::lexical_subs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [52] | ||||
| 230 | 'experimental::postderef' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [55] | ||||
| 231 | 'experimental::private_use' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [69] | ||||
| 232 | 'experimental::re_strict' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [60] | ||||
| 233 | 'experimental::refaliasing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [61] | ||||
| 234 | 'experimental::regex_sets' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [53] | ||||
| 235 | 'experimental::script_run' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [67] | ||||
| 236 | 'experimental::signatures' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [56] | ||||
| 237 | 'experimental::smartmatch' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [54] | ||||
| 238 | 'experimental::try' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [73] | ||||
| 239 | 'experimental::uniprop_wildcards' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [70] | ||||
| 240 | 'experimental::vlb' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [71] | ||||
| 241 | 'glob' => "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4] | ||||
| 242 | 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [47] | ||||
| 243 | 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [46] | ||||
| 244 | 'inplace' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23] | ||||
| 245 | 'internal' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [24] | ||||
| 246 | 'io' => "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [5..11,57] | ||||
| 247 | 'layer' => "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8] | ||||
| 248 | 'locale' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [62] | ||||
| 249 | 'malloc' => "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [25] | ||||
| 250 | 'misc' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12] | ||||
| 251 | 'missing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [63] | ||||
| 252 | 'newline' => "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9] | ||||
| 253 | 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [48] | ||||
| 254 | 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [49] | ||||
| 255 | 'numeric' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13] | ||||
| 256 | 'once' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14] | ||||
| 257 | 'overflow' => "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15] | ||||
| 258 | 'pack' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16] | ||||
| 259 | 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [32] | ||||
| 260 | 'pipe' => "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10] | ||||
| 261 | 'portable' => "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17] | ||||
| 262 | 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [33] | ||||
| 263 | 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [34] | ||||
| 264 | 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [35] | ||||
| 265 | 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [36] | ||||
| 266 | 'recursion' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18] | ||||
| 267 | 'redefine' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19] | ||||
| 268 | 'redundant' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [64] | ||||
| 269 | 'regexp' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20] | ||||
| 270 | 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [37] | ||||
| 271 | 'scalar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", # [79] | ||||
| 272 | 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [38] | ||||
| 273 | 'severe' => "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25] | ||||
| 274 | 'shadow' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [68] | ||||
| 275 | 'signal' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [26] | ||||
| 276 | 'substr' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [27] | ||||
| 277 | 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [50] | ||||
| 278 | 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [28..38,47] | ||||
| 279 | 'syscalls' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [57] | ||||
| 280 | 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [39] | ||||
| 281 | 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [40] | ||||
| 282 | 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [41] | ||||
| 283 | 'unopened' => "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11] | ||||
| 284 | 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [42] | ||||
| 285 | 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [43] | ||||
| 286 | 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x2a\x00\x00\x00\x00\x00\x00\x00", # [44,48..50] | ||||
| 287 | 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [45] | ||||
| 288 | ); | ||||
| 289 | |||||
| 290 | # These are used by various things, including our own tests | ||||
| 291 | 1 | 0s | our $NONE = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; | ||
| 292 | 1 | 0s | our $DEFAULT = "\x10\x01\x00\x00\x00\x50\x04\x00\x00\x00\x00\x00\x00\x51\x51\x15\x54\x54\x55\x15"; # [2,4,22,23,25,52,54..56,58..62,65..67,69..78] | ||
| 293 | 1 | 0s | our $LAST_BIT = 160 ; | ||
| 294 | 1 | 0s | our $BYTES = 20 ; | ||
| 295 | |||||
| 296 | sub Croaker | ||||
| 297 | { | ||||
| 298 | require Carp; # this initializes %CarpInternal | ||||
| 299 | local $Carp::CarpInternal{'warnings'}; | ||||
| 300 | delete $Carp::CarpInternal{'warnings'}; | ||||
| 301 | Carp::croak(@_); | ||||
| 302 | } | ||||
| 303 | |||||
| 304 | sub _expand_bits { | ||||
| 305 | 1990 | 322µs | my $bits = shift; | ||
| 306 | 1990 | 422µs | my $want_len = ($LAST_BIT + 7) >> 3; | ||
| 307 | 1990 | 288µs | my $len = length($bits); | ||
| 308 | 1990 | 331µs | if ($len != $want_len) { | ||
| 309 | 492 | 247µs | if ($bits eq "") { | ||
| 310 | $bits = "\x00" x $want_len; | ||||
| 311 | } elsif ($len > $want_len) { | ||||
| 312 | substr $bits, $want_len, $len-$want_len, ""; | ||||
| 313 | } else { | ||||
| 314 | 492 | 408µs | my $x = vec($bits, $Offsets{all} >> 1, 2); | ||
| 315 | 492 | 161µs | $x |= $x << 2; | ||
| 316 | 492 | 58µs | $x |= $x << 4; | ||
| 317 | 492 | 582µs | $bits .= chr($x) x ($want_len - $len); | ||
| 318 | } | ||||
| 319 | } | ||||
| 320 | 1990 | 2.75ms | return $bits; | ||
| 321 | } | ||||
| 322 | |||||
| 323 | # spent 8.94ms (6.65+2.29) within warnings::_bits which was called 1576 times, avg 6µs/call:
# 1576 times (6.65ms+2.29ms) by warnings::import at line 373, avg 6µs/call | ||||
| 324 | 1576 | 215µs | my $mask = shift ; | ||
| 325 | 1576 | 136µs | my $catmask ; | ||
| 326 | 1576 | 151µs | my $fatal = 0 ; | ||
| 327 | 1576 | 104µs | my $no_fatal = 0 ; | ||
| 328 | |||||
| 329 | 1576 | 866µs | 1576 | 2.29ms | $mask = _expand_bits($mask); # spent 2.29ms making 1576 calls to warnings::_expand_bits, avg 1µs/call |
| 330 | 1576 | 433µs | foreach my $word ( @_ ) { | ||
| 331 | 2825 | 1.63ms | if ($word eq 'FATAL') { | ||
| 332 | 1249 | 118µs | $fatal = 1; | ||
| 333 | 1249 | 106µs | $no_fatal = 0; | ||
| 334 | } | ||||
| 335 | elsif ($word eq 'NONFATAL') { | ||||
| 336 | $fatal = 0; | ||||
| 337 | $no_fatal = 1; | ||||
| 338 | } | ||||
| 339 | elsif ($catmask = $Bits{$word}) { | ||||
| 340 | 1576 | 260µs | $mask |= $catmask ; | ||
| 341 | 1576 | 559µs | $mask |= $DeadBits{$word} if $fatal ; | ||
| 342 | 1576 | 139µs | $mask = ~(~$mask | $DeadBits{$word}) if $no_fatal ; | ||
| 343 | } | ||||
| 344 | else | ||||
| 345 | { Croaker("Unknown warnings category '$word'")} | ||||
| 346 | } | ||||
| 347 | |||||
| 348 | 1576 | 1.98ms | return $mask ; | ||
| 349 | } | ||||
| 350 | |||||
| 351 | sub bits | ||||
| 352 | { | ||||
| 353 | # called from B::Deparse.pm | ||||
| 354 | push @_, 'all' unless @_ ; | ||||
| 355 | return _bits("", @_) ; | ||||
| 356 | } | ||||
| 357 | |||||
| 358 | sub import | ||||
| 359 | # spent 15.8ms (6.35+9.50) within warnings::import which was called 226 times, avg 70µs/call:
# 18 times (3.68ms+6.28ms) by strictures::_enable_2 at line 171 of strictures.pm, avg 553µs/call
# 18 times (467µs+533µs) by strictures::_enable_2 at line 173 of strictures.pm, avg 56µs/call
# 18 times (144µs+195µs) by strictures::_enable_2 at line 170 of strictures.pm, avg 19µs/call
# 17 times (120µs+218µs) by Moo::import at line 47 of Moo.pm, avg 20µs/call
# 6 times (63µs+82µs) by Mojo::Base::import at line 102 of Mojo/Base.pm, avg 24µs/call
# 4 times (82µs+104µs) by strictures::_enable_1 at line 140 of strictures.pm, avg 46µs/call
# 4 times (41µs+41µs) by Role::Tiny::import at line 85 of Role/Tiny.pm, avg 20µs/call
# once (77µs+21µs) by YAML::PP::Loader::BEGIN@3 at line 3 of YAML/PP/Parser.pm
# once (38µs+52µs) by OpenAPI::Modern::BEGIN@2.243 at line 2 of JSON/Schema/Modern/Document/OpenAPI.pm
# once (58µs+25µs) by Symbol::BEGIN@4 at line 4 of Symbol.pm
# once (37µs+40µs) by JSON::Schema::Modern::BEGIN@2.82 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Result.pm
# once (43µs+14µs) by POSIX::BEGIN@3 at line 3 of POSIX.pm
# once (5µs+46µs) by Module::Implementation::BEGIN@6 at line 6 of Module/Implementation.pm
# once (18µs+30µs) by Role::Tiny::With::BEGIN@4 at line 4 of Role/Tiny/With.pm
# once (6µs+39µs) by YAML::PP::Dumper::BEGIN@2.299 at line 2 of YAML/PP/Writer/File.pm
# once (22µs+22µs) by Module::Runtime::BEGIN@2.320 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/MetaData.pm
# once (19µs+22µs) by Module::Runtime::BEGIN@2.312 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Validation.pm
# once (19µs+21µs) by Package::Stash::XS::BEGIN@3 at line 3 of Package/Stash/XS.pm
# once (17µs+21µs) by Module::Runtime::BEGIN@2.316 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm
# once (18µs+18µs) by namespace::clean::BEGIN@3 at line 3 of namespace/clean.pm
# once (14µs+22µs) by Type::Library::BEGIN@5 at line 5 of Type/Library.pm
# once (15µs+20µs) by YAML::PP::Parser::BEGIN@2.286 at line 2 of YAML/PP/Lexer.pm
# once (15µs+19µs) by Unicode::Normalize::BEGIN@5 at line 5 of Unicode/Normalize.pm
# once (22µs+12µs) by MooX::HandlesVia::BEGIN@5 at line 5 of MooX/HandlesVia.pm
# once (16µs+17µs) by Package::Stash::BEGIN@3 at line 3 of Package/Stash.pm
# once (15µs+18µs) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@2.310 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Unevaluated.pm
# once (19µs+14µs) by mro::BEGIN@11 at line 11 of mro.pm
# once (14µs+18µs) by Module::Runtime::BEGIN@2.314 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/FormatAssertion.pm
# once (19µs+13µs) by Types::Standard::Tuple::BEGIN@7 at line 7 of Types/Standard/Tuple.pm
# once (10µs+22µs) by Class::Inspector::BEGIN@7 at line 7 of Class/Inspector.pm
# once (13µs+18µs) by Config::BEGIN@6 at line 6 of Config_heavy.pl
# once (13µs+18µs) by Encode::Encoding::BEGIN@5 at line 5 of Encode/Encoding.pm
# once (11µs+20µs) by Encode::MIME::Name::BEGIN@3 at line 3 of Encode/MIME/Name.pm
# once (15µs+16µs) by Feature::Compat::Try::BEGIN@9 at line 9 of Feature/Compat/Try.pm
# once (16µs+15µs) by IO::Compress::Base::Common::BEGIN@522 at line 522 of IO/Compress/Base/Common.pm
# once (15µs+16µs) by Method::Generate::BuildAll::BEGIN@3 at line 3 of Method/Generate/BuildAll.pm
# once (14µs+17µs) by namespace::clean::_Util::BEGIN@12 at line 12 of namespace/clean/_Util.pm
# once (13µs+18µs) by IO::Uncompress::Adapter::Inflate::BEGIN@4 at line 4 of IO/Uncompress/Adapter/Inflate.pm
# once (14µs+17µs) by Exporter::Tiny::BEGIN@5 at line 5 of Exporter/Tiny.pm
# once (17µs+14µs) by MIME::Base64::BEGIN@4 at line 4 of MIME/Base64.pm
# once (15µs+15µs) by List::Util::BEGIN@10 at line 10 of List/Util.pm
# once (13µs+17µs) by Moo::_Utils::BEGIN@2.306 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary.pm
# once (12µs+18µs) by List::MoreUtils::BEGIN@5 at line 5 of List/MoreUtils.pm
# once (13µs+17µs) by Encode::Alias::BEGIN@3 at line 3 of Encode/Alias.pm
# once (13µs+17µs) by YAML::PP::Parser::BEGIN@2.288 at line 2 of YAML/PP/Exception.pm
# once (12µs+18µs) by Safe::Isa::BEGIN@4 at line 4 of Safe/Isa.pm
# once (16µs+14µs) by Sub::Util::BEGIN@8 at line 8 of Sub/Util.pm
# once (12µs+18µs) by IO::BEGIN@8 at line 8 of IO.pm
# once (13µs+17µs) by MooX::TypeTiny::BEGIN@3 at line 3 of MooX/TypeTiny.pm
# once (13µs+16µs) by JSON::Schema::Modern::BEGIN@3 at line 3 of Path/Tiny.pm
# once (15µs+14µs) by Encode::BEGIN@6 at line 6 of Encode.pm
# once (13µs+16µs) by Sub::Exporter::Progressive::BEGIN@4 at line 4 of Sub/Exporter/Progressive.pm
# once (14µs+15µs) by YAML::PP::BEGIN@2.284 at line 2 of YAML/PP/Schema/JSON.pm
# once (13µs+16µs) by List::MoreUtils::XS::BEGIN@5 at line 5 of List/MoreUtils/XS.pm
# once (13µs+16µs) by Method::Generate::Constructor::BEGIN@3 at line 3 of Method/Generate/Constructor.pm
# once (12µs+16µs) by IO::Compress::Gzip::BEGIN@6 at line 6 of IO/Compress/Gzip.pm
# once (13µs+15µs) by Mojo::Base::BEGIN@4 at line 4 of Mojo/Base.pm
# once (11µs+17µs) by Types::Standard::Map::BEGIN@7 at line 7 of Types/Standard/Map.pm
# once (12µs+16µs) by File::Basename::BEGIN@52 at line 52 of File/Basename.pm
# once (10µs+18µs) by Module::Runtime::BEGIN@2 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Core.pm
# once (10µs+18µs) by Types::Standard::ArrayRef::BEGIN@7 at line 7 of Types/Standard/ArrayRef.pm
# once (13µs+15µs) by Digest::SHA::BEGIN@6 at line 6 of Digest/SHA.pm
# once (13µs+15µs) by YAML::PP::Loader::BEGIN@3.292 at line 3 of YAML/PP/Constructor.pm
# once (14µs+13µs) by main::BEGIN@1.1 at line 1 of /Users/ether/git/fastly/Heavenly/profiling/jsm-0.558-plus-no-annotations-om-0.037/../prof.pl
# once (11µs+16µs) by Params::Util::BEGIN@60 at line 60 of Params/Util.pm
# once (14µs+13µs) by Types::Standard::BEGIN@5 at line 5 of Types/Standard.pm
# once (13µs+14µs) by YAML::PP::Dumper::BEGIN@2.296 at line 2 of YAML/PP/Representer.pm
# once (12µs+15µs) by Module::Load::BEGIN@2 at line 2 of YAML/PP/Schema/Core.pm
# once (11µs+15µs) by JSON::Schema::Modern::BEGIN@2.160 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Utilities.pm
# once (10µs+16µs) by Pod::Text::BEGIN@19 at line 19 of Pod/Text.pm
# once (12µs+14µs) by Type::Tiny::Class::BEGIN@5 at line 5 of Type/Tiny/Class.pm
# once (12µs+14µs) by JSON::Schema::Modern::BEGIN@2.67 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Error.pm
# once (9µs+17µs) by Method::Generate::Accessor::BEGIN@3 at line 3 of Method/Generate/Accessor.pm
# once (11µs+14µs) by IO::Uncompress::Gunzip::BEGIN@9 at line 9 of IO/Uncompress/Gunzip.pm
# once (13µs+12µs) by Config::BEGIN@10 at line 10 of Config.pm
# once (14µs+11µs) by main::BEGIN@2.3 at line 2 of OpenAPI/Modern.pm
# once (10µs+15µs) by Type::Tiny::Duck::BEGIN@5 at line 5 of Type/Tiny/Duck.pm
# once (12µs+13µs) by IO::Compress::Adapter::Deflate::BEGIN@4 at line 4 of IO/Compress/Adapter/Deflate.pm
# once (13µs+12µs) by Types::Standard::HashRef::BEGIN@7 at line 7 of Types/Standard/HashRef.pm
# once (9µs+16µs) by Type::Tiny::Enum::BEGIN@5 at line 5 of Type/Tiny/Enum.pm
# once (10µs+14µs) by Digest::MD5::BEGIN@4 at line 4 of Digest/MD5.pm
# once (10µs+14µs) by List::MoreUtils::PP::BEGIN@5 at line 5 of List/MoreUtils/PP.pm
# once (12µs+12µs) by B::Hooks::EndOfScope::BEGIN@6 at line 6 of B/Hooks/EndOfScope.pm
# once (12µs+12µs) by YAML::PP::Parser::BEGIN@3 at line 3 of YAML/PP/Render.pm
# once (11µs+13µs) by File::ShareDir::BEGIN@122 at line 122 of File/ShareDir.pm
# once (10µs+13µs) by YAML::PP::BEGIN@2.294 at line 2 of YAML/PP/Dumper.pm
# once (11µs+12µs) by IO::Compress::Gzip::Constants::BEGIN@4 at line 4 of IO/Compress/Gzip/Constants.pm
# once (10µs+13µs) by YAML::PP::BEGIN@3 at line 3 of YAML/PP/Loader.pm
# once (11µs+12µs) by Type::Coercion::BEGIN@5 at line 5 of Type/Coercion.pm
# once (12µs+11µs) by Moo::sification::BEGIN@3 at line 3 of Moo/sification.pm
# once (10µs+13µs) by Module::Runtime::BEGIN@2.308 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm
# once (9µs+13µs) by File::GlobMapper::BEGIN@4 at line 4 of File/GlobMapper.pm
# once (12µs+10µs) by main::BEGIN@3.282 at line 3 of YAML/PP.pm
# once (11µs+11µs) by Module::Runtime::BEGIN@2.322 at line 2 of JSON/Schema/Modern/Vocabulary/OpenAPI.pm
# once (11µs+11µs) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@2 at line 2 of Sub/Install.pm
# once (12µs+10µs) by Ref::Util::BEGIN@5 at line 5 of Ref/Util.pm
# once (8µs+14µs) by YAML::PP::Schema::BEGIN@2 at line 2 of YAML/PP/Common.pm
# once (11µs+11µs) by YAML::PP::Lexer::BEGIN@2 at line 2 of YAML/PP/Grammar.pm
# once (11µs+10µs) by Ref::Util::XS::BEGIN@5 at line 5 of Ref/Util/XS.pm
# once (8µs+13µs) by Data::Dumper::BEGIN@13 at line 13 of Data/Dumper.pm
# once (7µs+14µs) by Mojo::Util::BEGIN@16 at line 16 of Getopt/Long.pm
# once (6µs+15µs) by Moo::Role::BEGIN@3 at line 3 of Moo/Role.pm
# once (11µs+10µs) by Compress::Raw::Zlib::BEGIN@9 at line 9 of Compress/Raw/Zlib.pm
# once (9µs+12µs) by Type::Tiny::ConstrainedObject::BEGIN@5 at line 5 of Type/Tiny/ConstrainedObject.pm
# once (10µs+11µs) by JSON::Schema::Modern::BEGIN@2.114 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Document.pm
# once (10µs+10µs) by Scalar::Util::BEGIN@10 at line 10 of Scalar/Util.pm
# once (8µs+12µs) by Digest::base::BEGIN@4 at line 4 of Digest/base.pm
# once (9µs+11µs) by re::BEGIN@5 at line 5 of re.pm
# once (12µs+8µs) by bytes::BEGIN@4 at line 4 of bytes.pm
# once (8µs+12µs) by IO::Uncompress::Base::BEGIN@5 at line 5 of IO/Uncompress/Base.pm
# once (6µs+14µs) by Pod::Escapes::BEGIN@3 at line 3 of Pod/Escapes.pm
# once (8µs+12µs) by utf8::BEGIN@4 at line 4 of utf8.pm
# once (8µs+12µs) by Types::TypeTiny::BEGIN@5 at line 5 of Types/TypeTiny.pm
# once (8µs+11µs) by Module::Load::BEGIN@4 at line 4 of Module/Load.pm
# once (8µs+11µs) by Moo::_Utils::BEGIN@2.27 at line 2 of Class/Method/Modifiers.pm
# once (10µs+9µs) by Moo::BEGIN@3 at line 3 of Moo.pm
# once (7µs+12µs) by URI::Escape::BEGIN@4 at line 4 of URI/Escape.pm
# once (9µs+10µs) by Module::Runtime::BEGIN@2.318 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Content.pm
# once (8µs+11µs) by B::Hooks::EndOfScope::XS::BEGIN@5 at line 5 of B/Hooks/EndOfScope/XS.pm
# once (9µs+10µs) by JSON::MaybeXS::BEGIN@4 at line 4 of JSON/MaybeXS.pm
# once (7µs+12µs) by Try::Tiny::BEGIN@8 at line 8 of Try/Tiny.pm
# once (9µs+9µs) by strictures::BEGIN@4 at line 4 of strictures.pm
# once (6µs+12µs) by Type::Tiny::Union::BEGIN@5 at line 5 of Type/Tiny/Union.pm
# once (9µs+9µs) by Sub::Quote::BEGIN@6 at line 6 of Sub/Quote.pm
# once (7µs+11µs) by JSON::Schema::Modern::Result::BEGIN@2 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Annotation.pm
# once (7µs+11µs) by Variable::Magic::BEGIN@6 at line 6 of Variable/Magic.pm
# once (8µs+10µs) by IO::Uncompress::RawInflate::BEGIN@5 at line 5 of IO/Uncompress/RawInflate.pm
# once (10µs+8µs) by YAML::PP::Dumper::BEGIN@3 at line 3 of YAML/PP/Writer.pm
# once (7µs+10µs) by IO::Compress::RawDeflate::BEGIN@6 at line 6 of IO/Compress/RawDeflate.pm
# once (8µs+9µs) by Types::Standard::Dict::BEGIN@7 at line 7 of Types/Standard/Dict.pm
# once (8µs+9µs) by YAML::PP::Parser::BEGIN@3.290 at line 3 of YAML/PP/Reader.pm
# once (8µs+9µs) by Eval::TypeTiny::BEGIN@13 at line 13 of Eval/TypeTiny.pm
# once (7µs+9µs) by Role::Tiny::BEGIN@3 at line 3 of Role/Tiny.pm
# once (5µs+11µs) by Type::Tiny::BEGIN@5 at line 5 of Type/Tiny.pm
# once (9µs+7µs) by Moo::_Utils::BEGIN@3 at line 3 of Moo/_Utils.pm
# once (7µs+8µs) by Params::Util::PP::BEGIN@4 at line 4 of Params/Util/PP.pm
# once (7µs+8µs) by YAML::PP::BEGIN@2 at line 2 of YAML/PP/Schema.pm
# once (5µs+10µs) by YAML::PP::Dumper::BEGIN@2 at line 2 of YAML/PP/Emitter.pm
# once (6µs+9µs) by IO::Compress::Zlib::Extra::BEGIN@6 at line 6 of IO/Compress/Zlib/Extra.pm
# once (8µs+7µs) by Encode::Config::BEGIN@8 at line 8 of Encode/Config.pm
# once (7µs+7µs) by IO::Compress::Base::BEGIN@7 at line 7 of IO/Compress/Base.pm
# once (5µs+9µs) by Sub::Defer::BEGIN@3 at line 3 of Sub/Defer.pm
# once (8µs+6µs) by overloading::BEGIN@2 at line 2 of overloading.pm
# once (6µs+8µs) by OpenAPI::Modern::BEGIN@2 at line 2 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm
# once (7µs+6µs) by Carp::BEGIN@5 at line 5 of Carp.pm
# once (7µs+6µs) by Moo::Object::BEGIN@3 at line 3 of Moo/Object.pm
# once (4µs+8µs) by IO::Compress::Base::Common::BEGIN@4 at line 4 of IO/Compress/Base/Common.pm
# once (6µs+5µs) by experimental::BEGIN@4 at line 4 of experimental.pm | ||||
| 360 | 226 | 114µs | my $invocant = shift; | ||
| 361 | |||||
| 362 | # append 'all' when implied (empty import list or after a lone | ||||
| 363 | # "FATAL" or "NONFATAL") | ||||
| 364 | 226 | 178µs | push @_, 'all' | ||
| 365 | if !@_ || (@_==1 && ($_[0] eq 'FATAL' || $_[0] eq 'NONFATAL')); | ||||
| 366 | |||||
| 367 | 226 | 127µs | my @fatal = (); | ||
| 368 | 226 | 840µs | foreach my $warning (@_) { | ||
| 369 | 1601 | 3.02ms | 1601 | 560µs | if($warning =~ /^(NON)?FATAL$/) { # spent 560µs making 1601 calls to warnings::CORE:match, avg 350ns/call |
| 370 | @fatal = ($warning); | ||||
| 371 | } elsif(substr($warning, 0, 1) ne '-') { | ||||
| 372 | 1576 | 613µs | my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ; | ||
| 373 | 1576 | 1.26ms | 1576 | 8.94ms | ${^WARNING_BITS} = _bits($mask, @fatal, $warning); # spent 8.94ms making 1576 calls to warnings::_bits, avg 6µs/call |
| 374 | } else { | ||||
| 375 | $invocant->unimport(substr($warning, 1)); | ||||
| 376 | } | ||||
| 377 | } | ||||
| 378 | } | ||||
| 379 | |||||
| 380 | sub unimport | ||||
| 381 | # spent 4.91ms (3.29+1.63) within warnings::unimport which was called 414 times, avg 12µs/call:
# 54 times (258µs+80µs) by experimental::_enable at line 68 of experimental.pm, avg 6µs/call
# 18 times (260µs+14µs) by strictures::_enable_2 at line 172 of strictures.pm, avg 15µs/call
# 18 times (55µs+9µs) by strictures::_enable_2 at line 174 of strictures.pm, avg 4µs/call
# 6 times (34µs+18µs) by Feature::Compat::Try::import at line 146 of Feature/Compat/Try.pm, avg 9µs/call
# 2 times (15µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.59 or Type::Tiny::BEGIN@3.60 at line 3 of (eval 136)[Eval/TypeTiny.pm:8], avg 12µs/call
# once (69µs+39µs) by JSON::Schema::Modern::Result::BEGIN@15.337 at line 15 of (eval 436)[Sub/Quote.pm:3]
# once (86µs+7µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7 at line 7 of (eval 392)[Sub/Quote.pm:3]
# once (39µs+19µs) by Method::Generate::Constructor::BEGIN@5.68 at line 5 of (eval 207)[Sub/Quote.pm:3]
# once (41µs+10µs) by Method::Generate::Accessor::_Generated::BEGIN@19.246 at line 19 of (eval 390)[Sub/Quote.pm:3]
# once (40µs+5µs) by OpenAPI::Modern::BEGIN@5 at line 5 of (eval 405)[Sub/Quote.pm:3]
# once (8µs+33µs) by JSON::Schema::Modern::BEGIN@5.237 at line 5 of (eval 381)[Sub/Quote.pm:3]
# once (26µs+13µs) by Pod::Simple::BlackBox::BEGIN@1 at line 1 of (eval 9)[Pod/Simple/BlackBox.pm:40]
# once (27µs+11µs) by Type::Tiny::BEGIN@16 at line 16 of (eval 423)[Sub/Quote.pm:3]
# once (19µs+14µs) by U64::BEGIN@1046 at line 1046 of IO/Compress/Base/Common.pm
# once (7µs+25µs) by JSON::Schema::Modern::Document::BEGIN@7.143 at line 7 of (eval 303)[Sub/Quote.pm:3]
# once (19µs+11µs) by Types::Standard::Map::BEGIN@24 at line 24 of Types/Standard/Map.pm
# once (15µs+14µs) by File::GlobMapper::BEGIN@341 at line 341 of File/GlobMapper.pm
# once (18µs+11µs) by Types::TypeTiny::BEGIN@623 at line 623 of Types/TypeTiny.pm
# once (20µs+9µs) by JSON::Schema::Modern::BEGIN@5.205 at line 5 of (eval 356)[Sub/Quote.pm:3]
# once (21µs+7µs) by JSON::Schema::Modern::Document::BEGIN@74 at line 74 of (eval 428)[Sub/Quote.pm:3]
# once (15µs+12µs) by IO::Uncompress::Base::BEGIN@1500 at line 1500 of IO/Uncompress/Base.pm
# once (12µs+14µs) by Pod::Simple::BlackBox::BEGIN@67 at line 67 of Pod/Simple/BlackBox.pm
# once (18µs+8µs) by Method::Generate::Accessor::BEGIN@685 at line 685 of Method/Generate/Accessor.pm
# once (17µs+7µs) by JSON::Schema::Modern::BEGIN@5.214 at line 5 of (eval 361)[Sub/Quote.pm:3]
# once (17µs+7µs) by IO::Compress::Base::BEGIN@987 at line 987 of IO/Compress/Base.pm
# once (15µs+9µs) by JSON::Schema::Modern::Document::BEGIN@11.329 at line 11 of (eval 428)[Sub/Quote.pm:3]
# once (14µs+9µs) by JSON::PP::BEGIN@1582 at line 1582 of JSON/PP.pm
# once (10µs+13µs) by JSON::Schema::Modern::Error::BEGIN@116 at line 116 of (eval 435)[Sub/Quote.pm:3]
# once (14µs+8µs) by Type::Library::BEGIN@208 at line 208 of Type/Library.pm
# once (16µs+6µs) by Path::Tiny::BEGIN@37 at line 37 of Path/Tiny.pm
# once (13µs+9µs) by JSON::Schema::Modern::Document::BEGIN@8 at line 8 of (eval 267)[Sub/Quote.pm:3]
# once (14µs+7µs) by JSON::Schema::Modern::Document::BEGIN@6.149 at line 6 of (eval 305)[Sub/Quote.pm:3]
# once (12µs+9µs) by Type::Tiny::BEGIN@16.334 at line 16 of (eval 434)[Sub/Quote.pm:3]
# once (13µs+8µs) by Type::Tiny::BEGIN@16.332 at line 16 of (eval 432)[Sub/Quote.pm:3]
# once (13µs+8µs) by IO::Compress::Base::BEGIN@278 at line 278 of IO/Compress/Base.pm
# once (16µs+5µs) by JSON::Schema::Modern::Result::BEGIN@75 at line 75 of (eval 436)[Sub/Quote.pm:3]
# once (12µs+9µs) by IO::Compress::RawDeflate::BEGIN@137 at line 137 of IO/Compress/RawDeflate.pm
# once (12µs+9µs) by JSON::Schema::Modern::Document::BEGIN@5.127 at line 5 of (eval 295)[Sub/Quote.pm:3]
# once (13µs+8µs) by JSON::Schema::Modern::BEGIN@5.226 at line 5 of (eval 370)[Sub/Quote.pm:3]
# once (11µs+10µs) by JSON::Schema::Modern::BEGIN@5.186 at line 5 of (eval 340)[Sub/Quote.pm:3]
# once (11µs+9µs) by OpenAPI::Modern::BEGIN@7 at line 7 of (eval 419)[Sub/Quote.pm:3]
# once (12µs+8µs) by JSON::Schema::Modern::BEGIN@7.183 at line 7 of (eval 329)[Sub/Quote.pm:3]
# once (12µs+8µs) by overload::BEGIN@5 at line 5 of overload.pm
# once (12µs+8µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@6 at line 6 of (eval 390)[Sub/Quote.pm:3]
# once (12µs+8µs) by JSON::PP::BEGIN@1294 at line 1294 of JSON/PP.pm
# once (12µs+8µs) by JSON::Schema::Modern::Error::BEGIN@5 at line 5 of (eval 208)[Sub/Quote.pm:3]
# once (14µs+6µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5 at line 5 of (eval 389)[Sub/Quote.pm:3]
# once (13µs+7µs) by Moo::Role::BEGIN@360 at line 360 of Moo/Role.pm
# once (11µs+8µs) by JSON::Schema::Modern::BEGIN@7.202 at line 7 of (eval 348)[Sub/Quote.pm:3]
# once (10µs+9µs) by Mojo::Util::BEGIN@204 at line 204 of Mojo/Util.pm
# once (14µs+5µs) by Module::Implementation::BEGIN@129 at line 129 of Module/Implementation.pm
# once (11µs+8µs) by File::Glob::BEGIN@50 at line 50 of File/Glob.pm
# once (12µs+7µs) by JSON::Schema::Modern::Document::BEGIN@5 at line 5 of (eval 265)[Sub/Quote.pm:3]
# once (12µs+7µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.248 at line 5 of (eval 391)[Sub/Quote.pm:3]
# once (12µs+7µs) by Type::Tiny::BEGIN@16.324 at line 16 of (eval 425)[Sub/Quote.pm:3]
# once (11µs+8µs) by JSON::Schema::Modern::BEGIN@22.301 at line 22 of (eval 420)[Sub/Quote.pm:3]
# once (12µs+7µs) by JSON::PP::BEGIN@217 at line 217 of JSON/PP.pm
# once (11µs+8µs) by Pod::Simple::BlackBox::BEGIN@1.23 at line 1 of (eval 26)[Pod/Simple/BlackBox.pm:40]
# once (14µs+5µs) by JSON::Schema::Modern::Error::BEGIN@14.335 at line 14 of (eval 435)[Sub/Quote.pm:3]
# once (13µs+6µs) by JSON::Schema::Modern::BEGIN@7.223 at line 7 of (eval 366)[Sub/Quote.pm:3]
# once (12µs+7µs) by JSON::Schema::Modern::BEGIN@5 at line 5 of (eval 314)[Sub/Quote.pm:3]
# once (13µs+5µs) by JSON::Schema::Modern::BEGIN@5.179 at line 5 of (eval 327)[Sub/Quote.pm:3]
# once (9µs+9µs) by JSON::Schema::Modern::Result::BEGIN@8.106 at line 8 of (eval 255)[Sub/Quote.pm:3]
# once (10µs+8µs) by JSON::Schema::Modern::BEGIN@5.228 at line 5 of (eval 371)[Sub/Quote.pm:3]
# once (13µs+5µs) by Carp::BEGIN@744 at line 744 of Carp.pm
# once (12µs+5µs) by IO::Compress::Gzip::BEGIN@170 at line 170 of IO/Compress/Gzip.pm
# once (12µs+5µs) by IO::Uncompress::Base::BEGIN@429 at line 429 of IO/Uncompress/Base.pm
# once (12µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@20.247 at line 20 of (eval 390)[Sub/Quote.pm:3]
# once (11µs+6µs) by Storable::BEGIN@66 at line 66 of Storable.pm
# once (11µs+6µs) by JSON::PP::BEGIN@502 at line 502 of JSON/PP.pm
# once (14µs+3µs) by Exporter::Tiny::BEGIN@5.25 at line 5 of Exporter/Tiny.pm
# once (12µs+4µs) by Unicode::Normalize::BEGIN@8 at line 8 of Unicode/Normalize.pm
# once (9µs+7µs) by JSON::Schema::Modern::Result::BEGIN@5 at line 5 of (eval 240)[Sub/Quote.pm:3]
# once (10µs+6µs) by Pod::Simple::BlackBox::BEGIN@273 at line 273 of Pod/Simple/BlackBox.pm
# once (10µs+6µs) by JSON::Schema::Modern::BEGIN@7.232 at line 7 of (eval 373)[Sub/Quote.pm:3]
# once (12µs+4µs) by Types::Standard::Tuple::BEGIN@25 at line 25 of Types/Standard/Tuple.pm
# once (9µs+7µs) by Types::Standard::Tuple::BEGIN@338 at line 338 of Types/Standard/Tuple.pm
# once (9µs+7µs) by JSON::Schema::Modern::Error::BEGIN@6 at line 6 of (eval 217)[Sub/Quote.pm:3]
# once (9µs+7µs) by Method::Generate::Accessor::_Generated::BEGIN@39.251 at line 39 of (eval 392)[Sub/Quote.pm:3]
# once (9µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3 at line 3 of (eval 51)[Eval/TypeTiny.pm:8]
# once (11µs+5µs) by Eval::TypeTiny::BEGIN@81 at line 81 of Eval/TypeTiny.pm
# once (12µs+4µs) by Moo::_Utils::BEGIN@228 at line 228 of Moo/_Utils.pm
# once (10µs+6µs) by Type::Tiny::BEGIN@72 at line 72 of Type/Tiny.pm
# once (9µs+6µs) by JSON::Schema::Modern::BEGIN@5.230 at line 5 of (eval 372)[Sub/Quote.pm:3]
# once (15µs+0s) by Moo::BEGIN@4 at line 4 of Moo.pm
# once (11µs+4µs) by Types::TypeTiny::BEGIN@45 at line 45 of Types/TypeTiny.pm
# once (11µs+4µs) by Ref::Util::BEGIN@24 at line 24 of Ref/Util.pm
# once (9µs+6µs) by IO::Uncompress::Base::BEGIN@90 at line 90 of IO/Uncompress/Base.pm
# once (9µs+6µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.252 at line 5 of (eval 393)[Sub/Quote.pm:3]
# once (10µs+5µs) by JSON::Schema::Modern::BEGIN@5.207 at line 5 of (eval 357)[Sub/Quote.pm:3]
# once (7µs+8µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.303 at line 14 of (eval 421)[Sub/Quote.pm:3]
# once (6µs+8µs) by Type::Library::BEGIN@285 at line 285 of Type/Library.pm
# once (8µs+6µs) by OpenAPI::Modern::BEGIN@43 at line 43 of (eval 419)[Sub/Quote.pm:3]
# once (9µs+5µs) by Type::Tiny::Class::BEGIN@93 at line 93 of Type/Tiny/Class.pm
# once (7µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.45 at line 3 of (eval 105)[Eval/TypeTiny.pm:8]
# once (9µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.61 at line 3 of (eval 139)[Eval/TypeTiny.pm:8]
# once (10µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.33 at line 3 of (eval 70)[Eval/TypeTiny.pm:8]
# once (9µs+5µs) by JSON::Schema::Modern::BEGIN@7.220 at line 7 of (eval 364)[Sub/Quote.pm:3]
# once (11µs+3µs) by Sub::Defer::BEGIN@34 at line 34 of Sub/Defer.pm
# once (9µs+5µs) by JSON::Schema::Modern::BEGIN@5.216 at line 5 of (eval 362)[Sub/Quote.pm:3]
# once (7µs+7µs) by Pod::Simple::BlackBox::BEGIN@1.8 at line 1 of (eval 11)[Pod/Simple/BlackBox.pm:40]
# once (7µs+7µs) by JSON::Schema::Modern::Error::BEGIN@77 at line 77 of (eval 435)[Sub/Quote.pm:3]
# once (9µs+5µs) by JSON::Schema::Modern::Error::BEGIN@121 at line 121 of (eval 435)[Sub/Quote.pm:3]
# once (9µs+5µs) by JSON::Schema::Modern::Result::BEGIN@8 at line 8 of (eval 241)[Sub/Quote.pm:3]
# once (8µs+5µs) by JSON::Schema::Modern::BEGIN@5.190 at line 5 of (eval 342)[Sub/Quote.pm:3]
# once (7µs+6µs) by JSON::Schema::Modern::Result::BEGIN@5.95 at line 5 of (eval 249)[Sub/Quote.pm:3]
# once (10µs+3µs) by YAML::PP::Parser::BEGIN@97 at line 97 of YAML/PP/Parser.pm
# once (11µs+2µs) by Sub::Exporter::Progressive::BEGIN@21 at line 21 of Sub/Exporter/Progressive.pm
# once (10µs+3µs) by URI::Escape::BEGIN@191 at line 191 of URI/Escape.pm
# once (8µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.58 at line 3 of (eval 135)[Eval/TypeTiny.pm:8]
# once (7µs+6µs) by JSON::Schema::Modern::BEGIN@5.235 at line 5 of (eval 380)[Sub/Quote.pm:3]
# once (8µs+5µs) by JSON::Schema::Modern::BEGIN@7 at line 7 of (eval 316)[Sub/Quote.pm:3]
# once (7µs+6µs) by Types::Standard::BEGIN@194 at line 194 of Types/Standard.pm
# once (10µs+3µs) by JSON::Schema::Modern::BEGIN@5.173 at line 5 of (eval 320)[Sub/Quote.pm:3]
# once (7µs+6µs) by JSON::Schema::Modern::Annotation::BEGIN@5 at line 5 of (eval 230)[Sub/Quote.pm:3]
# once (9µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.44 at line 3 of (eval 102)[Eval/TypeTiny.pm:8]
# once (8µs+5µs) by JSON::Schema::Modern::Result::BEGIN@6 at line 6 of (eval 257)[Sub/Quote.pm:3]
# once (11µs+2µs) by Data::Perl::Role::Collection::Array::BEGIN@24 at line 24 of Data/Perl/Role/Collection/Array.pm
# once (9µs+4µs) by JSON::Schema::Modern::Document::BEGIN@5.129 at line 5 of (eval 296)[Sub/Quote.pm:3]
# once (9µs+4µs) by Exporter::Heavy::BEGIN@202 at line 202 of Exporter/Heavy.pm
# once (7µs+5µs) by Type::Tiny::Class::BEGIN@164.74 at line 164 of Type/Tiny/Class.pm
# once (7µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@24.204 at line 24 of (eval 348)[Sub/Quote.pm:3]
# once (7µs+5µs) by Class::Method::Modifiers::BEGIN@146 at line 146 of Class/Method/Modifiers.pm
# once (7µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.42 at line 3 of (eval 96)[Eval/TypeTiny.pm:8]
# once (8µs+4µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7.254 at line 7 of (eval 394)[Sub/Quote.pm:3]
# once (7µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@44.108 at line 44 of (eval 255)[Sub/Quote.pm:3]
# once (7µs+5µs) by JSON::Schema::Modern::BEGIN@5.188 at line 5 of (eval 341)[Sub/Quote.pm:3]
# once (7µs+5µs) by JSON::Schema::Modern::BEGIN@7.211 at line 7 of (eval 359)[Sub/Quote.pm:3]
# once (7µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7.261 at line 7 of (eval 397)[Sub/Quote.pm:3]
# once (8µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.43 at line 3 of (eval 99)[Eval/TypeTiny.pm:8]
# once (6µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.40 at line 3 of (eval 90)[Eval/TypeTiny.pm:8]
# once (8µs+4µs) by Pod::Simple::BlackBox::BEGIN@1.14 at line 1 of (eval 17)[Pod/Simple/BlackBox.pm:74]
# once (9µs+3µs) by Sub::Defer::BEGIN@167 at line 167 of Sub/Defer.pm
# once (8µs+4µs) by Role::Tiny::BEGIN@29 at line 29 of Role/Tiny.pm
# once (9µs+3µs) by Role::Tiny::BEGIN@242 at line 242 of Role/Tiny.pm
# once (7µs+5µs) by Role::Tiny::BEGIN@484 at line 484 of Role/Tiny.pm
# once (6µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.50 at line 3 of (eval 118)[Eval/TypeTiny.pm:8]
# once (10µs+2µs) by Exporter::Tiny::BEGIN@382 at line 382 of Exporter/Tiny.pm
# once (10µs+2µs) by Data::Perl::Role::Collection::Hash::BEGIN@77 at line 77 of Data/Perl/Role/Collection/Hash.pm
# once (8µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.30 at line 3 of (eval 61)[Eval/TypeTiny.pm:8]
# once (7µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.36 at line 3 of (eval 78)[Eval/TypeTiny.pm:8]
# once (7µs+4µs) by JSON::Schema::Modern::Document::BEGIN@7 at line 7 of (eval 268)[Sub/Quote.pm:3]
# once (6µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@39 at line 39 of (eval 268)[Sub/Quote.pm:3]
# once (7µs+4µs) by JSON::Schema::Modern::BEGIN@5.218 at line 5 of (eval 363)[Sub/Quote.pm:3]
# once (7µs+4µs) by JSON::Schema::Modern::Error::BEGIN@5.72 at line 5 of (eval 210)[Sub/Quote.pm:3]
# once (7µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.51 at line 3 of (eval 120)[Eval/TypeTiny.pm:8]
# once (6µs+5µs) by JSON::Schema::Modern::Document::BEGIN@5.152 at line 5 of (eval 306)[Sub/Quote.pm:3]
# once (8µs+3µs) by JSON::Schema::Modern::Document::BEGIN@7.139 at line 7 of (eval 301)[Sub/Quote.pm:3]
# once (7µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.29 at line 3 of (eval 56)[Eval/TypeTiny.pm:8]
# once (7µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.28 at line 3 of (eval 53)[Eval/TypeTiny.pm:8]
# once (6µs+5µs) by JSON::Schema::Modern::Result::BEGIN@8.99 at line 8 of (eval 251)[Sub/Quote.pm:3]
# once (7µs+4µs) by JSON::Schema::Modern::BEGIN@7.170 at line 7 of (eval 319)[Sub/Quote.pm:3]
# once (6µs+5µs) by JSON::Schema::Modern::Annotation::BEGIN@5.92 at line 5 of (eval 235)[Sub/Quote.pm:3]
# once (6µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.9 at line 1 of (eval 12)[Pod/Simple/BlackBox.pm:44]
# once (7µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.53 at line 3 of (eval 124)[Eval/TypeTiny.pm:8]
# once (5µs+6µs) by Pod::Simple::BlackBox::BEGIN@1.10 at line 1 of (eval 13)[Pod/Simple/BlackBox.pm:40]
# once (5µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.64 at line 3 of (eval 145)[Eval/TypeTiny.pm:8]
# once (7µs+4µs) by JSON::Schema::Modern::Result::BEGIN@5.97 at line 5 of (eval 250)[Sub/Quote.pm:3]
# once (6µs+5µs) by OpenAPI::Modern::BEGIN@5.275 at line 5 of (eval 411)[Sub/Quote.pm:3]
# once (9µs+2µs) by JSON::Schema::Modern::Error::BEGIN@5.77 at line 5 of (eval 213)[Sub/Quote.pm:3]
# once (7µs+4µs) by JSON::Schema::Modern::Result::BEGIN@5.102 at line 5 of (eval 253)[Sub/Quote.pm:3]
# once (6µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 at line 77 of (eval 421)[Sub/Quote.pm:3]
# once (9µs+2µs) by Moo::Object::BEGIN@67 at line 67 of Moo/Object.pm
# once (8µs+3µs) by JSON::Schema::Modern::Document::BEGIN@5.154 at line 5 of (eval 307)[Sub/Quote.pm:3]
# once (7µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.46 at line 3 of (eval 108)[Eval/TypeTiny.pm:8]
# once (6µs+5µs) by JSON::Schema::Modern::BEGIN@5.181 at line 5 of (eval 328)[Sub/Quote.pm:3]
# once (8µs+3µs) by JSON::Schema::Modern::Annotation::BEGIN@5.88 at line 5 of (eval 233)[Sub/Quote.pm:3]
# once (8µs+2µs) by Sub::Quote::BEGIN@65 at line 65 of Sub/Quote.pm
# once (5µs+5µs) by JSON::Schema::Modern::Document::BEGIN@5.123 at line 5 of (eval 272)[Sub/Quote.pm:3]
# once (6µs+4µs) by Type::Library::BEGIN@233 at line 233 of Type/Library.pm
# once (6µs+4µs) by JSON::Schema::Modern::Document::BEGIN@7.156 at line 7 of (eval 308)[Sub/Quote.pm:3]
# once (7µs+3µs) by Types::Standard::Dict::BEGIN@32 at line 32 of Types/Standard/Dict.pm
# once (6µs+4µs) by Class::Method::Modifiers::BEGIN@200 at line 200 of Class/Method/Modifiers.pm
# once (8µs+2µs) by JSON::Schema::Modern::BEGIN@5.166 at line 5 of (eval 317)[Sub/Quote.pm:3]
# once (7µs+3µs) by JSON::Schema::Modern::Document::BEGIN@5.141 at line 5 of (eval 302)[Sub/Quote.pm:3]
# once (8µs+2µs) by JSON::Schema::Modern::Error::BEGIN@5.75 at line 5 of (eval 212)[Sub/Quote.pm:3]
# once (6µs+4µs) by JSON::Schema::Modern::BEGIN@5.177 at line 5 of (eval 322)[Sub/Quote.pm:3]
# once (5µs+5µs) by OpenAPI::Modern::BEGIN@5.265 at line 5 of (eval 406)[Sub/Quote.pm:3]
# once (7µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.37 at line 3 of (eval 81)[Eval/TypeTiny.pm:8]
# once (7µs+3µs) by Pod::Simple::BlackBox::BEGIN@1.17 at line 1 of (eval 20)[Pod/Simple/BlackBox.pm:40]
# once (6µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@24.213 at line 24 of (eval 359)[Sub/Quote.pm:3]
# once (7µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.172 at line 24 of (eval 319)[Sub/Quote.pm:3]
# once (5µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.65 at line 3 of (eval 147)[Eval/TypeTiny.pm:8]
# once (4µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24.263 at line 24 of (eval 397)[Sub/Quote.pm:3]
# once (5µs+5µs) by JSON::Schema::Modern::Annotation::BEGIN@5.90 at line 5 of (eval 234)[Sub/Quote.pm:3]
# once (5µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.39 at line 3 of (eval 87)[Eval/TypeTiny.pm:8]
# once (5µs+5µs) by JSON::Schema::Modern::BEGIN@60 at line 60 of (eval 420)[Sub/Quote.pm:3]
# once (6µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@20 at line 20 of (eval 217)[Sub/Quote.pm:3]
# once (5µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.7 at line 1 of (eval 10)[Pod/Simple/BlackBox.pm:44]
# once (6µs+4µs) by JSON::Schema::Modern::Document::BEGIN@5.135 at line 5 of (eval 299)[Sub/Quote.pm:3]
# once (6µs+4µs) by JSON::Schema::Modern::Document::BEGIN@7.120 at line 7 of (eval 270)[Sub/Quote.pm:3]
# once (7µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@39.122 at line 39 of (eval 270)[Sub/Quote.pm:3]
# once (8µs+2µs) by strictures::BEGIN@97 at line 97 of strictures.pm
# once (7µs+3µs) by JSON::Schema::Modern::Error::BEGIN@5.79 at line 5 of (eval 215)[Sub/Quote.pm:3]
# once (6µs+4µs) by JSON::Schema::Modern::Error::BEGIN@5.70 at line 5 of (eval 209)[Sub/Quote.pm:3]
# once (7µs+3µs) by JSON::Schema::Modern::Result::BEGIN@163 at line 163 of (eval 436)[Sub/Quote.pm:3]
# once (6µs+4µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.259 at line 5 of (eval 396)[Sub/Quote.pm:3]
# once (6µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.32 at line 3 of (eval 67)[Eval/TypeTiny.pm:8]
# once (6µs+4µs) by JSON::Schema::Modern::BEGIN@5.192 at line 5 of (eval 343)[Sub/Quote.pm:3]
# once (7µs+3µs) by JSON::Schema::Modern::BEGIN@5.162 at line 5 of (eval 315)[Sub/Quote.pm:3]
# once (9µs+1µs) by Exporter::Tiny::BEGIN@137 at line 137 of Exporter/Tiny.pm
# once (5µs+5µs) by JSON::Schema::Modern::Error::BEGIN@106 at line 106 of (eval 435)[Sub/Quote.pm:3]
# once (7µs+3µs) by JSON::Schema::Modern::BEGIN@5.209 at line 5 of (eval 358)[Sub/Quote.pm:3]
# once (8µs+2µs) by Type::Tiny::BEGIN@16.326 at line 16 of (eval 426)[Sub/Quote.pm:3]
# once (8µs+1µs) by Moo::sification::BEGIN@4 at line 4 of Moo/sification.pm
# once (5µs+4µs) by JSON::Schema::Modern::Result::BEGIN@5.111 at line 5 of (eval 258)[Sub/Quote.pm:3]
# once (7µs+2µs) by OpenAPI::Modern::BEGIN@5.271 at line 5 of (eval 409)[Sub/Quote.pm:3]
# once (5µs+4µs) by JSON::Schema::Modern::BEGIN@5.200 at line 5 of (eval 347)[Sub/Quote.pm:3]
# once (6µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.49 at line 3 of (eval 116)[Eval/TypeTiny.pm:8]
# once (5µs+4µs) by Types::TypeTiny::BEGIN@69 at line 69 of Types/TypeTiny.pm
# once (8µs+1µs) by Method::Generate::Accessor::_Generated::BEGIN@24.222 at line 24 of (eval 364)[Sub/Quote.pm:3]
# once (6µs+3µs) by JSON::Schema::Modern::Document::BEGIN@5.133 at line 5 of (eval 298)[Sub/Quote.pm:3]
# once (4µs+5µs) by OpenAPI::Modern::BEGIN@5.277 at line 5 of (eval 412)[Sub/Quote.pm:3]
# once (5µs+4µs) by JSON::Schema::Modern::BEGIN@140 at line 140 of (eval 420)[Sub/Quote.pm:3]
# once (6µs+3µs) by JSON::Schema::Modern::BEGIN@145 at line 145 of (eval 420)[Sub/Quote.pm:3]
# once (5µs+4µs) by JSON::Schema::Modern::BEGIN@65 at line 65 of (eval 420)[Sub/Quote.pm:3]
# once (6µs+3µs) by Types::Standard::ArrayRef::BEGIN@22 at line 22 of Types/Standard/ArrayRef.pm
# once (4µs+5µs) by JSON::Schema::Modern::BEGIN@7.239 at line 7 of (eval 382)[Sub/Quote.pm:3]
# once (6µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.31 at line 3 of (eval 64)[Eval/TypeTiny.pm:8]
# once (5µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@24.145 at line 24 of (eval 303)[Sub/Quote.pm:3]
# once (6µs+3µs) by JSON::Schema::Modern::Document::BEGIN@5.131 at line 5 of (eval 297)[Sub/Quote.pm:3]
# once (6µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.62 at line 3 of (eval 141)[Eval/TypeTiny.pm:8]
# once (6µs+3µs) by JSON::Schema::Modern::BEGIN@5.198 at line 5 of (eval 346)[Sub/Quote.pm:3]
# once (7µs+2µs) by JSON::PP::BEGIN@524 at line 524 of JSON/PP.pm
# once (5µs+4µs) by JSON::Schema::Modern::Document::BEGIN@6.146 at line 6 of (eval 304)[Sub/Quote.pm:3]
# once (6µs+3µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.257 at line 5 of (eval 395)[Sub/Quote.pm:3]
# once (6µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@19 at line 19 of (eval 273)[Sub/Quote.pm:3]
# once (6µs+3µs) by JSON::Schema::Modern::Document::BEGIN@6 at line 6 of (eval 273)[Sub/Quote.pm:3]
# once (7µs+2µs) by MooX::HandlesVia::BEGIN@26 at line 26 of MooX/HandlesVia.pm
# once (5µs+4µs) by JSON::Schema::Modern::Error::BEGIN@126 at line 126 of (eval 435)[Sub/Quote.pm:3]
# once (5µs+4µs) by JSON::Schema::Modern::BEGIN@5.175 at line 5 of (eval 321)[Sub/Quote.pm:3]
# once (6µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.225 at line 24 of (eval 366)[Sub/Quote.pm:3]
# once (6µs+3µs) by Type::Tiny::Enum::BEGIN@54 at line 54 of Type/Tiny/Enum.pm
# once (5µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@44.117 at line 44 of (eval 267)[Sub/Quote.pm:3]
# once (6µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.34 at line 3 of (eval 73)[Eval/TypeTiny.pm:8]
# once (6µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@44 at line 44 of (eval 241)[Sub/Quote.pm:3]
# once (3µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.56 at line 3 of (eval 131)[Eval/TypeTiny.pm:8]
# once (6µs+2µs) by JSON::Schema::Modern::BEGIN@5.194 at line 5 of (eval 344)[Sub/Quote.pm:3]
# once (4µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@24.158 at line 24 of (eval 308)[Sub/Quote.pm:3]
# once (5µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@19.151 at line 19 of (eval 305)[Sub/Quote.pm:3]
# once (2µs+6µs) by Type::Tiny::BEGIN@16.328 at line 16 of (eval 427)[Sub/Quote.pm:3]
# once (3µs+5µs) by JSON::Schema::Modern::Document::BEGIN@5.118 at line 5 of (eval 269)[Sub/Quote.pm:3]
# once (4µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.54 at line 3 of (eval 126)[Eval/TypeTiny.pm:8]
# once (5µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24 at line 24 of (eval 301)[Sub/Quote.pm:3]
# once (5µs+3µs) by Types::TypeTiny::BEGIN@630 at line 630 of Types/TypeTiny.pm
# once (6µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@44.101 at line 44 of (eval 251)[Sub/Quote.pm:3]
# once (5µs+3µs) by JSON::Schema::Modern::BEGIN@111 at line 111 of (eval 420)[Sub/Quote.pm:3]
# once (6µs+2µs) by JSON::Schema::Modern::BEGIN@55 at line 55 of (eval 420)[Sub/Quote.pm:3]
# once (6µs+2µs) by Eval::TypeTiny::Sandbox::BEGIN@3.35 at line 3 of (eval 76)[Eval/TypeTiny.pm:8]
# once (5µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.63 at line 3 of (eval 143)[Eval/TypeTiny.pm:8]
# once (5µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.241 at line 24 of (eval 382)[Sub/Quote.pm:3]
# once (5µs+3µs) by JSON::Schema::Modern::Result::BEGIN@131 at line 131 of (eval 436)[Sub/Quote.pm:3]
# once (4µs+4µs) by JSON::Schema::Modern::Result::BEGIN@123 at line 123 of (eval 436)[Sub/Quote.pm:3]
# once (4µs+4µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 at line 143 of (eval 421)[Sub/Quote.pm:3]
# once (3µs+5µs) by Types::Standard::HashRef::BEGIN@22 at line 22 of Types/Standard/HashRef.pm
# once (3µs+4µs) by Type::Library::BEGIN@315 at line 315 of Type/Library.pm
# once (5µs+2µs) by Eval::TypeTiny::Sandbox::BEGIN@3.57 at line 3 of (eval 133)[Eval/TypeTiny.pm:8]
# once (5µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@39.256 at line 39 of (eval 394)[Sub/Quote.pm:3]
# once (5µs+2µs) by Eval::TypeTiny::Sandbox::BEGIN@3.41 at line 3 of (eval 93)[Eval/TypeTiny.pm:8]
# once (5µs+2µs) by JSON::Schema::Modern::Result::BEGIN@5.104 at line 5 of (eval 254)[Sub/Quote.pm:3]
# once (3µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.38 at line 3 of (eval 84)[Eval/TypeTiny.pm:8]
# once (5µs+2µs) by JSON::Schema::Modern::Annotation::BEGIN@5.84 at line 5 of (eval 231)[Sub/Quote.pm:3]
# once (4µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.234 at line 24 of (eval 373)[Sub/Quote.pm:3]
# once (5µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@24.165 at line 24 of (eval 316)[Sub/Quote.pm:3]
# once (5µs+2µs) by JSON::Schema::Modern::BEGIN@85 at line 85 of (eval 420)[Sub/Quote.pm:3]
# once (6µs+1000ns) by JSON::Schema::Modern::BEGIN@70 at line 70 of (eval 420)[Sub/Quote.pm:3]
# once (4µs+3µs) by JSON::Schema::Modern::BEGIN@90 at line 90 of (eval 420)[Sub/Quote.pm:3]
# once (5µs+2µs) by Sub::Defer::BEGIN@89 at line 89 of Sub/Defer.pm
# once (4µs+3µs) by JSON::Schema::Modern::Result::BEGIN@99 at line 99 of (eval 436)[Sub/Quote.pm:3]
# once (5µs+2µs) by OpenAPI::Modern::BEGIN@5.273 at line 5 of (eval 410)[Sub/Quote.pm:3]
# once (5µs+2µs) by JSON::Schema::Modern::Document::BEGIN@87 at line 87 of (eval 428)[Sub/Quote.pm:3]
# once (4µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.47 at line 3 of (eval 111)[Eval/TypeTiny.pm:8]
# once (6µs+1000ns) by Method::Generate::Accessor::_Generated::BEGIN@20.110 at line 20 of (eval 257)[Sub/Quote.pm:3]
# once (4µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.55 at line 3 of (eval 128)[Eval/TypeTiny.pm:8]
# once (5µs+2µs) by JSON::Schema::Modern::Annotation::BEGIN@5.86 at line 5 of (eval 232)[Sub/Quote.pm:3]
# once (2µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@20.148 at line 20 of (eval 304)[Sub/Quote.pm:3]
# once (4µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.52 at line 3 of (eval 122)[Eval/TypeTiny.pm:8]
# once (6µs+1000ns) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 at line 82 of (eval 421)[Sub/Quote.pm:3]
# once (2µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 at line 90 of (eval 421)[Sub/Quote.pm:3]
# once (3µs+4µs) by Pod::Simple::BlackBox::BEGIN@1.11 at line 1 of (eval 14)[Pod/Simple/BlackBox.pm:44]
# once (5µs+2µs) by Moo::_Utils::BEGIN@7 at line 7 of Moo/_Utils.pm
# once (5µs+2µs) by Moo::_Utils::BEGIN@235 at line 235 of Moo/_Utils.pm
# once (5µs+2µs) by Eval::TypeTiny::Sandbox::BEGIN@3.48 at line 3 of (eval 114)[Eval/TypeTiny.pm:8]
# once (5µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.24 at line 1 of (eval 27)[Pod/Simple/BlackBox.pm:44]
# once (5µs+1000ns) by Pod::Simple::BlackBox::BEGIN@1.16 at line 1 of (eval 19)[Pod/Simple/BlackBox.pm:44]
# once (5µs+1000ns) by OpenAPI::Modern::BEGIN@48 at line 48 of (eval 419)[Sub/Quote.pm:3]
# once (5µs+1000ns) by Method::Generate::Accessor::_Generated::BEGIN@24.185 at line 24 of (eval 329)[Sub/Quote.pm:3]
# once (4µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.19 at line 1 of (eval 22)[Pod/Simple/BlackBox.pm:40]
# once (6µs+0s) by Carp::BEGIN@6 at line 24 of Carp.pm
# once (5µs+1000ns) by OpenAPI::Modern::BEGIN@5.269 at line 5 of (eval 408)[Sub/Quote.pm:3]
# once (3µs+3µs) by JSON::Schema::Modern::BEGIN@116 at line 116 of (eval 420)[Sub/Quote.pm:3]
# once (4µs+2µs) by JSON::Schema::Modern::BEGIN@98 at line 98 of (eval 420)[Sub/Quote.pm:3]
# once (5µs+1000ns) by JSON::Schema::Modern::BEGIN@75 at line 75 of (eval 420)[Sub/Quote.pm:3]
# once (3µs+3µs) by Pod::Simple::BlackBox::BEGIN@1.21 at line 1 of (eval 24)[Pod/Simple/BlackBox.pm:40]
# once (5µs+1000ns) by JSON::Schema::Modern::Result::BEGIN@139 at line 139 of (eval 436)[Sub/Quote.pm:3]
# once (4µs+2µs) by JSON::Schema::Modern::BEGIN@5.168 at line 5 of (eval 318)[Sub/Quote.pm:3]
# once (6µs+0s) by Pod::Simple::BlackBox::BEGIN@1.15 at line 1 of (eval 18)[Pod/Simple/BlackBox.pm:40]
# once (6µs+0s) by JSON::Schema::Modern::Document::BEGIN@84 at line 84 of (eval 428)[Sub/Quote.pm:3]
# once (4µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@20.126 at line 20 of (eval 273)[Sub/Quote.pm:3]
# once (3µs+3µs) by JSON::Schema::Modern::Error::BEGIN@82 at line 82 of (eval 435)[Sub/Quote.pm:3]
# once (3µs+3µs) by JSON::Schema::Modern::Document::BEGIN@5.137 at line 5 of (eval 300)[Sub/Quote.pm:3]
# once (4µs+2µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 at line 111 of (eval 421)[Sub/Quote.pm:3]
# once (3µs+3µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 at line 138 of (eval 421)[Sub/Quote.pm:3]
# once (2µs+3µs) by Pod::Simple::BlackBox::BEGIN@1.22 at line 1 of (eval 25)[Pod/Simple/BlackBox.pm:44]
# once (4µs+1µs) by Class::Method::Modifiers::BEGIN@147 at line 147 of Class/Method/Modifiers.pm
# once (3µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.12 at line 1 of (eval 15)[Pod/Simple/BlackBox.pm:40]
# once (4µs+1µs) by OpenAPI::Modern::BEGIN@5.279 at line 5 of (eval 413)[Sub/Quote.pm:3]
# once (3µs+2µs) by JSON::Schema::Modern::BEGIN@106 at line 106 of (eval 420)[Sub/Quote.pm:3]
# once (4µs+1µs) by JSON::Schema::Modern::BEGIN@80 at line 80 of (eval 420)[Sub/Quote.pm:3]
# once (4µs+1µs) by OpenAPI::Modern::BEGIN@5.267 at line 5 of (eval 407)[Sub/Quote.pm:3]
# once (2µs+3µs) by JSON::Schema::Modern::Document::BEGIN@108 at line 108 of (eval 428)[Sub/Quote.pm:3]
# once (4µs+1µs) by JSON::Schema::Modern::Document::BEGIN@79 at line 79 of (eval 428)[Sub/Quote.pm:3]
# once (2µs+3µs) by JSON::Schema::Modern::Error::BEGIN@111 at line 111 of (eval 435)[Sub/Quote.pm:3]
# once (3µs+2µs) by JSON::Schema::Modern::BEGIN@5.196 at line 5 of (eval 345)[Sub/Quote.pm:3]
# once (4µs+1µs) by Pod::Simple::BlackBox::BEGIN@1.18 at line 1 of (eval 21)[Pod/Simple/BlackBox.pm:44]
# once (3µs+1000ns) by Pod::Simple::BlackBox::BEGIN@1.13 at line 1 of (eval 16)[Pod/Simple/BlackBox.pm:44]
# once (3µs+1000ns) by JSON::Schema::Modern::BEGIN@158 at line 158 of (eval 420)[Sub/Quote.pm:3]
# once (3µs+1000ns) by Pod::Simple::BlackBox::BEGIN@1.20 at line 1 of (eval 23)[Pod/Simple/BlackBox.pm:44]
# once (2µs+1µs) by JSON::Schema::Modern::BEGIN@150 at line 150 of (eval 420)[Sub/Quote.pm:3]
# once (3µs+0s) by Sub::Defer::BEGIN@41 at line 41 of Sub/Defer.pm
# once (3µs+0s) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 at line 87 of (eval 421)[Sub/Quote.pm:3] | ||||
| 382 | 414 | 63µs | shift; | ||
| 383 | |||||
| 384 | 414 | 72µs | my $catmask ; | ||
| 385 | 414 | 338µs | my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ; | ||
| 386 | |||||
| 387 | # append 'all' when implied (empty import list or after a lone "FATAL") | ||||
| 388 | 414 | 314µs | push @_, 'all' if !@_ || @_==1 && $_[0] eq 'FATAL'; | ||
| 389 | |||||
| 390 | 414 | 414µs | 414 | 1.63ms | $mask = _expand_bits($mask); # spent 1.63ms making 414 calls to warnings::_expand_bits, avg 4µs/call |
| 391 | 414 | 209µs | foreach my $word ( @_ ) { | ||
| 392 | 567 | 835µs | if ($word eq 'FATAL') { | ||
| 393 | 18 | 8µs | next; | ||
| 394 | } | ||||
| 395 | elsif ($catmask = $Bits{$word}) { | ||||
| 396 | $mask = ~(~$mask | $catmask | $DeadBits{$word}); | ||||
| 397 | } | ||||
| 398 | else | ||||
| 399 | { Croaker("Unknown warnings category '$word'")} | ||||
| 400 | } | ||||
| 401 | |||||
| 402 | 414 | 1.20ms | ${^WARNING_BITS} = $mask ; | ||
| 403 | } | ||||
| 404 | |||||
| 405 | 2 | 5µs | my %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = (); | ||
| 406 | |||||
| 407 | sub LEVEL () { 8 }; | ||||
| 408 | sub MESSAGE () { 4 }; | ||||
| 409 | sub FATAL () { 2 }; | ||||
| 410 | sub NORMAL () { 1 }; | ||||
| 411 | |||||
| 412 | sub __chk | ||||
| 413 | { | ||||
| 414 | my $category ; | ||||
| 415 | my $offset ; | ||||
| 416 | my $isobj = 0 ; | ||||
| 417 | my $wanted = shift; | ||||
| 418 | my $has_message = $wanted & MESSAGE; | ||||
| 419 | my $has_level = $wanted & LEVEL ; | ||||
| 420 | |||||
| 421 | if ($has_level) { | ||||
| 422 | if (@_ != ($has_message ? 3 : 2)) { | ||||
| 423 | my $sub = (caller 1)[3]; | ||||
| 424 | my $syntax = $has_message | ||||
| 425 | ? "category, level, 'message'" | ||||
| 426 | : 'category, level'; | ||||
| 427 | Croaker("Usage: $sub($syntax)"); | ||||
| 428 | } | ||||
| 429 | } | ||||
| 430 | elsif (not @_ == 1 || @_ == ($has_message ? 2 : 0)) { | ||||
| 431 | my $sub = (caller 1)[3]; | ||||
| 432 | my $syntax = $has_message ? "[category,] 'message'" : '[category]'; | ||||
| 433 | Croaker("Usage: $sub($syntax)"); | ||||
| 434 | } | ||||
| 435 | |||||
| 436 | my $message = pop if $has_message; | ||||
| 437 | |||||
| 438 | if (@_) { | ||||
| 439 | # check the category supplied. | ||||
| 440 | $category = shift ; | ||||
| 441 | if (my $type = ref $category) { | ||||
| 442 | Croaker("not an object") | ||||
| 443 | if exists $builtin_type{$type}; | ||||
| 444 | $category = $type; | ||||
| 445 | $isobj = 1 ; | ||||
| 446 | } | ||||
| 447 | $offset = $Offsets{$category}; | ||||
| 448 | Croaker("Unknown warnings category '$category'") | ||||
| 449 | unless defined $offset; | ||||
| 450 | } | ||||
| 451 | else { | ||||
| 452 | $category = (caller(1))[0] ; | ||||
| 453 | $offset = $Offsets{$category}; | ||||
| 454 | Croaker("package '$category' not registered for warnings") | ||||
| 455 | unless defined $offset ; | ||||
| 456 | } | ||||
| 457 | |||||
| 458 | my $i; | ||||
| 459 | |||||
| 460 | if ($isobj) { | ||||
| 461 | my $pkg; | ||||
| 462 | $i = 2; | ||||
| 463 | while (do { { package DB; $pkg = (caller($i++))[0] } } ) { | ||||
| 464 | last unless @DB::args && $DB::args[0] =~ /^$category=/ ; | ||||
| 465 | } | ||||
| 466 | $i -= 2 ; | ||||
| 467 | } | ||||
| 468 | elsif ($has_level) { | ||||
| 469 | $i = 2 + shift; | ||||
| 470 | } | ||||
| 471 | else { | ||||
| 472 | $i = _error_loc(); # see where Carp will allocate the error | ||||
| 473 | } | ||||
| 474 | |||||
| 475 | # Default to 0 if caller returns nothing. Default to $DEFAULT if it | ||||
| 476 | # explicitly returns undef. | ||||
| 477 | my(@callers_bitmask) = (caller($i))[9] ; | ||||
| 478 | my $callers_bitmask = | ||||
| 479 | @callers_bitmask ? $callers_bitmask[0] // $DEFAULT : 0 ; | ||||
| 480 | length($callers_bitmask) > ($offset >> 3) or $offset = $Offsets{all}; | ||||
| 481 | |||||
| 482 | my @results; | ||||
| 483 | foreach my $type (FATAL, NORMAL) { | ||||
| 484 | next unless $wanted & $type; | ||||
| 485 | |||||
| 486 | push @results, vec($callers_bitmask, $offset + $type - 1, 1); | ||||
| 487 | } | ||||
| 488 | |||||
| 489 | # &enabled and &fatal_enabled | ||||
| 490 | return $results[0] unless $has_message; | ||||
| 491 | |||||
| 492 | # &warnif, and the category is neither enabled as warning nor as fatal | ||||
| 493 | return if ($wanted & (NORMAL | FATAL | MESSAGE)) | ||||
| 494 | == (NORMAL | FATAL | MESSAGE) | ||||
| 495 | && !($results[0] || $results[1]); | ||||
| 496 | |||||
| 497 | # If we have an explicit level, bypass Carp. | ||||
| 498 | if ($has_level and @callers_bitmask) { | ||||
| 499 | # logic copied from util.c:mess_sv | ||||
| 500 | my $stuff = " at " . join " line ", (caller $i)[1,2]; | ||||
| 501 | $stuff .= sprintf ", <%s> %s %d", | ||||
| 502 | *${^LAST_FH}{NAME}, | ||||
| 503 | ($/ eq "\n" ? "line" : "chunk"), $. | ||||
| 504 | if $. && ${^LAST_FH}; | ||||
| 505 | die "$message$stuff.\n" if $results[0]; | ||||
| 506 | return warn "$message$stuff.\n"; | ||||
| 507 | } | ||||
| 508 | |||||
| 509 | require Carp; | ||||
| 510 | Carp::croak($message) if $results[0]; | ||||
| 511 | # will always get here for &warn. will only get here for &warnif if the | ||||
| 512 | # category is enabled | ||||
| 513 | Carp::carp($message); | ||||
| 514 | } | ||||
| 515 | |||||
| 516 | sub _mkMask | ||||
| 517 | { | ||||
| 518 | 14 | 5µs | my ($bit) = @_; | ||
| 519 | 14 | 2µs | my $mask = ""; | ||
| 520 | |||||
| 521 | 14 | 20µs | vec($mask, $bit, 1) = 1; | ||
| 522 | 14 | 71µs | return $mask; | ||
| 523 | } | ||||
| 524 | |||||
| 525 | sub register_categories | ||||
| 526 | # spent 175µs (132+43) within warnings::register_categories which was called 8 times, avg 22µs/call:
# 7 times (127µs+43µs) by warnings::register::import at line 23 of warnings/register.pm, avg 24µs/call
# once (5µs+0s) by experimental::BEGIN@5 at line 7 of version.pm | ||||
| 527 | 8 | 4µs | my @names = @_; | ||
| 528 | |||||
| 529 | 8 | 21µs | for my $name (@names) { | ||
| 530 | 8 | 8µs | if (! defined $Bits{$name}) { | ||
| 531 | 7 | 9µs | $Offsets{$name} = $LAST_BIT; | ||
| 532 | 7 | 26µs | 7 | 35µs | $Bits{$name} = _mkMask($LAST_BIT++); # spent 35µs making 7 calls to warnings::_mkMask, avg 5µs/call |
| 533 | 7 | 6µs | 7 | 8µs | $DeadBits{$name} = _mkMask($LAST_BIT++); # spent 8µs making 7 calls to warnings::_mkMask, avg 1µs/call |
| 534 | 7 | 6µs | if (length($Bits{$name}) > length($Bits{all})) { | ||
| 535 | 2 | 1µs | $Bits{all} .= "\x55"; | ||
| 536 | 2 | 0s | $DeadBits{all} .= "\xaa"; | ||
| 537 | } | ||||
| 538 | } | ||||
| 539 | } | ||||
| 540 | } | ||||
| 541 | |||||
| 542 | sub _error_loc { | ||||
| 543 | require Carp; | ||||
| 544 | goto &Carp::short_error_loc; # don't introduce another stack frame | ||||
| 545 | } | ||||
| 546 | |||||
| 547 | sub enabled | ||||
| 548 | { | ||||
| 549 | return __chk(NORMAL, @_); | ||||
| 550 | } | ||||
| 551 | |||||
| 552 | sub fatal_enabled | ||||
| 553 | { | ||||
| 554 | return __chk(FATAL, @_); | ||||
| 555 | } | ||||
| 556 | |||||
| 557 | sub warn | ||||
| 558 | { | ||||
| 559 | return __chk(FATAL | MESSAGE, @_); | ||||
| 560 | } | ||||
| 561 | |||||
| 562 | sub warnif | ||||
| 563 | { | ||||
| 564 | return __chk(NORMAL | FATAL | MESSAGE, @_); | ||||
| 565 | } | ||||
| 566 | |||||
| 567 | sub enabled_at_level | ||||
| 568 | { | ||||
| 569 | return __chk(NORMAL | LEVEL, @_); | ||||
| 570 | } | ||||
| 571 | |||||
| 572 | sub fatal_enabled_at_level | ||||
| 573 | { | ||||
| 574 | return __chk(FATAL | LEVEL, @_); | ||||
| 575 | } | ||||
| 576 | |||||
| 577 | sub warn_at_level | ||||
| 578 | { | ||||
| 579 | return __chk(FATAL | MESSAGE | LEVEL, @_); | ||||
| 580 | } | ||||
| 581 | |||||
| 582 | sub warnif_at_level | ||||
| 583 | { | ||||
| 584 | return __chk(NORMAL | FATAL | MESSAGE | LEVEL, @_); | ||||
| 585 | } | ||||
| 586 | |||||
| 587 | # These are not part of any public interface, so we can delete them to save | ||||
| 588 | # space. | ||||
| 589 | 1 | 7µs | delete @warnings::{qw(NORMAL FATAL MESSAGE LEVEL)}; | ||
| 590 | |||||
| 591 | 1 | 31µs | 1; | ||
| 592 | __END__ | ||||
sub warnings::CORE:match; # opcode |