Filename | /Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/warnings.pm |
Statements | Executed 42794 statements in 27.1ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1576 | 1 | 1 | 7.93ms | 10.7ms | _bits | warnings::
226 | 148 | 140 | 7.80ms | 19.0ms | import | warnings::
1992 | 2 | 1 | 4.79ms | 4.79ms | _expand_bits | warnings::
416 | 323 | 220 | 4.21ms | 6.25ms | unimport | warnings::
1602 | 2 | 1 | 559µs | 559µs | CORE:match (opcode) | warnings::
8 | 2 | 2 | 185µs | 243µs | register_categories | warnings::
14 | 2 | 1 | 58µs | 58µs | _mkMask | warnings::
0 | 0 | 0 | 0s | 0s | Croaker | warnings::
0 | 0 | 0 | 0s | 0s | __chk | warnings::
0 | 0 | 0 | 0s | 0s | _error_loc | warnings::
0 | 0 | 0 | 0s | 0s | bits | warnings::
0 | 0 | 0 | 0s | 0s | enabled | warnings::
0 | 0 | 0 | 0s | 0s | enabled_at_level | warnings::
0 | 0 | 0 | 0s | 0s | fatal_enabled | warnings::
0 | 0 | 0 | 0s | 0s | fatal_enabled_at_level | warnings::
0 | 0 | 0 | 0s | 0s | warn | warnings::
0 | 0 | 0 | 0s | 0s | warn_at_level | warnings::
0 | 0 | 0 | 0s | 0s | warnif | warnings::
0 | 0 | 0 | 0s | 0s | warnif_at_level | warnings::
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 | 31µ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 | 14µ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 | 1992 | 367µs | my $bits = shift; | ||
306 | 1992 | 541µs | my $want_len = ($LAST_BIT + 7) >> 3; | ||
307 | 1992 | 298µs | my $len = length($bits); | ||
308 | 1992 | 327µs | if ($len != $want_len) { | ||
309 | 494 | 329µ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 | 494 | 553µs | my $x = vec($bits, $Offsets{all} >> 1, 2); | ||
315 | 494 | 199µs | $x |= $x << 2; | ||
316 | 494 | 81µs | $x |= $x << 4; | ||
317 | 494 | 697µs | $bits .= chr($x) x ($want_len - $len); | ||
318 | } | ||||
319 | } | ||||
320 | 1992 | 3.41ms | return $bits; | ||
321 | } | ||||
322 | |||||
323 | # spent 10.7ms (7.93+2.74) within warnings::_bits which was called 1576 times, avg 7µs/call:
# 1576 times (7.93ms+2.74ms) by warnings::import at line 373, avg 7µs/call | ||||
324 | 1576 | 305µs | my $mask = shift ; | ||
325 | 1576 | 129µs | my $catmask ; | ||
326 | 1576 | 165µs | my $fatal = 0 ; | ||
327 | 1576 | 151µs | my $no_fatal = 0 ; | ||
328 | |||||
329 | 1576 | 1.09ms | 1576 | 2.75ms | $mask = _expand_bits($mask); # spent 2.75ms making 1576 calls to warnings::_expand_bits, avg 2µs/call |
330 | 1576 | 499µs | foreach my $word ( @_ ) { | ||
331 | 2825 | 2.12ms | if ($word eq 'FATAL') { | ||
332 | 1249 | 127µs | $fatal = 1; | ||
333 | 1249 | 122µ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 | 301µs | $mask |= $catmask ; | ||
341 | 1576 | 495µs | $mask |= $DeadBits{$word} if $fatal ; | ||
342 | 1576 | 141µs | $mask = ~(~$mask | $DeadBits{$word}) if $no_fatal ; | ||
343 | } | ||||
344 | else | ||||
345 | { Croaker("Unknown warnings category '$word'")} | ||||
346 | } | ||||
347 | |||||
348 | 1576 | 2.30ms | 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 19.0ms (7.80+11.2) within warnings::import which was called 226 times, avg 84µs/call:
# 18 times (4.32ms+7.33ms) by strictures::_enable_2 at line 171 of strictures.pm, avg 647µs/call
# 18 times (512µs+633µs) by strictures::_enable_2 at line 173 of strictures.pm, avg 64µs/call
# 18 times (147µs+172µs) by strictures::_enable_2 at line 170 of strictures.pm, avg 18µs/call
# 17 times (177µs+161µs) by Moo::import at line 47 of Moo.pm, avg 20µs/call
# 6 times (125µs+186µs) by Mojo::Base::import at line 102 of Mojo/Base.pm, avg 52µs/call
# 4 times (63µs+100µs) by strictures::_enable_1 at line 140 of strictures.pm, avg 41µs/call
# 4 times (44µs+43µs) by Role::Tiny::import at line 85 of Role/Tiny.pm, avg 22µs/call
# once (309µs+19µs) by main::BEGIN@1.1 at line 1 of /Users/ether/git/fastly/Heavenly/profiling/jsm-0.552-om-0.031/../prof.pl
# once (65µs+21µs) by Symbol::BEGIN@4 at line 4 of Symbol.pm
# once (20µs+49µs) by YAML::PP::Parser::BEGIN@2.285 at line 2 of YAML/PP/Lexer.pm
# once (35µs+26µs) by MooX::HandlesVia::BEGIN@5 at line 5 of MooX/HandlesVia.pm
# once (21µs+32µs) by YAML::PP::Schema::BEGIN@2 at line 2 of YAML/PP/Common.pm
# once (16µs+35µs) by Module::Load::BEGIN@2 at line 2 of YAML/PP/Schema/Core.pm
# once (32µs+19µs) by Module::Runtime::BEGIN@2.313 at line 2 of JSON/Schema/Modern/Vocabulary/FormatAssertion.pm
# once (23µs+27µs) by Exporter::Tiny::BEGIN@5 at line 5 of Exporter/Tiny.pm
# once (18µs+30µs) by Role::Tiny::BEGIN@3 at line 3 of Role/Tiny.pm
# once (11µs+37µs) by re::BEGIN@5 at line 5 of re.pm
# once (22µs+26µs) by Type::Tiny::Union::BEGIN@5 at line 5 of Type/Tiny/Union.pm
# once (20µs+27µs) by IO::Compress::Zlib::Extra::BEGIN@6 at line 6 of IO/Compress/Zlib/Extra.pm
# once (20µs+27µs) by List::MoreUtils::BEGIN@5 at line 5 of List/MoreUtils.pm
# once (16µs+31µs) by Type::Tiny::BEGIN@5 at line 5 of Type/Tiny.pm
# once (17µs+29µs) by YAML::PP::Dumper::BEGIN@2.295 at line 2 of YAML/PP/Representer.pm
# once (18µs+28µs) by Types::Standard::BEGIN@5 at line 5 of Types/Standard.pm
# once (17µs+29µs) by Unicode::Normalize::BEGIN@5 at line 5 of Unicode/Normalize.pm
# once (18µs+27µs) by Safe::Isa::BEGIN@4 at line 4 of Safe/Isa.pm
# once (17µs+28µs) by YAML::PP::BEGIN@2.293 at line 2 of YAML/PP/Dumper.pm
# once (33µs+12µs) by Params::Util::PP::BEGIN@4 at line 4 of Params/Util/PP.pm
# once (18µs+26µs) by YAML::PP::Loader::BEGIN@3.291 at line 3 of YAML/PP/Constructor.pm
# once (17µs+27µs) by List::MoreUtils::PP::BEGIN@5 at line 5 of List/MoreUtils/PP.pm
# once (15µs+28µs) by MooX::TypeTiny::BEGIN@3 at line 3 of MooX/TypeTiny.pm
# once (20µs+23µs) by Moo::sification::BEGIN@3 at line 3 of Moo/sification.pm
# once (15µs+27µs) by YAML::PP::Loader::BEGIN@3 at line 3 of YAML/PP/Parser.pm
# once (16µs+26µs) by Encode::Encoding::BEGIN@5 at line 5 of Encode/Encoding.pm
# once (19µs+23µs) by Type::Library::BEGIN@5 at line 5 of Type/Library.pm
# once (15µs+25µs) by List::MoreUtils::XS::BEGIN@5 at line 5 of List/MoreUtils/XS.pm
# once (19µs+21µs) by Module::Runtime::BEGIN@2.315 at line 2 of JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm
# once (16µs+24µs) by MIME::Base64::BEGIN@4 at line 4 of MIME/Base64.pm
# once (18µs+22µs) by Module::Runtime::BEGIN@2.319 at line 2 of JSON/Schema/Modern/Vocabulary/MetaData.pm
# once (17µs+23µs) by Module::Runtime::BEGIN@2.321 at line 2 of JSON/Schema/Modern/Vocabulary/OpenAPI.pm
# once (18µs+21µs) by bytes::BEGIN@4 at line 4 of bytes.pm
# once (17µs+22µs) by main::BEGIN@3.281 at line 3 of YAML/PP.pm
# once (16µs+23µs) by Package::Stash::BEGIN@3 at line 3 of Package/Stash.pm
# once (15µs+24µs) by Pod::Escapes::BEGIN@3 at line 3 of Pod/Escapes.pm
# once (21µs+18µs) by YAML::PP::Parser::BEGIN@3 at line 3 of YAML/PP/Render.pm
# once (15µs+23µs) by Module::Runtime::BEGIN@2.307 at line 2 of JSON/Schema/Modern/Vocabulary/Applicator.pm
# once (19µs+19µs) by Mojo::Base::BEGIN@4 at line 4 of Mojo/Base.pm
# once (17µs+21µs) by JSON::Schema::Modern::BEGIN@2.67 at line 2 of JSON/Schema/Modern/Error.pm
# once (15µs+23µs) by YAML::PP::Parser::BEGIN@2.287 at line 2 of YAML/PP/Exception.pm
# once (17µs+20µs) by JSON::Schema::Modern::BEGIN@3 at line 3 of Path/Tiny.pm
# once (13µs+24µs) by IO::Uncompress::Base::BEGIN@5 at line 5 of IO/Uncompress/Base.pm
# once (17µs+20µs) by Method::Generate::Constructor::BEGIN@3 at line 3 of Method/Generate/Constructor.pm
# once (17µs+20µs) by File::ShareDir::BEGIN@122 at line 122 of File/ShareDir.pm
# once (18µs+19µs) by Moo::_Utils::BEGIN@2.305 at line 2 of JSON/Schema/Modern/Vocabulary.pm
# once (16µs+21µs) by Mojo::Util::BEGIN@16 at line 16 of Getopt/Long.pm
# once (19µs+18µs) by mro::BEGIN@11 at line 11 of mro.pm
# once (16µs+20µs) by Encode::MIME::Name::BEGIN@3 at line 3 of Encode/MIME/Name.pm
# once (11µs+25µs) by JSON::MaybeXS::BEGIN@4 at line 4 of JSON/MaybeXS.pm
# once (15µs+21µs) by Types::TypeTiny::BEGIN@5 at line 5 of Types/TypeTiny.pm
# once (13µs+23µs) by Moo::Role::BEGIN@3 at line 3 of Moo/Role.pm
# once (12µs+24µs) by Config::BEGIN@6 at line 6 of Config_heavy.pl
# once (23µs+13µs) by main::BEGIN@2.3 at line 2 of OpenAPI/Modern.pm
# once (14µs+21µs) by Method::Generate::BuildAll::BEGIN@3 at line 3 of Method/Generate/BuildAll.pm
# once (14µs+21µs) by YAML::PP::Dumper::BEGIN@2.298 at line 2 of YAML/PP/Writer/File.pm
# once (19µs+16µs) by Moo::_Utils::BEGIN@2.27 at line 2 of Class/Method/Modifiers.pm
# once (17µs+18µs) by YAML::PP::BEGIN@3 at line 3 of YAML/PP/Loader.pm
# once (15µs+20µs) by Pod::Text::BEGIN@19 at line 19 of Pod/Text.pm
# once (16µs+19µs) by IO::Compress::Gzip::BEGIN@6 at line 6 of IO/Compress/Gzip.pm
# once (18µs+16µs) by Feature::Compat::Try::BEGIN@9 at line 9 of Feature/Compat/Try.pm
# once (15µs+19µs) by OpenAPI::Modern::BEGIN@2 at line 2 of JSON/Schema/Modern.pm
# once (15µs+19µs) by Types::Standard::Dict::BEGIN@7 at line 7 of Types/Standard/Dict.pm
# once (15µs+19µs) by Class::Inspector::BEGIN@7 at line 7 of Class/Inspector.pm
# once (14µs+19µs) by IO::BEGIN@8 at line 8 of IO.pm
# once (15µs+18µs) by namespace::clean::BEGIN@3 at line 3 of namespace/clean.pm
# once (15µs+18µs) by Encode::Config::BEGIN@8 at line 8 of Encode/Config.pm
# once (12µs+21µs) by YAML::PP::BEGIN@2.283 at line 2 of YAML/PP/Schema/JSON.pm
# once (15µs+18µs) by IO::Compress::Base::Common::BEGIN@522 at line 522 of IO/Compress/Base/Common.pm
# once (12µs+20µs) by Variable::Magic::BEGIN@6 at line 6 of Variable/Magic.pm
# once (15µs+17µs) by JSON::Schema::Modern::BEGIN@2.111 at line 2 of JSON/Schema/Modern/Document.pm
# once (12µs+20µs) by IO::Compress::Gzip::Constants::BEGIN@4 at line 4 of IO/Compress/Gzip/Constants.pm
# once (15µs+17µs) by B::Hooks::EndOfScope::XS::BEGIN@5 at line 5 of B/Hooks/EndOfScope/XS.pm
# once (15µs+17µs) by namespace::clean::_Util::BEGIN@12 at line 12 of namespace/clean/_Util.pm
# once (11µs+21µs) by YAML::PP::Dumper::BEGIN@3 at line 3 of YAML/PP/Writer.pm
# once (13µs+18µs) by YAML::PP::Parser::BEGIN@3.289 at line 3 of YAML/PP/Reader.pm
# once (16µs+15µs) by IO::Uncompress::Adapter::Inflate::BEGIN@4 at line 4 of IO/Uncompress/Adapter/Inflate.pm
# once (17µs+14µs) by Type::Tiny::Enum::BEGIN@5 at line 5 of Type/Tiny/Enum.pm
# once (19µs+12µs) by Package::Stash::XS::BEGIN@3 at line 3 of Package/Stash/XS.pm
# once (14µs+17µs) by Type::Tiny::Class::BEGIN@5 at line 5 of Type/Tiny/Class.pm
# once (15µs+16µs) by POSIX::BEGIN@3 at line 3 of POSIX.pm
# once (13µs+18µs) by strictures::BEGIN@4 at line 4 of strictures.pm
# once (13µs+18µs) by IO::Compress::RawDeflate::BEGIN@6 at line 6 of IO/Compress/RawDeflate.pm
# once (11µs+19µs) by utf8::BEGIN@4 at line 4 of utf8.pm
# once (13µs+17µs) by B::Hooks::EndOfScope::BEGIN@6 at line 6 of B/Hooks/EndOfScope.pm
# once (11µs+19µs) by JSON::Schema::Modern::Result::BEGIN@2 at line 2 of JSON/Schema/Modern/Annotation.pm
# once (18µs+12µs) by Digest::SHA::BEGIN@6 at line 6 of Digest/SHA.pm
# once (12µs+18µs) by Digest::MD5::BEGIN@4 at line 4 of Digest/MD5.pm
# once (15µs+15µs) by Type::Tiny::Duck::BEGIN@5 at line 5 of Type/Tiny/Duck.pm
# once (14µs+15µs) by Module::Runtime::BEGIN@2.317 at line 2 of JSON/Schema/Modern/Vocabulary/Content.pm
# once (13µs+16µs) by IO::Uncompress::RawInflate::BEGIN@5 at line 5 of IO/Uncompress/RawInflate.pm
# once (13µs+16µs) by Role::Tiny::With::BEGIN@4 at line 4 of Role/Tiny/With.pm
# once (12µs+17µs) by Module::Runtime::BEGIN@2.311 at line 2 of JSON/Schema/Modern/Vocabulary/Validation.pm
# once (12µs+17µs) by Module::Runtime::BEGIN@2 at line 2 of JSON/Schema/Modern/Vocabulary/Core.pm
# once (12µs+17µs) by Sub::Exporter::Progressive::BEGIN@4 at line 4 of Sub/Exporter/Progressive.pm
# once (11µs+17µs) by Method::Generate::Accessor::BEGIN@3 at line 3 of Method/Generate/Accessor.pm
# once (16µs+12µs) by Types::Standard::ArrayRef::BEGIN@7 at line 7 of Types/Standard/ArrayRef.pm
# once (12µs+16µs) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@2.309 at line 2 of JSON/Schema/Modern/Vocabulary/Unevaluated.pm
# once (12µs+16µs) by Params::Util::BEGIN@60 at line 60 of Params/Util.pm
# once (13µs+15µs) by JSON::Schema::Modern::BEGIN@2.159 at line 2 of JSON/Schema/Modern/Utilities.pm
# once (11µs+17µs) by Eval::TypeTiny::BEGIN@13 at line 13 of Eval/TypeTiny.pm
# once (11µs+16µs) by JSON::Schema::Modern::BEGIN@2.82 at line 2 of JSON/Schema/Modern/Result.pm
# once (14µs+13µs) by Encode::BEGIN@6 at line 6 of Encode.pm
# once (15µs+12µs) by OpenAPI::Modern::BEGIN@2.242 at line 2 of JSON/Schema/Modern/Document/OpenAPI.pm
# once (21µs+6µs) by Moo::Object::BEGIN@3 at line 3 of Moo/Object.pm
# once (13µs+13µs) by Data::Dumper::BEGIN@13 at line 13 of Data/Dumper.pm
# once (11µs+15µs) by IO::Uncompress::Gunzip::BEGIN@9 at line 9 of IO/Uncompress/Gunzip.pm
# once (12µs+14µs) by Type::Tiny::ConstrainedObject::BEGIN@5 at line 5 of Type/Tiny/ConstrainedObject.pm
# once (9µs+17µs) by Sub::Defer::BEGIN@3 at line 3 of Sub/Defer.pm
# once (13µs+13µs) by Ref::Util::XS::BEGIN@5 at line 5 of Ref/Util/XS.pm
# once (12µs+14µs) by URI::Escape::BEGIN@4 at line 4 of URI/Escape.pm
# once (14µs+12µs) by IO::Compress::Adapter::Deflate::BEGIN@4 at line 4 of IO/Compress/Adapter/Deflate.pm
# once (12µs+14µs) by Type::Coercion::BEGIN@5 at line 5 of Type/Coercion.pm
# once (17µs+9µs) by Moo::_Utils::BEGIN@3 at line 3 of Moo/_Utils.pm
# once (14µs+12µs) by Scalar::Util::BEGIN@10 at line 10 of Scalar/Util.pm
# once (13µs+12µs) by Types::Standard::Map::BEGIN@7 at line 7 of Types/Standard/Map.pm
# once (12µs+13µs) by YAML::PP::Lexer::BEGIN@2 at line 2 of YAML/PP/Grammar.pm
# once (12µs+13µs) by IO::Compress::Base::BEGIN@7 at line 7 of IO/Compress/Base.pm
# once (11µs+13µs) by Ref::Util::BEGIN@5 at line 5 of Ref/Util.pm
# once (11µs+13µs) by Types::Standard::Tuple::BEGIN@7 at line 7 of Types/Standard/Tuple.pm
# once (12µs+12µs) by YAML::PP::BEGIN@2 at line 2 of YAML/PP/Schema.pm
# once (12µs+12µs) by Types::Standard::HashRef::BEGIN@7 at line 7 of Types/Standard/HashRef.pm
# once (9µs+14µs) by YAML::PP::Dumper::BEGIN@2 at line 2 of YAML/PP/Emitter.pm
# once (10µs+12µs) by File::Basename::BEGIN@52 at line 52 of File/Basename.pm
# once (9µs+13µs) by Compress::Raw::Zlib::BEGIN@9 at line 9 of Compress/Raw/Zlib.pm
# once (10µs+12µs) by Sub::Quote::BEGIN@6 at line 6 of Sub/Quote.pm
# once (9µs+13µs) by Module::Load::BEGIN@4 at line 4 of Module/Load.pm
# once (12µs+9µs) by Sub::Util::BEGIN@8 at line 8 of Sub/Util.pm
# once (8µs+13µs) by IO::Compress::Base::Common::BEGIN@4 at line 4 of IO/Compress/Base/Common.pm
# once (8µs+12µs) by Encode::Alias::BEGIN@3 at line 3 of Encode/Alias.pm
# once (9µs+11µs) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@2 at line 2 of Sub/Install.pm
# once (11µs+9µs) by Config::BEGIN@10 at line 10 of Config.pm
# once (8µs+12µs) by File::GlobMapper::BEGIN@4 at line 4 of File/GlobMapper.pm
# once (11µs+8µs) by Moo::BEGIN@3 at line 3 of Moo.pm
# once (7µs+12µs) by Module::Implementation::BEGIN@6 at line 6 of Module/Implementation.pm
# once (9µs+10µs) by Digest::base::BEGIN@4 at line 4 of Digest/base.pm
# once (10µs+9µs) by experimental::BEGIN@4 at line 4 of experimental.pm
# once (7µs+9µs) by Try::Tiny::BEGIN@8 at line 8 of Try/Tiny.pm
# once (7µs+9µs) by List::Util::BEGIN@10 at line 10 of List/Util.pm
# once (8µs+7µs) by Carp::BEGIN@5 at line 5 of Carp.pm
# once (8µs+6µs) by overloading::BEGIN@2 at line 2 of overloading.pm | ||||
360 | 226 | 78µs | my $invocant = shift; | ||
361 | |||||
362 | # append 'all' when implied (empty import list or after a lone | ||||
363 | # "FATAL" or "NONFATAL") | ||||
364 | 226 | 255µs | push @_, 'all' | ||
365 | if !@_ || (@_==1 && ($_[0] eq 'FATAL' || $_[0] eq 'NONFATAL')); | ||||
366 | |||||
367 | 226 | 116µs | my @fatal = (); | ||
368 | 226 | 893µs | foreach my $warning (@_) { | ||
369 | 1601 | 3.94ms | 1601 | 548µs | if($warning =~ /^(NON)?FATAL$/) { # spent 548µs making 1601 calls to warnings::CORE:match, avg 342ns/call |
370 | @fatal = ($warning); | ||||
371 | } elsif(substr($warning, 0, 1) ne '-') { | ||||
372 | 1576 | 640µs | my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ; | ||
373 | 1576 | 1.51ms | 1576 | 10.7ms | ${^WARNING_BITS} = _bits($mask, @fatal, $warning); # spent 10.7ms making 1576 calls to warnings::_bits, avg 7µs/call |
374 | } else { | ||||
375 | $invocant->unimport(substr($warning, 1)); | ||||
376 | } | ||||
377 | } | ||||
378 | } | ||||
379 | |||||
380 | sub unimport | ||||
381 | # spent 6.25ms (4.21+2.04) within warnings::unimport which was called 416 times, avg 15µs/call:
# 54 times (305µs+75µs) by experimental::_enable at line 68 of experimental.pm, avg 7µs/call
# 18 times (260µs+20µs) by strictures::_enable_2 at line 172 of strictures.pm, avg 16µs/call
# 18 times (73µs+19µs) by strictures::_enable_2 at line 174 of strictures.pm, avg 5µs/call
# 6 times (48µs+17µs) by Feature::Compat::Try::import at line 146 of Feature/Compat/Try.pm, avg 11µs/call
# 2 times (15µs+5µ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 10µs/call
# once (77µs+42µs) by JSON::Schema::Modern::Result::BEGIN@13.338 at line 13 of (eval 433)[Sub/Quote.pm:3]
# once (47µs+19µs) by Pod::Simple::BlackBox::BEGIN@1 at line 1 of (eval 9)[Pod/Simple/BlackBox.pm:40]
# once (36µs+14µs) by Types::TypeTiny::BEGIN@623 at line 623 of Types/TypeTiny.pm
# once (42µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.34 at line 3 of (eval 73)[Eval/TypeTiny.pm:8]
# once (40µs+3µs) by Sub::Defer::BEGIN@41 at line 41 of Sub/Defer.pm
# once (32µs+9µs) by Eval::TypeTiny::Sandbox::BEGIN@3.38 at line 3 of (eval 84)[Eval/TypeTiny.pm:8]
# once (16µs+20µs) by JSON::Schema::Modern::Error::BEGIN@5 at line 5 of (eval 208)[Sub/Quote.pm:3]
# once (23µs+12µs) by Method::Generate::Constructor::BEGIN@5.68 at line 5 of (eval 207)[Sub/Quote.pm:3]
# once (19µs+16µs) by JSON::Schema::Modern::Document::BEGIN@8 at line 8 of (eval 263)[Sub/Quote.pm:3]
# once (20µs+15µs) by JSON::Schema::Modern::Result::BEGIN@5.99 at line 5 of (eval 249)[Sub/Quote.pm:3]
# once (24µs+10µs) by JSON::Schema::Modern::Document::BEGIN@7.137 at line 7 of (eval 297)[Sub/Quote.pm:3]
# once (23µs+10µs) by JSON::Schema::Modern::Result::BEGIN@5.101 at line 5 of (eval 250)[Sub/Quote.pm:3]
# once (20µs+13µs) by Eval::TypeTiny::Sandbox::BEGIN@3.63 at line 3 of (eval 143)[Eval/TypeTiny.pm:8]
# once (19µs+13µs) by File::GlobMapper::BEGIN@341 at line 341 of File/GlobMapper.pm
# once (20µs+12µs) by IO::Uncompress::Base::BEGIN@429 at line 429 of IO/Uncompress/Base.pm
# once (20µs+11µs) by IO::Uncompress::Base::BEGIN@1500 at line 1500 of IO/Uncompress/Base.pm
# once (17µs+14µs) by IO::Uncompress::Base::BEGIN@90 at line 90 of IO/Uncompress/Base.pm
# once (20µs+11µs) by IO::Compress::Base::BEGIN@278 at line 278 of IO/Compress/Base.pm
# once (19µs+12µs) by Type::Tiny::BEGIN@72 at line 72 of Type/Tiny.pm
# once (21µs+10µs) by Method::Generate::Accessor::BEGIN@685 at line 685 of Method/Generate/Accessor.pm
# once (19µs+11µs) by JSON::Schema::Modern::Result::BEGIN@7.103 at line 7 of (eval 251)[Sub/Quote.pm:3]
# once (20µs+10µs) by JSON::PP::BEGIN@457 at line 457 of JSON/PP.pm
# once (18µs+12µs) by Moo::Role::BEGIN@360 at line 360 of Moo/Role.pm
# once (21µs+8µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.302 at line 14 of (eval 417)[Sub/Quote.pm:3]
# once (27µs+2µs) by JSON::Schema::Modern::Result::BEGIN@91 at line 91 of (eval 433)[Sub/Quote.pm:3]
# once (19µs+10µs) by U64::BEGIN@1046 at line 1046 of IO/Compress/Base/Common.pm
# once (16µs+12µs) by Storable::BEGIN@66 at line 66 of Storable.pm
# once (19µs+9µs) by JSON::Schema::Modern::BEGIN@7.182 at line 7 of (eval 325)[Sub/Quote.pm:3]
# once (17µs+11µs) by Eval::TypeTiny::Sandbox::BEGIN@3.47 at line 3 of (eval 111)[Eval/TypeTiny.pm:8]
# once (17µs+11µs) by Eval::TypeTiny::Sandbox::BEGIN@3 at line 3 of (eval 51)[Eval/TypeTiny.pm:8]
# once (18µs+9µs) by JSON::Schema::Modern::Document::BEGIN@5.125 at line 5 of (eval 291)[Sub/Quote.pm:3]
# once (16µs+11µs) by Types::Standard::BEGIN@194 at line 194 of Types/Standard.pm
# once (19µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.43 at line 3 of (eval 99)[Eval/TypeTiny.pm:8]
# once (16µs+11µs) by Type::Library::BEGIN@208 at line 208 of Type/Library.pm
# once (17µs+9µs) by YAML::PP::Parser::BEGIN@97 at line 97 of YAML/PP/Parser.pm
# once (12µs+14µs) by Eval::TypeTiny::Sandbox::BEGIN@3.32 at line 3 of (eval 67)[Eval/TypeTiny.pm:8]
# once (17µs+9µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5 at line 5 of (eval 385)[Sub/Quote.pm:3]
# once (15µs+11µs) by overload::BEGIN@5 at line 5 of overload.pm
# once (14µs+12µs) by Pod::Simple::BlackBox::BEGIN@67 at line 67 of Pod/Simple/BlackBox.pm
# once (16µs+10µs) by Pod::Simple::BlackBox::BEGIN@1.23 at line 1 of (eval 26)[Pod/Simple/BlackBox.pm:40]
# once (17µs+9µs) by JSON::Schema::Modern::Result::BEGIN@6 at line 6 of (eval 253)[Sub/Quote.pm:3]
# once (13µs+13µs) by Eval::TypeTiny::Sandbox::BEGIN@3.46 at line 3 of (eval 108)[Eval/TypeTiny.pm:8]
# once (15µs+11µs) by Eval::TypeTiny::Sandbox::BEGIN@3.30 at line 3 of (eval 61)[Eval/TypeTiny.pm:8]
# once (16µs+10µs) by Types::TypeTiny::BEGIN@45 at line 45 of Types/TypeTiny.pm
# once (16µs+9µs) by JSON::Schema::Modern::BEGIN@5.213 at line 5 of (eval 357)[Sub/Quote.pm:3]
# once (15µs+10µs) by JSON::Schema::Modern::BEGIN@5.185 at line 5 of (eval 336)[Sub/Quote.pm:3]
# once (16µs+9µs) by JSON::Schema::Modern::BEGIN@5.234 at line 5 of (eval 376)[Sub/Quote.pm:3]
# once (14µs+11µs) by Role::Tiny::BEGIN@29 at line 29 of Role/Tiny.pm
# once (15µs+10µs) by MooX::HandlesVia::BEGIN@26 at line 26 of MooX/HandlesVia.pm
# once (18µs+7µs) by Method::Generate::Accessor::_Generated::BEGIN@24.105 at line 24 of (eval 251)[Sub/Quote.pm:3]
# once (24µs+1µs) by Moo::BEGIN@4 at line 4 of Moo.pm
# once (17µs+8µs) by JSON::Schema::Modern::Result::BEGIN@7 at line 7 of (eval 247)[Sub/Quote.pm:3]
# once (20µs+5µs) by Exporter::Tiny::BEGIN@382 at line 382 of Exporter/Tiny.pm
# once (17µs+8µs) by JSON::Schema::Modern::Document::BEGIN@7.142 at line 7 of (eval 299)[Sub/Quote.pm:3]
# once (14µs+11µs) by Types::TypeTiny::BEGIN@630 at line 630 of Types/TypeTiny.pm
# once (14µs+10µs) by JSON::Schema::Modern::Annotation::BEGIN@5 at line 5 of (eval 230)[Sub/Quote.pm:3]
# once (16µs+8µs) by Pod::Simple::BlackBox::BEGIN@273 at line 273 of Pod/Simple/BlackBox.pm
# once (14µs+10µs) by OpenAPI::Modern::BEGIN@7 at line 7 of (eval 415)[Sub/Quote.pm:3]
# once (16µs+8µs) by JSON::Schema::Modern::BEGIN@22.300 at line 22 of (eval 416)[Sub/Quote.pm:3]
# once (14µs+9µs) by JSON::Schema::Modern::Error::BEGIN@5.77 at line 5 of (eval 213)[Sub/Quote.pm:3]
# once (14µs+9µs) by JSON::Schema::Modern::BEGIN@5.172 at line 5 of (eval 316)[Sub/Quote.pm:3]
# once (15µs+8µs) by OpenAPI::Modern::BEGIN@5 at line 5 of (eval 401)[Sub/Quote.pm:3]
# once (15µs+8µs) by Type::Tiny::Class::BEGIN@93 at line 93 of Type/Tiny/Class.pm
# once (13µs+10µs) by Eval::TypeTiny::Sandbox::BEGIN@3.52 at line 3 of (eval 122)[Eval/TypeTiny.pm:8]
# once (15µs+8µs) by Sub::Quote::BEGIN@65 at line 65 of Sub/Quote.pm
# once (16µs+6µs) by JSON::Schema::Modern::Result::BEGIN@54 at line 54 of (eval 433)[Sub/Quote.pm:3]
# once (15µs+7µs) by JSON::Schema::Modern::BEGIN@5.236 at line 5 of (eval 377)[Sub/Quote.pm:3]
# once (13µs+9µs) by Eval::TypeTiny::Sandbox::BEGIN@3.62 at line 3 of (eval 141)[Eval/TypeTiny.pm:8]
# once (12µs+10µs) by JSON::Schema::Modern::Result::BEGIN@5 at line 5 of (eval 236)[Sub/Quote.pm:3]
# once (13µs+9µs) by Path::Tiny::BEGIN@37 at line 37 of Path/Tiny.pm
# once (14µs+8µs) by JSON::Schema::Modern::Error::BEGIN@5.79 at line 5 of (eval 215)[Sub/Quote.pm:3]
# once (15µs+7µs) by Exporter::Heavy::BEGIN@202 at line 202 of Exporter/Heavy.pm
# once (14µs+8µs) by Type::Library::BEGIN@285 at line 285 of Type/Library.pm
# once (10µs+11µs) by Eval::TypeTiny::Sandbox::BEGIN@3.35 at line 3 of (eval 76)[Eval/TypeTiny.pm:8]
# once (16µs+5µs) by JSON::Schema::Modern::Error::BEGIN@5.70 at line 5 of (eval 209)[Sub/Quote.pm:3]
# once (12µs+9µs) by Mojo::Util::BEGIN@204 at line 204 of Mojo/Util.pm
# once (13µs+8µs) by Role::Tiny::BEGIN@484 at line 484 of Role/Tiny.pm
# once (12µs+9µs) by JSON::Schema::Modern::Result::BEGIN@5.95 at line 5 of (eval 245)[Sub/Quote.pm:3]
# once (14µs+7µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 at line 143 of (eval 417)[Sub/Quote.pm:3]
# once (13µs+8µs) by IO::Compress::Gzip::BEGIN@170 at line 170 of IO/Compress/Gzip.pm
# once (16µs+5µs) by Moo::_Utils::BEGIN@228 at line 228 of Moo/_Utils.pm
# once (13µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.51 at line 3 of (eval 120)[Eval/TypeTiny.pm:8]
# once (14µs+7µs) by File::Glob::BEGIN@50 at line 50 of File/Glob.pm
# once (13µs+8µs) by Class::Method::Modifiers::BEGIN@146 at line 146 of Class/Method/Modifiers.pm
# once (13µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.49 at line 3 of (eval 116)[Eval/TypeTiny.pm:8]
# once (11µs+10µs) by JSON::Schema::Modern::BEGIN@5.199 at line 5 of (eval 343)[Sub/Quote.pm:3]
# once (14µs+7µs) by JSON::Schema::Modern::BEGIN@5.187 at line 5 of (eval 337)[Sub/Quote.pm:3]
# once (14µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.36 at line 3 of (eval 78)[Eval/TypeTiny.pm:8]
# once (14µs+7µs) by Eval::TypeTiny::BEGIN@81 at line 81 of Eval/TypeTiny.pm
# once (19µs+2µs) by Exporter::Tiny::BEGIN@5.25 at line 5 of Exporter/Tiny.pm
# once (11µs+10µs) by Types::TypeTiny::BEGIN@69 at line 69 of Types/TypeTiny.pm
# once (12µs+8µs) by JSON::Schema::Modern::BEGIN@7.222 at line 7 of (eval 362)[Sub/Quote.pm:3]
# once (13µs+7µs) by JSON::Schema::Modern::BEGIN@7.219 at line 7 of (eval 360)[Sub/Quote.pm:3]
# once (12µs+8µs) by JSON::Schema::Modern::Result::BEGIN@5.108 at line 5 of (eval 254)[Sub/Quote.pm:3]
# once (13µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.45 at line 3 of (eval 105)[Eval/TypeTiny.pm:8]
# once (13µs+7µs) by JSON::Schema::Modern::Error::BEGIN@6 at line 6 of (eval 217)[Sub/Quote.pm:3]
# once (13µs+7µs) by JSON::Schema::Modern::BEGIN@7 at line 7 of (eval 312)[Sub/Quote.pm:3]
# once (12µs+8µs) by JSON::Schema::Modern::BEGIN@7.238 at line 7 of (eval 378)[Sub/Quote.pm:3]
# once (11µs+9µs) by Eval::TypeTiny::Sandbox::BEGIN@3.44 at line 3 of (eval 102)[Eval/TypeTiny.pm:8]
# once (13µs+7µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.256 at line 5 of (eval 391)[Sub/Quote.pm:3]
# once (13µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.39 at line 3 of (eval 87)[Eval/TypeTiny.pm:8]
# once (14µs+6µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7.253 at line 7 of (eval 390)[Sub/Quote.pm:3]
# once (13µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.48 at line 3 of (eval 114)[Eval/TypeTiny.pm:8]
# once (12µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.61 at line 3 of (eval 139)[Eval/TypeTiny.pm:8]
# once (12µs+8µs) by JSON::Schema::Modern::Error::BEGIN@5.75 at line 5 of (eval 212)[Sub/Quote.pm:3]
# once (15µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.24 at line 1 of (eval 27)[Pod/Simple/BlackBox.pm:44]
# once (13µs+6µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 at line 77 of (eval 417)[Sub/Quote.pm:3]
# once (12µs+7µs) by IO::Compress::Base::BEGIN@987 at line 987 of IO/Compress/Base.pm
# once (12µs+7µs) by JSON::Schema::Modern::BEGIN@55 at line 55 of (eval 416)[Sub/Quote.pm:3]
# once (10µs+9µs) by Eval::TypeTiny::Sandbox::BEGIN@3.57 at line 3 of (eval 133)[Eval/TypeTiny.pm:8]
# once (9µs+10µs) by Types::Standard::Tuple::BEGIN@25 at line 25 of Types/Standard/Tuple.pm
# once (12µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.37 at line 3 of (eval 81)[Eval/TypeTiny.pm:8]
# once (15µs+4µs) by Carp::BEGIN@744 at line 744 of Carp.pm
# once (10µs+9µs) by Module::Implementation::BEGIN@129 at line 129 of Module/Implementation.pm
# once (12µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.42 at line 3 of (eval 96)[Eval/TypeTiny.pm:8]
# once (12µs+6µs) by JSON::Schema::Modern::Document::BEGIN@7.118 at line 7 of (eval 266)[Sub/Quote.pm:3]
# once (15µs+3µs) by Data::Perl::Role::Collection::Hash::BEGIN@77 at line 77 of Data/Perl/Role/Collection/Hash.pm
# once (10µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.31 at line 3 of (eval 64)[Eval/TypeTiny.pm:8]
# once (11µs+7µs) by JSON::Schema::Modern::Result::BEGIN@5.97 at line 5 of (eval 246)[Sub/Quote.pm:3]
# once (10µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.28 at line 3 of (eval 53)[Eval/TypeTiny.pm:8]
# once (12µs+6µs) by IO::Compress::RawDeflate::BEGIN@137 at line 137 of IO/Compress/RawDeflate.pm
# once (12µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.41 at line 3 of (eval 93)[Eval/TypeTiny.pm:8]
# once (11µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.40 at line 3 of (eval 90)[Eval/TypeTiny.pm:8]
# once (12µs+6µs) by JSON::Schema::Modern::BEGIN@5 at line 5 of (eval 310)[Sub/Quote.pm:3]
# once (10µs+8µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7 at line 7 of (eval 388)[Sub/Quote.pm:3]
# once (12µs+6µs) by JSON::Schema::Modern::Annotation::BEGIN@11.334 at line 11 of (eval 431)[Sub/Quote.pm:3]
# once (11µs+7µs) by URI::Escape::BEGIN@191 at line 191 of URI/Escape.pm
# once (11µs+7µs) by JSON::Schema::Modern::Document::BEGIN@11.328 at line 11 of (eval 424)[Sub/Quote.pm:3]
# once (11µs+7µs) by JSON::Schema::Modern::BEGIN@5.161 at line 5 of (eval 311)[Sub/Quote.pm:3]
# once (12µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@24.224 at line 24 of (eval 362)[Sub/Quote.pm:3]
# once (12µs+5µs) by JSON::Schema::Modern::Document::BEGIN@5.140 at line 5 of (eval 298)[Sub/Quote.pm:3]
# once (14µs+3µs) by Data::Perl::Role::Collection::Array::BEGIN@24 at line 24 of Data/Perl/Role/Collection/Array.pm
# once (11µs+6µs) by Sub::Exporter::Progressive::BEGIN@21 at line 21 of Sub/Exporter/Progressive.pm
# once (10µs+7µs) by JSON::Schema::Modern::Error::BEGIN@14.336 at line 14 of (eval 432)[Sub/Quote.pm:3]
# once (11µs+6µs) by JSON::Schema::Modern::Document::BEGIN@6.148 at line 6 of (eval 301)[Sub/Quote.pm:3]
# once (12µs+5µs) by JSON::Schema::Modern::Document::BEGIN@5 at line 5 of (eval 261)[Sub/Quote.pm:3]
# once (11µs+6µs) by JSON::Schema::Modern::Annotation::BEGIN@5.84 at line 5 of (eval 231)[Sub/Quote.pm:3]
# once (11µs+6µs) by JSON::Schema::Modern::BEGIN@5.178 at line 5 of (eval 323)[Sub/Quote.pm:3]
# once (10µs+7µs) by Sub::Defer::BEGIN@89 at line 89 of Sub/Defer.pm
# once (12µs+5µs) by Type::Tiny::Enum::BEGIN@54 at line 54 of Type/Tiny/Enum.pm
# once (11µs+6µs) by JSON::Schema::Modern::BEGIN@5.225 at line 5 of (eval 366)[Sub/Quote.pm:3]
# once (11µs+6µs) by JSON::Schema::Modern::BEGIN@7.201 at line 7 of (eval 344)[Sub/Quote.pm:3]
# once (11µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.50 at line 3 of (eval 118)[Eval/TypeTiny.pm:8]
# once (13µs+4µs) by Unicode::Normalize::BEGIN@8 at line 8 of Unicode/Normalize.pm
# once (9µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.55 at line 3 of (eval 128)[Eval/TypeTiny.pm:8]
# once (10µs+7µs) by Types::Standard::ArrayRef::BEGIN@22 at line 22 of Types/Standard/ArrayRef.pm
# once (10µs+6µs) by JSON::Schema::Modern::Annotation::BEGIN@5.92 at line 5 of (eval 235)[Sub/Quote.pm:3]
# once (9µs+7µs) by Type::Tiny::BEGIN@16 at line 16 of (eval 419)[Sub/Quote.pm:3]
# once (12µs+4µs) by JSON::Schema::Modern::BEGIN@5.193 at line 5 of (eval 340)[Sub/Quote.pm:3]
# once (9µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.54 at line 3 of (eval 126)[Eval/TypeTiny.pm:8]
# once (11µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@19.245 at line 19 of (eval 386)[Sub/Quote.pm:3]
# once (9µs+7µs) by Pod::Simple::BlackBox::BEGIN@1.20 at line 1 of (eval 23)[Pod/Simple/BlackBox.pm:44]
# once (10µs+6µs) by JSON::Schema::Modern::BEGIN@7.169 at line 7 of (eval 315)[Sub/Quote.pm:3]
# once (9µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.58 at line 3 of (eval 135)[Eval/TypeTiny.pm:8]
# once (12µs+4µs) by Types::Standard::Dict::BEGIN@32 at line 32 of Types/Standard/Dict.pm
# once (12µs+4µs) by Exporter::Tiny::BEGIN@137 at line 137 of Exporter/Tiny.pm
# once (10µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.29 at line 3 of (eval 56)[Eval/TypeTiny.pm:8]
# once (9µs+6µs) by JSON::Schema::Modern::BEGIN@5.204 at line 5 of (eval 352)[Sub/Quote.pm:3]
# once (9µs+6µs) by Type::Tiny::BEGIN@16.333 at line 16 of (eval 430)[Sub/Quote.pm:3]
# once (9µs+6µs) by JSON::Schema::Modern::BEGIN@5.189 at line 5 of (eval 338)[Sub/Quote.pm:3]
# once (9µs+6µs) by JSON::Schema::Modern::BEGIN@98 at line 98 of (eval 416)[Sub/Quote.pm:3]
# once (9µs+6µs) by JSON::Schema::Modern::Document::BEGIN@5.116 at line 5 of (eval 265)[Sub/Quote.pm:3]
# once (9µs+6µs) by JSON::Schema::Modern::Document::BEGIN@7.155 at line 7 of (eval 304)[Sub/Quote.pm:3]
# once (11µs+4µs) by Sub::Defer::BEGIN@167 at line 167 of Sub/Defer.pm
# once (9µs+6µs) by JSON::Schema::Modern::BEGIN@7.210 at line 7 of (eval 355)[Sub/Quote.pm:3]
# once (8µs+6µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.251 at line 5 of (eval 389)[Sub/Quote.pm:3]
# once (11µs+3µs) by JSON::Schema::Modern::BEGIN@5.215 at line 5 of (eval 358)[Sub/Quote.pm:3]
# once (10µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@44.114 at line 44 of (eval 263)[Sub/Quote.pm:3]
# once (11µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@39.255 at line 39 of (eval 390)[Sub/Quote.pm:3]
# once (12µs+2µs) by strictures::BEGIN@97 at line 97 of strictures.pm
# once (9µs+5µs) by JSON::Schema::Modern::Result::BEGIN@8 at line 8 of (eval 237)[Sub/Quote.pm:3]
# once (7µs+7µs) by JSON::Schema::Modern::BEGIN@90 at line 90 of (eval 416)[Sub/Quote.pm:3]
# once (10µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.53 at line 3 of (eval 124)[Eval/TypeTiny.pm:8]
# once (9µs+5µs) by Type::Tiny::BEGIN@16.331 at line 16 of (eval 428)[Sub/Quote.pm:3]
# once (9µs+5µs) by Type::Tiny::Class::BEGIN@164.74 at line 164 of Type/Tiny/Class.pm
# once (8µs+6µs) by JSON::Schema::Modern::BEGIN@5.165 at line 5 of (eval 313)[Sub/Quote.pm:3]
# once (10µs+4µs) by JSON::Schema::Modern::Document::BEGIN@6.145 at line 6 of (eval 300)[Sub/Quote.pm:3]
# once (12µs+2µs) by Moo::Object::BEGIN@67 at line 67 of Moo/Object.pm
# once (7µs+7µs) by JSON::Schema::Modern::BEGIN@5.167 at line 5 of (eval 314)[Sub/Quote.pm:3]
# once (8µs+6µs) by JSON::Schema::Modern::Document::BEGIN@5.151 at line 5 of (eval 302)[Sub/Quote.pm:3]
# once (8µs+6µs) by Type::Library::BEGIN@233 at line 233 of Type/Library.pm
# once (8µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24.144 at line 24 of (eval 299)[Sub/Quote.pm:3]
# once (9µs+5µs) by OpenAPI::Modern::BEGIN@5.264 at line 5 of (eval 402)[Sub/Quote.pm:3]
# once (10µs+4µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.247 at line 5 of (eval 387)[Sub/Quote.pm:3]
# once (8µs+5µs) by JSON::Schema::Modern::BEGIN@5.176 at line 5 of (eval 318)[Sub/Quote.pm:3]
# once (8µs+5µs) by Type::Tiny::BEGIN@16.327 at line 16 of (eval 423)[Sub/Quote.pm:3]
# once (9µs+4µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 at line 82 of (eval 417)[Sub/Quote.pm:3]
# once (8µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@19.150 at line 19 of (eval 301)[Sub/Quote.pm:3]
# once (11µs+2µs) by Moo::_Utils::BEGIN@7 at line 7 of Moo/_Utils.pm
# once (10µs+3µs) by Types::Standard::Map::BEGIN@24 at line 24 of Types/Standard/Map.pm
# once (8µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.33 at line 3 of (eval 70)[Eval/TypeTiny.pm:8]
# once (8µs+5µs) by Types::Standard::Tuple::BEGIN@338 at line 338 of Types/Standard/Tuple.pm
# once (8µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@39.250 at line 39 of (eval 388)[Sub/Quote.pm:3]
# once (8µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@20.107 at line 20 of (eval 253)[Sub/Quote.pm:3]
# once (8µs+5µs) by OpenAPI::Modern::BEGIN@5.278 at line 5 of (eval 409)[Sub/Quote.pm:3]
# once (7µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24.262 at line 24 of (eval 393)[Sub/Quote.pm:3]
# once (10µs+3µs) by JSON::Schema::Modern::BEGIN@5.217 at line 5 of (eval 359)[Sub/Quote.pm:3]
# once (7µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24 at line 24 of (eval 247)[Sub/Quote.pm:3]
# once (7µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.64 at line 3 of (eval 145)[Eval/TypeTiny.pm:8]
# once (9µs+4µs) by Sub::Defer::BEGIN@34 at line 34 of Sub/Defer.pm
# once (8µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.56 at line 3 of (eval 131)[Eval/TypeTiny.pm:8]
# once (7µs+6µs) by Type::Library::BEGIN@315 at line 315 of Type/Library.pm
# once (8µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.14 at line 1 of (eval 17)[Pod/Simple/BlackBox.pm:74]
# once (8µs+4µs) by OpenAPI::Modern::BEGIN@5.272 at line 5 of (eval 406)[Sub/Quote.pm:3]
# once (9µs+3µs) by Ref::Util::BEGIN@24 at line 24 of Ref/Util.pm
# once (9µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@39.120 at line 39 of (eval 266)[Sub/Quote.pm:3]
# once (9µs+3µs) by Role::Tiny::BEGIN@242 at line 242 of Role/Tiny.pm
# once (7µs+5µs) by JSON::Schema::Modern::Error::BEGIN@77 at line 77 of (eval 432)[Sub/Quote.pm:3]
# once (9µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.184 at line 24 of (eval 325)[Sub/Quote.pm:3]
# once (6µs+6µs) by OpenAPI::Modern::BEGIN@5.274 at line 5 of (eval 407)[Sub/Quote.pm:3]
# once (8µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@24.139 at line 24 of (eval 297)[Sub/Quote.pm:3]
# once (8µs+4µs) by JSON::Schema::Modern::Error::BEGIN@5.72 at line 5 of (eval 210)[Sub/Quote.pm:3]
# once (9µs+3µs) by JSON::Schema::Modern::BEGIN@5.174 at line 5 of (eval 317)[Sub/Quote.pm:3]
# once (8µs+4µs) by JSON::Schema::Modern::BEGIN@145 at line 145 of (eval 416)[Sub/Quote.pm:3]
# once (9µs+3µs) by JSON::Schema::Modern::BEGIN@85 at line 85 of (eval 416)[Sub/Quote.pm:3]
# once (9µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.157 at line 24 of (eval 304)[Sub/Quote.pm:3]
# once (7µs+5µs) by JSON::Schema::Modern::Annotation::BEGIN@74 at line 74 of (eval 431)[Sub/Quote.pm:3]
# once (7µs+5µs) by JSON::Schema::Modern::BEGIN@5.229 at line 5 of (eval 368)[Sub/Quote.pm:3]
# once (7µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7.260 at line 7 of (eval 393)[Sub/Quote.pm:3]
# once (8µs+4µs) by JSON::Schema::Modern::BEGIN@5.195 at line 5 of (eval 341)[Sub/Quote.pm:3]
# once (6µs+6µs) by OpenAPI::Modern::BEGIN@5.266 at line 5 of (eval 403)[Sub/Quote.pm:3]
# once (7µs+5µs) by JSON::Schema::Modern::Annotation::BEGIN@5.86 at line 5 of (eval 232)[Sub/Quote.pm:3]
# once (9µs+3µs) by JSON::Schema::Modern::BEGIN@5.180 at line 5 of (eval 324)[Sub/Quote.pm:3]
# once (8µs+4µs) by JSON::Schema::Modern::BEGIN@7.231 at line 7 of (eval 369)[Sub/Quote.pm:3]
# once (7µs+5µs) by JSON::Schema::Modern::BEGIN@5.197 at line 5 of (eval 342)[Sub/Quote.pm:3]
# once (9µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@20 at line 20 of (eval 217)[Sub/Quote.pm:3]
# once (9µs+2µs) by JSON::Schema::Modern::Document::BEGIN@5.135 at line 5 of (eval 296)[Sub/Quote.pm:3]
# once (6µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 at line 90 of (eval 417)[Sub/Quote.pm:3]
# once (6µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 at line 87 of (eval 417)[Sub/Quote.pm:3]
# once (7µs+4µs) by JSON::Schema::Modern::BEGIN@5.191 at line 5 of (eval 339)[Sub/Quote.pm:3]
# once (10µs+1000ns) by Moo::sification::BEGIN@4 at line 4 of Moo/sification.pm
# once (7µs+4µs) by JSON::Schema::Modern::Document::BEGIN@5.127 at line 5 of (eval 292)[Sub/Quote.pm:3]
# once (7µs+4µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@6 at line 6 of (eval 386)[Sub/Quote.pm:3]
# once (7µs+4µs) by JSON::Schema::Modern::Annotation::BEGIN@5.88 at line 5 of (eval 233)[Sub/Quote.pm:3]
# once (8µs+3µs) by Type::Tiny::BEGIN@16.325 at line 16 of (eval 422)[Sub/Quote.pm:3]
# once (7µs+4µs) by JSON::Schema::Modern::Document::BEGIN@7 at line 7 of (eval 264)[Sub/Quote.pm:3]
# once (8µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.212 at line 24 of (eval 355)[Sub/Quote.pm:3]
# once (9µs+2µs) by Carp::BEGIN@6 at line 24 of Carp.pm
# once (8µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@20.147 at line 20 of (eval 300)[Sub/Quote.pm:3]
# once (7µs+4µs) by Type::Tiny::BEGIN@16.323 at line 16 of (eval 421)[Sub/Quote.pm:3]
# once (6µs+5µs) by JSON::Schema::Modern::Annotation::BEGIN@5.90 at line 5 of (eval 234)[Sub/Quote.pm:3]
# once (9µs+1µs) by Method::Generate::Accessor::_Generated::BEGIN@24.221 at line 24 of (eval 360)[Sub/Quote.pm:3]
# once (6µs+4µs) by JSON::Schema::Modern::BEGIN@5.227 at line 5 of (eval 367)[Sub/Quote.pm:3]
# once (8µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@24.240 at line 24 of (eval 378)[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 (9µs+1µs) by Method::Generate::Accessor::_Generated::BEGIN@44 at line 44 of (eval 237)[Sub/Quote.pm:3]
# once (7µs+3µs) by Class::Method::Modifiers::BEGIN@147 at line 147 of Class/Method/Modifiers.pm
# once (5µs+5µs) by Class::Method::Modifiers::BEGIN@200 at line 200 of Class/Method/Modifiers.pm
# once (5µs+5µs) by JSON::Schema::Modern::BEGIN@116 at line 116 of (eval 416)[Sub/Quote.pm:3]
# once (6µs+4µs) by JSON::Schema::Modern::Document::BEGIN@5.133 at line 5 of (eval 295)[Sub/Quote.pm:3]
# once (6µs+4µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.258 at line 5 of (eval 392)[Sub/Quote.pm:3]
# once (5µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@20.246 at line 20 of (eval 386)[Sub/Quote.pm:3]
# once (7µs+3µs) by JSON::Schema::Modern::Annotation::BEGIN@80 at line 80 of (eval 431)[Sub/Quote.pm:3]
# once (7µs+3µs) by JSON::Schema::Modern::BEGIN@5.206 at line 5 of (eval 353)[Sub/Quote.pm:3]
# once (6µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@39 at line 39 of (eval 264)[Sub/Quote.pm:3]
# once (7µs+3µs) by JSON::Schema::Modern::Document::BEGIN@74 at line 74 of (eval 424)[Sub/Quote.pm:3]
# once (8µs+2µs) by JSON::Schema::Modern::Document::BEGIN@5.121 at line 5 of (eval 268)[Sub/Quote.pm:3]
# once (6µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.164 at line 24 of (eval 312)[Sub/Quote.pm:3]
# once (4µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 at line 138 of (eval 417)[Sub/Quote.pm:3]
# once (6µs+3µs) by OpenAPI::Modern::BEGIN@43 at line 43 of (eval 415)[Sub/Quote.pm:3]
# once (6µs+3µs) by JSON::Schema::Modern::BEGIN@60 at line 60 of (eval 416)[Sub/Quote.pm:3]
# once (6µs+3µs) by JSON::Schema::Modern::BEGIN@65 at line 65 of (eval 416)[Sub/Quote.pm:3]
# once (6µs+3µs) by JSON::Schema::Modern::BEGIN@111 at line 111 of (eval 416)[Sub/Quote.pm:3]
# once (4µs+5µs) by JSON::Schema::Modern::BEGIN@70 at line 70 of (eval 416)[Sub/Quote.pm:3]
# once (4µs+5µs) by JSON::Schema::Modern::BEGIN@158 at line 158 of (eval 416)[Sub/Quote.pm:3]
# once (6µs+3µs) by OpenAPI::Modern::BEGIN@5.270 at line 5 of (eval 405)[Sub/Quote.pm:3]
# once (5µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.65 at line 3 of (eval 147)[Eval/TypeTiny.pm:8]
# once (4µs+5µs) by JSON::Schema::Modern::Document::BEGIN@79 at line 79 of (eval 424)[Sub/Quote.pm:3]
# once (6µs+3µs) by JSON::Schema::Modern::Document::BEGIN@84 at line 84 of (eval 424)[Sub/Quote.pm:3]
# once (5µs+4µs) by Pod::Simple::BlackBox::BEGIN@1.8 at line 1 of (eval 11)[Pod/Simple/BlackBox.pm:40]
# once (6µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.203 at line 24 of (eval 344)[Sub/Quote.pm:3]
# once (7µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@24.233 at line 24 of (eval 369)[Sub/Quote.pm:3]
# once (7µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.21 at line 1 of (eval 24)[Pod/Simple/BlackBox.pm:40]
# once (5µs+3µs) by JSON::Schema::Modern::Error::BEGIN@106 at line 106 of (eval 432)[Sub/Quote.pm:3]
# once (4µs+4µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 at line 111 of (eval 417)[Sub/Quote.pm:3]
# once (5µs+3µs) by JSON::Schema::Modern::Result::BEGIN@59 at line 59 of (eval 433)[Sub/Quote.pm:3]
# once (6µs+2µs) by Moo::_Utils::BEGIN@235 at line 235 of Moo/_Utils.pm
# once (5µs+3µs) by OpenAPI::Modern::BEGIN@48 at line 48 of (eval 415)[Sub/Quote.pm:3]
# once (5µs+3µs) by JSON::Schema::Modern::BEGIN@80 at line 80 of (eval 416)[Sub/Quote.pm:3]
# once (7µs+1000ns) by JSON::Schema::Modern::BEGIN@106 at line 106 of (eval 416)[Sub/Quote.pm:3]
# once (3µs+5µs) by JSON::Schema::Modern::BEGIN@75 at line 75 of (eval 416)[Sub/Quote.pm:3]
# once (5µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.171 at line 24 of (eval 315)[Sub/Quote.pm:3]
# once (5µs+3µs) by Pod::Simple::BlackBox::BEGIN@1.19 at line 1 of (eval 22)[Pod/Simple/BlackBox.pm:40]
# once (6µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.13 at line 1 of (eval 16)[Pod/Simple/BlackBox.pm:44]
# once (3µs+4µs) by Pod::Simple::BlackBox::BEGIN@1.10 at line 1 of (eval 13)[Pod/Simple/BlackBox.pm:40]
# once (4µs+3µs) by OpenAPI::Modern::BEGIN@5.268 at line 5 of (eval 404)[Sub/Quote.pm:3]
# once (5µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.12 at line 1 of (eval 15)[Pod/Simple/BlackBox.pm:40]
# once (6µs+1000ns) by JSON::Schema::Modern::Error::BEGIN@121 at line 121 of (eval 432)[Sub/Quote.pm:3]
# once (5µs+2µs) by JSON::Schema::Modern::Result::BEGIN@83 at line 83 of (eval 433)[Sub/Quote.pm:3]
# once (5µs+2µs) by Types::Standard::HashRef::BEGIN@22 at line 22 of Types/Standard/HashRef.pm
# once (4µs+3µs) by Pod::Simple::BlackBox::BEGIN@1.9 at line 1 of (eval 12)[Pod/Simple/BlackBox.pm:44]
# once (4µs+3µs) by Pod::Simple::BlackBox::BEGIN@1.18 at line 1 of (eval 21)[Pod/Simple/BlackBox.pm:44]
# once (5µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.15 at line 1 of (eval 18)[Pod/Simple/BlackBox.pm:40]
# once (4µs+3µs) by JSON::Schema::Modern::BEGIN@140 at line 140 of (eval 416)[Sub/Quote.pm:3]
# once (5µs+2µs) by JSON::Schema::Modern::BEGIN@150 at line 150 of (eval 416)[Sub/Quote.pm:3]
# once (5µs+2µ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 JSON::Schema::Modern::Document::BEGIN@5.153 at line 5 of (eval 303)[Sub/Quote.pm:3]
# once (5µs+2µs) by JSON::Schema::Modern::Annotation::BEGIN@90 at line 90 of (eval 431)[Sub/Quote.pm:3]
# once (4µs+3µs) by OpenAPI::Modern::BEGIN@5.276 at line 5 of (eval 408)[Sub/Quote.pm:3]
# once (4µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@19 at line 19 of (eval 269)[Sub/Quote.pm:3]
# once (5µs+2µs) by JSON::Schema::Modern::Document::BEGIN@6 at line 6 of (eval 269)[Sub/Quote.pm:3]
# once (6µs+1000ns) by JSON::Schema::Modern::BEGIN@5.208 at line 5 of (eval 354)[Sub/Quote.pm:3]
# once (6µs+1000ns) by Pod::Simple::BlackBox::BEGIN@1.16 at line 1 of (eval 19)[Pod/Simple/BlackBox.pm:44]
# once (4µs+3µs) by JSON::Schema::Modern::Document::BEGIN@5.129 at line 5 of (eval 293)[Sub/Quote.pm:3]
# once (3µs+3µs) by JSON::Schema::Modern::Error::BEGIN@116 at line 116 of (eval 432)[Sub/Quote.pm:3]
# once (4µs+2µs) by JSON::Schema::Modern::Error::BEGIN@82 at line 82 of (eval 432)[Sub/Quote.pm:3]
# once (4µs+2µs) by JSON::Schema::Modern::Result::BEGIN@99 at line 99 of (eval 433)[Sub/Quote.pm:3]
# once (5µs+1000ns) by JSON::Schema::Modern::Result::BEGIN@123 at line 123 of (eval 433)[Sub/Quote.pm:3]
# once (3µs+3µs) by JSON::Schema::Modern::Annotation::BEGIN@85 at line 85 of (eval 431)[Sub/Quote.pm:3]
# once (5µs+1000ns) by JSON::Schema::Modern::Document::BEGIN@87 at line 87 of (eval 424)[Sub/Quote.pm:3]
# once (4µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.17 at line 1 of (eval 20)[Pod/Simple/BlackBox.pm:40]
# once (5µs+1000ns) by Method::Generate::Accessor::_Generated::BEGIN@20.124 at line 20 of (eval 269)[Sub/Quote.pm:3]
# once (3µs+3µs) by JSON::Schema::Modern::Document::BEGIN@5.131 at line 5 of (eval 294)[Sub/Quote.pm:3]
# once (3µs+2µs) by JSON::Schema::Modern::Error::BEGIN@126 at line 126 of (eval 432)[Sub/Quote.pm:3]
# once (4µs+1µs) by JSON::Schema::Modern::Annotation::BEGIN@98 at line 98 of (eval 431)[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 (5µs+0s) by JSON::Schema::Modern::Document::BEGIN@108 at line 108 of (eval 424)[Sub/Quote.pm:3]
# once (1µs+1µs) by JSON::Schema::Modern::Error::BEGIN@111 at line 111 of (eval 432)[Sub/Quote.pm:3] | ||||
382 | 416 | 53µs | shift; | ||
383 | |||||
384 | 416 | 57µs | my $catmask ; | ||
385 | 416 | 419µs | my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ; | ||
386 | |||||
387 | # append 'all' when implied (empty import list or after a lone "FATAL") | ||||
388 | 416 | 384µs | push @_, 'all' if !@_ || @_==1 && $_[0] eq 'FATAL'; | ||
389 | |||||
390 | 416 | 539µs | 416 | 2.04ms | $mask = _expand_bits($mask); # spent 2.04ms making 416 calls to warnings::_expand_bits, avg 5µs/call |
391 | 416 | 265µs | foreach my $word ( @_ ) { | ||
392 | 569 | 1.09ms | 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 | 416 | 1.66ms | ${^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 | 4µs | my ($bit) = @_; | ||
519 | 14 | 3µs | my $mask = ""; | ||
520 | |||||
521 | 14 | 33µs | vec($mask, $bit, 1) = 1; | ||
522 | 14 | 102µs | return $mask; | ||
523 | } | ||||
524 | |||||
525 | sub register_categories | ||||
526 | # spent 243µs (185+58) within warnings::register_categories which was called 8 times, avg 30µs/call:
# 7 times (180µs+58µs) by warnings::register::import at line 23 of warnings/register.pm, avg 34µs/call
# once (5µs+0s) by experimental::BEGIN@5 at line 7 of version.pm | ||||
527 | 8 | 5µs | my @names = @_; | ||
528 | |||||
529 | 8 | 34µs | for my $name (@names) { | ||
530 | 8 | 16µs | if (! defined $Bits{$name}) { | ||
531 | 7 | 12µs | $Offsets{$name} = $LAST_BIT; | ||
532 | 7 | 22µs | 7 | 46µs | $Bits{$name} = _mkMask($LAST_BIT++); # spent 46µs making 7 calls to warnings::_mkMask, avg 7µs/call |
533 | 7 | 14µs | 7 | 12µs | $DeadBits{$name} = _mkMask($LAST_BIT++); # spent 12µs making 7 calls to warnings::_mkMask, avg 2µs/call |
534 | 7 | 10µs | if (length($Bits{$name}) > length($Bits{all})) { | ||
535 | 2 | 1µs | $Bits{all} .= "\x55"; | ||
536 | 2 | 2µs | $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 | 8µs | delete @warnings::{qw(NORMAL FATAL MESSAGE LEVEL)}; | ||
590 | |||||
591 | 1 | 58µs | 1; | ||
592 | __END__ | ||||
sub warnings::CORE:match; # opcode |