Profile of warnings.pm

← Index
NYTProf Performance Profile «block view•line view•sub view»
For xt/tapper-mcp-scheduler-with-db-longrun.t
Run on Tue May 22 17:18:39 2012
Reported on Tue May 22 17:22:38 2012

Filename | /2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/5.12.3/warnings.pm
Statements | Executed 4174 statements in 5.51ms

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
281 | 266 | 257 | 3.57ms | 3.57ms | warnings::::importwarnings::import
50 | 50 | 32 | 670µs | 670µs | warnings::::unimportwarnings::unimport
1 | 1 | 1 | 16µs | 16µs | warnings::::CORE:regcompwarnings::CORE:regcomp (opcode)
1 | 1 | 1 | 2µs | 2µs | warnings::::CORE:matchwarnings::CORE:match (opcode)
0 | 0 | 0 | 0s | 0s | warnings::::Croakerwarnings::Croaker
0 | 0 | 0 | 0s | 0s | warnings::::__chkwarnings::__chk
0 | 0 | 0 | 0s | 0s | warnings::::_error_locwarnings::_error_loc
0 | 0 | 0 | 0s | 0s | warnings::::bitswarnings::bits
0 | 0 | 0 | 0s | 0s | warnings::::enabledwarnings::enabled
0 | 0 | 0 | 0s | 0s | warnings::::fatal_enabledwarnings::fatal_enabled
0 | 0 | 0 | 0s | 0s | warnings::::warnwarnings::warn
0 | 0 | 0 | 0s | 0s | warnings::::warnifwarnings::warnif

Call graph for these subroutines as a Graphviz dot language file.

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 was created by warnings.pl
4 |  |  |  |  | # Any changes made here will be lost.
5 |  |  |  |  | #
6 |  |  |  |  |
7 |  |  |  |  | package warnings;
8 |  |  |  |  |
9 | 1 | 500ns |  |  | our $VERSION = '1.09';
10 |  |  |  |  |
11 |  |  |  |  | # Verify that we're called correctly so that warnings will work.
12 |  |  |  |  | # see also strict.pm.
13 | 1 | 28µs | 2 | 19µs | unless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) { # spent 16µs making 1 call to warnings::CORE:regcomp # spent 2µs making 1 call to warnings::CORE:match
14 |  |  |  |  | my (undef, $f, $l) = caller;
15 |  |  |  |  | die("Incorrect use of pragma '${\__PACKAGE__}' at $f line $l.\n");
16 |  |  |  |  | }
17 |  |  |  |  |
18 |  |  |  |  | =head1 NAME
19 |  |  |  |  |
20 |  |  |  |  | warnings - Perl pragma to control optional warnings
21 |  |  |  |  |
22 |  |  |  |  | =head1 SYNOPSIS
23 |  |  |  |  |
24 |  |  |  |  | use warnings;
25 |  |  |  |  | no warnings;
26 |  |  |  |  |
27 |  |  |  |  | use warnings "all";
28 |  |  |  |  | no warnings "all";
29 |  |  |  |  |
30 |  |  |  |  | use warnings::register;
31 |  |  |  |  | if (warnings::enabled()) {
32 |  |  |  |  | warnings::warn("some warning");
33 |  |  |  |  | }
34 |  |  |  |  |
35 |  |  |  |  | if (warnings::enabled("void")) {
36 |  |  |  |  | warnings::warn("void", "some warning");
37 |  |  |  |  | }
38 |  |  |  |  |
39 |  |  |  |  | if (warnings::enabled($object)) {
40 |  |  |  |  | warnings::warn($object, "some warning");
41 |  |  |  |  | }
42 |  |  |  |  |
43 |  |  |  |  | warnings::warnif("some warning");
44 |  |  |  |  | warnings::warnif("void", "some warning");
45 |  |  |  |  | warnings::warnif($object, "some warning");
46 |  |  |  |  |
47 |  |  |  |  | =head1 DESCRIPTION
48 |  |  |  |  |
49 |  |  |  |  | The C<warnings> pragma is a replacement for the command line flag C<-w>,
50 |  |  |  |  | but the pragma is limited to the enclosing block, while the flag is global.
51 |  |  |  |  | See L<perllexwarn> for more information.
52 |  |  |  |  |
53 |  |  |  |  | If no import list is supplied, all possible warnings are either enabled
54 |  |  |  |  | or disabled.
55 |  |  |  |  |
56 |  |  |  |  | A number of functions are provided to assist module authors.
57 |  |  |  |  |
58 |  |  |  |  | =over 4
59 |  |  |  |  |
60 |  |  |  |  | =item use warnings::register
61 |  |  |  |  |
62 |  |  |  |  | Creates a new warnings category with the same name as the package where
63 |  |  |  |  | the call to the pragma is used.
64 |  |  |  |  |
65 |  |  |  |  | =item warnings::enabled()
66 |  |  |  |  |
67 |  |  |  |  | Use the warnings category with the same name as the current package.
68 |  |  |  |  |
69 |  |  |  |  | Return TRUE if that warnings category is enabled in the calling module.
70 |  |  |  |  | Otherwise returns FALSE.
71 |  |  |  |  |
72 |  |  |  |  | =item warnings::enabled($category)
73 |  |  |  |  |
74 |  |  |  |  | Return TRUE if the warnings category, C<$category>, is enabled in the
75 |  |  |  |  | calling module.
76 |  |  |  |  | Otherwise returns FALSE.
77 |  |  |  |  |
78 |  |  |  |  | =item warnings::enabled($object)
79 |  |  |  |  |
80 |  |  |  |  | Use the name of the class for the object reference, C<$object>, as the
81 |  |  |  |  | warnings category.
82 |  |  |  |  |
83 |  |  |  |  | Return TRUE if that warnings category is enabled in the first scope
84 |  |  |  |  | where the object is used.
85 |  |  |  |  | Otherwise returns FALSE.
86 |  |  |  |  |
87 |  |  |  |  | =item warnings::fatal_enabled()
88 |  |  |  |  |
89 |  |  |  |  | Return TRUE if the warnings category with the same name as the current
90 |  |  |  |  | package has been set to FATAL in the calling module.
91 |  |  |  |  | Otherwise returns FALSE.
92 |  |  |  |  |
93 |  |  |  |  | =item warnings::fatal_enabled($category)
94 |  |  |  |  |
95 |  |  |  |  | Return TRUE if the warnings category C<$category> has been set to FATAL in
96 |  |  |  |  | the calling module.
97 |  |  |  |  | Otherwise returns FALSE.
98 |  |  |  |  |
99 |  |  |  |  | =item warnings::fatal_enabled($object)
100 |  |  |  |  |
101 |  |  |  |  | Use the name of the class for the object reference, C<$object>, as the
102 |  |  |  |  | warnings category.
103 |  |  |  |  |
104 |  |  |  |  | Return TRUE if that warnings category has been set to FATAL in the first
105 |  |  |  |  | scope where the object is used.
106 |  |  |  |  | Otherwise returns FALSE.
107 |  |  |  |  |
108 |  |  |  |  | =item warnings::warn($message)
109 |  |  |  |  |
110 |  |  |  |  | Print C<$message> to STDERR.
111 |  |  |  |  |
112 |  |  |  |  | Use the warnings category with the same name as the current package.
113 |  |  |  |  |
114 |  |  |  |  | If that warnings category has been set to "FATAL" in the calling module
115 |  |  |  |  | then die. Otherwise return.
116 |  |  |  |  |
117 |  |  |  |  | =item warnings::warn($category, $message)
118 |  |  |  |  |
119 |  |  |  |  | Print C<$message> to STDERR.
120 |  |  |  |  |
121 |  |  |  |  | If the warnings category, C<$category>, has been set to "FATAL" in the
122 |  |  |  |  | calling module then die. Otherwise return.
123 |  |  |  |  |
124 |  |  |  |  | =item warnings::warn($object, $message)
125 |  |  |  |  |
126 |  |  |  |  | Print C<$message> to STDERR.
127 |  |  |  |  |
128 |  |  |  |  | Use the name of the class for the object reference, C<$object>, as the
129 |  |  |  |  | warnings category.
130 |  |  |  |  |
131 |  |  |  |  | If that warnings category has been set to "FATAL" in the scope where C<$object>
132 |  |  |  |  | is first used then die. Otherwise return.
133 |  |  |  |  |
134 |  |  |  |  |
135 |  |  |  |  | =item warnings::warnif($message)
136 |  |  |  |  |
137 |  |  |  |  | Equivalent to:
138 |  |  |  |  |
139 |  |  |  |  | if (warnings::enabled())
140 |  |  |  |  | { warnings::warn($message) }
141 |  |  |  |  |
142 |  |  |  |  | =item warnings::warnif($category, $message)
143 |  |  |  |  |
144 |  |  |  |  | Equivalent to:
145 |  |  |  |  |
146 |  |  |  |  | if (warnings::enabled($category))
147 |  |  |  |  | { warnings::warn($category, $message) }
148 |  |  |  |  |
149 |  |  |  |  | =item warnings::warnif($object, $message)
150 |  |  |  |  |
151 |  |  |  |  | Equivalent to:
152 |  |  |  |  |
153 |  |  |  |  | if (warnings::enabled($object))
154 |  |  |  |  | { warnings::warn($object, $message) }
155 |  |  |  |  |
156 |  |  |  |  | =back
157 |  |  |  |  |
158 |  |  |  |  | See L<perlmodlib/Pragmatic Modules> and L<perllexwarn>.
159 |  |  |  |  |
160 |  |  |  |  | =cut
161 |  |  |  |  |
162 | 1 | 20µs |  |  | our %Offsets = (
163 |  |  |  |  |
164 |  |  |  |  | # Warnings Categories added in Perl 5.008
165 |  |  |  |  |
166 |  |  |  |  | 'all' => 0,
167 |  |  |  |  | 'closure' => 2,
168 |  |  |  |  | 'deprecated' => 4,
169 |  |  |  |  | 'exiting' => 6,
170 |  |  |  |  | 'glob' => 8,
171 |  |  |  |  | 'io' => 10,
172 |  |  |  |  | 'closed' => 12,
173 |  |  |  |  | 'exec' => 14,
174 |  |  |  |  | 'layer' => 16,
175 |  |  |  |  | 'newline' => 18,
176 |  |  |  |  | 'pipe' => 20,
177 |  |  |  |  | 'unopened' => 22,
178 |  |  |  |  | 'misc' => 24,
179 |  |  |  |  | 'numeric' => 26,
180 |  |  |  |  | 'once' => 28,
181 |  |  |  |  | 'overflow' => 30,
182 |  |  |  |  | 'pack' => 32,
183 |  |  |  |  | 'portable' => 34,
184 |  |  |  |  | 'recursion' => 36,
185 |  |  |  |  | 'redefine' => 38,
186 |  |  |  |  | 'regexp' => 40,
187 |  |  |  |  | 'severe' => 42,
188 |  |  |  |  | 'debugging' => 44,
189 |  |  |  |  | 'inplace' => 46,
190 |  |  |  |  | 'internal' => 48,
191 |  |  |  |  | 'malloc' => 50,
192 |  |  |  |  | 'signal' => 52,
193 |  |  |  |  | 'substr' => 54,
194 |  |  |  |  | 'syntax' => 56,
195 |  |  |  |  | 'ambiguous' => 58,
196 |  |  |  |  | 'bareword' => 60,
197 |  |  |  |  | 'digit' => 62,
198 |  |  |  |  | 'parenthesis' => 64,
199 |  |  |  |  | 'precedence' => 66,
200 |  |  |  |  | 'printf' => 68,
201 |  |  |  |  | 'prototype' => 70,
202 |  |  |  |  | 'qw' => 72,
203 |  |  |  |  | 'reserved' => 74,
204 |  |  |  |  | 'semicolon' => 76,
205 |  |  |  |  | 'taint' => 78,
206 |  |  |  |  | 'threads' => 80,
207 |  |  |  |  | 'uninitialized' => 82,
208 |  |  |  |  | 'unpack' => 84,
209 |  |  |  |  | 'untie' => 86,
210 |  |  |  |  | 'utf8' => 88,
211 |  |  |  |  | 'void' => 90,
212 |  |  |  |  |
213 |  |  |  |  | # Warnings Categories added in Perl 5.011
214 |  |  |  |  |
215 |  |  |  |  | 'imprecision' => 92,
216 |  |  |  |  | 'illegalproto' => 94,
217 |  |  |  |  | );
218 |  |  |  |  |
219 | 1 | 19µs |  |  | our %Bits = (
220 |  |  |  |  | 'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55", # [0..47]
221 |  |  |  |  | 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [29]
222 |  |  |  |  | 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [30]
223 |  |  |  |  | 'closed' => "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
224 |  |  |  |  | 'closure' => "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
225 |  |  |  |  | 'debugging' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [22]
226 |  |  |  |  | 'deprecated' => "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
227 |  |  |  |  | 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [31]
228 |  |  |  |  | 'exec' => "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
229 |  |  |  |  | 'exiting' => "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
230 |  |  |  |  | 'glob' => "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
231 |  |  |  |  | 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40", # [47]
232 |  |  |  |  | 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [46]
233 |  |  |  |  | 'inplace' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [23]
234 |  |  |  |  | 'internal' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [24]
235 |  |  |  |  | 'io' => "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
236 |  |  |  |  | 'layer' => "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
237 |  |  |  |  | 'malloc' => "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [25]
238 |  |  |  |  | 'misc' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
239 |  |  |  |  | 'newline' => "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
240 |  |  |  |  | 'numeric' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
241 |  |  |  |  | 'once' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
242 |  |  |  |  | 'overflow' => "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
243 |  |  |  |  | 'pack' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [16]
244 |  |  |  |  | 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [32]
245 |  |  |  |  | 'pipe' => "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
246 |  |  |  |  | 'portable' => "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [17]
247 |  |  |  |  | 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [33]
248 |  |  |  |  | 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [34]
249 |  |  |  |  | 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [35]
250 |  |  |  |  | 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [36]
251 |  |  |  |  | 'recursion' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [18]
252 |  |  |  |  | 'redefine' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [19]
253 |  |  |  |  | 'regexp' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [20]
254 |  |  |  |  | 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [37]
255 |  |  |  |  | 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [38]
256 |  |  |  |  | 'severe' => "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00", # [21..25]
257 |  |  |  |  | 'signal' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [26]
258 |  |  |  |  | 'substr' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [27]
259 |  |  |  |  | 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40", # [28..38,47]
260 |  |  |  |  | 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [39]
261 |  |  |  |  | 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [40]
262 |  |  |  |  | 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [41]
263 |  |  |  |  | 'unopened' => "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
264 |  |  |  |  | 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [42]
265 |  |  |  |  | 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [43]
266 |  |  |  |  | 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [44]
267 |  |  |  |  | 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [45]
268 |  |  |  |  | );
269 |  |  |  |  |
270 | 1 | 16µs |  |  | our %DeadBits = (
271 |  |  |  |  | 'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..47]
272 |  |  |  |  | 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [29]
273 |  |  |  |  | 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [30]
274 |  |  |  |  | 'closed' => "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
275 |  |  |  |  | 'closure' => "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
276 |  |  |  |  | 'debugging' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [22]
277 |  |  |  |  | 'deprecated' => "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
278 |  |  |  |  | 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [31]
279 |  |  |  |  | 'exec' => "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
280 |  |  |  |  | 'exiting' => "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
281 |  |  |  |  | 'glob' => "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
282 |  |  |  |  | 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", # [47]
283 |  |  |  |  | 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [46]
284 |  |  |  |  | 'inplace' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [23]
285 |  |  |  |  | 'internal' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [24]
286 |  |  |  |  | 'io' => "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
287 |  |  |  |  | 'layer' => "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
288 |  |  |  |  | 'malloc' => "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [25]
289 |  |  |  |  | 'misc' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
290 |  |  |  |  | 'newline' => "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
291 |  |  |  |  | 'numeric' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
292 |  |  |  |  | 'once' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
293 |  |  |  |  | 'overflow' => "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
294 |  |  |  |  | 'pack' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [16]
295 |  |  |  |  | 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [32]
296 |  |  |  |  | 'pipe' => "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
297 |  |  |  |  | 'portable' => "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [17]
298 |  |  |  |  | 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [33]
299 |  |  |  |  | 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [34]
300 |  |  |  |  | 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [35]
301 |  |  |  |  | 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [36]
302 |  |  |  |  | 'recursion' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [18]
303 |  |  |  |  | 'redefine' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [19]
304 |  |  |  |  | 'regexp' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [20]
305 |  |  |  |  | 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [37]
306 |  |  |  |  | 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [38]
307 |  |  |  |  | 'severe' => "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00", # [21..25]
308 |  |  |  |  | 'signal' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [26]
309 |  |  |  |  | 'substr' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [27]
310 |  |  |  |  | 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80", # [28..38,47]
311 |  |  |  |  | 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [39]
312 |  |  |  |  | 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [40]
313 |  |  |  |  | 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [41]
314 |  |  |  |  | 'unopened' => "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
315 |  |  |  |  | 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [42]
316 |  |  |  |  | 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [43]
317 |  |  |  |  | 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [44]
318 |  |  |  |  | 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [45]
319 |  |  |  |  | );
320 |  |  |  |  |
321 | 1 | 300ns |  |  | $NONE = "\0\0\0\0\0\0\0\0\0\0\0\0";
322 | 1 | 200ns |  |  | $LAST_BIT = 96 ;
323 | 1 | 100ns |  |  | $BYTES = 12 ;
324 |  |  |  |  |
325 | 2 | 6µs |  |  | $All = "" ; vec($All, $Offsets{'all'}, 2) = 3 ;
326 |  |  |  |  |
327 |  |  |  |  | sub Croaker
328 |  |  |  |  | {
329 |  |  |  |  | require Carp; # this initializes %CarpInternal
330 |  |  |  |  | local $Carp::CarpInternal{'warnings'};
331 |  |  |  |  | delete $Carp::CarpInternal{'warnings'};
332 |  |  |  |  | Carp::croak(@_);
333 |  |  |  |  | }
334 |  |  |  |  |
335 |  |  |  |  | sub bits
336 |  |  |  |  | {
337 |  |  |  |  | # called from B::Deparse.pm
338 |  |  |  |  |
339 |  |  |  |  | push @_, 'all' unless @_;
340 |  |  |  |  |
341 |  |  |  |  | my $mask;
342 |  |  |  |  | my $catmask ;
343 |  |  |  |  | my $fatal = 0 ;
344 |  |  |  |  | my $no_fatal = 0 ;
345 |  |  |  |  |
346 |  |  |  |  | foreach my $word ( @_ ) {
347 |  |  |  |  | if ($word eq 'FATAL') {
348 |  |  |  |  | $fatal = 1;
349 |  |  |  |  | $no_fatal = 0;
350 |  |  |  |  | }
351 |  |  |  |  | elsif ($word eq 'NONFATAL') {
352 |  |  |  |  | $fatal = 0;
353 |  |  |  |  | $no_fatal = 1;
354 |  |  |  |  | }
355 |  |  |  |  | elsif ($catmask = $Bits{$word}) {
356 |  |  |  |  | $mask |= $catmask ;
357 |  |  |  |  | $mask |= $DeadBits{$word} if $fatal ;
358 |  |  |  |  | $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;
359 |  |  |  |  | }
360 |  |  |  |  | else
361 |  |  |  |  | { Croaker("Unknown warnings category '$word'")}
362 |  |  |  |  | }
363 |  |  |  |  |
364 |  |  |  |  | return $mask ;
365 |  |  |  |  | }
366 |  |  |  |  |
367 |  |  |  |  | sub import
368 |  |  |  |  | # spent 3.57ms within warnings::import which was called 281 times, avg 13µs/call: # 13 times (198µs+0s) by Moose::Exporter::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Exporter.pm:492] at line 438 of Moose/Exporter.pm, avg 15µs/call # 3 times (39µs+0s) by Moose::Exporter::import at line 755 of Moose/Exporter.pm, avg 13µs/call # 2 times (20µs+0s) by YAML::Mo::BEGIN@5.11 or YAML::Mo::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/YAML/Mo.pm:5] at line 5 of YAML/Mo.pm, avg 10µs/call # once (38µs+0s) by Hash::Merge::BEGIN@4 at line 4 of Hash/Merge.pm # once (26µs+0s) by Class::MOP::Method::Constructor::BEGIN@11 at line 11 of Class/MOP/Method/Constructor.pm # once (21µs+0s) by Class::MOP::Attribute::BEGIN@11 at line 11 of Class/MOP/Attribute.pm # once (21µs+0s) by DBIx::Class::Storage::DBI::SQLite::BEGIN@4 at line 4 of DBIx/Class/Storage/DBI/SQLite.pm # once (20µs+0s) by DateTime::TimeZone::Floating::BEGIN@7 at line 7 of DateTime/TimeZone/Floating.pm # once (19µs+0s) by re::BEGIN@5 at line 5 of re.pm # once (19µs+0s) by Sub::Install::BEGIN@3 at line 3 of Sub/Install.pm # once (19µs+0s) by DateTime::Infinite::BEGIN@7 at line 7 of DateTime/Infinite.pm # once (19µs+0s) by DateTime::TimeZone::BEGIN@9 at line 9 of DateTime/TimeZone.pm # once (18µs+0s) by Class::MOP::Deprecated::BEGIN@10 at line 10 of Class/MOP/Deprecated.pm # once (18µs+0s) by Devel::Backtrace::BEGIN@3 at line 3 of Devel/Backtrace.pm # once (18µs+0s) by DBIx::Class::PK::Auto::BEGIN@6 at line 6 of DBIx/Class/PK/Auto.pm # once (18µs+0s) by main::BEGIN@2 at line 2 of Test/Deep.pm # once (18µs+0s) by Moose::Util::MetaRole::BEGIN@10 at line 10 of Moose/Util/MetaRole.pm # once (18µs+0s) by Moose::Meta::Mixin::AttributeCore::BEGIN@10 at line 10 of Moose/Meta/Mixin/AttributeCore.pm # once (18µs+0s) by main::BEGIN@4 at line 4 of xt/tapper-mcp-scheduler-with-db-longrun.t # once (18µs+0s) by Moose::Meta::Role::BEGIN@10 at line 10 of Moose/Meta/Role.pm # once (18µs+0s) by Tapper::Schema::ReportsDB::BEGIN@9 at line 9 of Tapper/Schema/ReportsDB.pm # once (18µs+0s) by Moose::Util::TypeConstraints::Builtins::BEGIN@10 at line 10 of Moose/Util/TypeConstraints/Builtins.pm # once (18µs+0s) by Test::More::BEGIN@5 at line 5 of Test/More.pm # once (18µs+0s) by Tapper::Model::BEGIN@10 at line 10 of Tapper/Model.pm # once (18µs+0s) by Tapper::MCP::Net::BEGIN@4 at line 4 of lib/Tapper/MCP/Net.pm # once (18µs+0s) by Moose::Meta::Method::Accessor::BEGIN@11 at line 11 of Moose/Meta/Method/Accessor.pm # once (18µs+0s) by DBIx::Class::InflateColumn::Object::Enum::BEGIN@3 at line 3 of DBIx/Class/InflateColumn/Object/Enum.pm # once (18µs+0s) by DBIx::Class::FilterColumn::BEGIN@3 at line 3 of DBIx/Class/FilterColumn.pm # once (18µs+0s) by Moose::Meta::Role::Composite::BEGIN@10 at line 10 of Moose/Meta/Role/Composite.pm # once (17µs+0s) by Tapper::Schema::TestrunDB::Result::TestplanInstance::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/TestplanInstance.pm # once (17µs+0s) by Tapper::Schema::ReportsDB::Result::ReportComment::BEGIN@10 at line 10 of Tapper/Schema/ReportsDB/Result/ReportComment.pm # once (17µs+0s) by Moose::Meta::Role::Method::Conflicting::BEGIN@11 at line 11 of Moose/Meta/Role/Method/Conflicting.pm # once (17µs+0s) by SQL::Translator::Parser::DBIx::Class::BEGIN@10 at line 10 of SQL/Translator/Parser/DBIx/Class.pm # once (17µs+0s) by Tapper::Schema::TestrunDB::Result::TestrunRequestedFeature::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/TestrunRequestedFeature.pm # once (17µs+0s) by Tapper::Schema::TestrunDB::Result::TestrunPrecondition::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/TestrunPrecondition.pm # once (17µs+0s) by DBIx::Class::SQLMaker::BEGIN@4 at line 4 of DBIx/Class/SQLMaker.pm # once (17µs+0s) by DBIx::Class::ResultSource::BEGIN@4 at line 4 of DBIx/Class/ResultSource.pm # once (17µs+0s) by Tapper::Schema::TestrunDB::Result::State::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/State.pm # once (17µs+0s) by Module::Find::BEGIN@5 at line 5 of Module/Find.pm # once (17µs+0s) by Tapper::Schema::ReportsDB::Result::ReportFile::BEGIN@10 at line 10 of Tapper/Schema/ReportsDB/Result/ReportFile.pm # once (17µs+0s) by Tapper::Schema::TestrunDB::ResultSet::Host::BEGIN@11 at line 11 of Tapper/Schema/TestrunDB/ResultSet/Host.pm # once (17µs+0s) by Tapper::Schema::ReportsDB::ResultSet::ReportgroupTestrun::BEGIN@10 at line 10 of Tapper/Schema/ReportsDB/ResultSet/ReportgroupTestrun.pm # once (17µs+0s) by Tapper::Schema::ReportsDB::Result::View020TestrunOverview::BEGIN@12 at line 12 of Tapper/Schema/ReportsDB/Result/View020TestrunOverview.pm # once (17µs+0s) by DBIx::Class::Storage::DBI::BEGIN@5 at line 5 of DBIx/Class/Storage/DBI.pm # once (17µs+0s) by DBIx::Class::Relationship::BEGIN@4 at line 4 of DBIx/Class/Relationship.pm # once (17µs+0s) by Tapper::Schema::ReportsDB::Result::Contact::BEGIN@10 at line 10 of Tapper/Schema/ReportsDB/Result/Contact.pm # once (17µs+0s) by Tapper::Schema::ReportsDB::Result::ReportgroupTestrun::BEGIN@11 at line 11 of Tapper/Schema/ReportsDB/Result/ReportgroupTestrun.pm # once (17µs+0s) by Tapper::Schema::ReportsDB::Result::NotificationEvent::BEGIN@10 at line 10 of Tapper/Schema/ReportsDB/Result/NotificationEvent.pm # once (17µs+0s) by Moose::Meta::TypeCoercion::BEGIN@11 at line 11 of Moose/Meta/TypeCoercion.pm # once (17µs+0s) by Tapper::Schema::TestrunDB::Result::Message::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/Message.pm # once (17µs+0s) by IO::BEGIN@8 at line 8 of IO.pm # once (17µs+0s) by Tapper::Schema::ReportsDB::Result::User::BEGIN@10 at line 10 of Tapper/Schema/ReportsDB/Result/User.pm # once (17µs+0s) by Tapper::Schema::TestrunDB::Result::Scenario::BEGIN@11 at line 11 of Tapper/Schema/TestrunDB/Result/Scenario.pm # once (17µs+0s) by Tapper::Schema::TestrunDB::Result::Precondition::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/Precondition.pm # once (17µs+0s) by Tapper::Schema::ReportsDB::Result::Suite::BEGIN@10 at line 10 of Tapper/Schema/ReportsDB/Result/Suite.pm # once (17µs+0s) by Moose::Meta::Method::Augmented::BEGIN@10 at line 10 of Moose/Meta/Method/Augmented.pm # once (17µs+0s) by Moose::Meta::TypeConstraint::Enum::BEGIN@10 at line 10 of Moose/Meta/TypeConstraint/Enum.pm # once (17µs+0s) by Tapper::Schema::ReportsDB::Result::ReportgroupArbitrary::BEGIN@10 at line 10 of Tapper/Schema/ReportsDB/Result/ReportgroupArbitrary.pm # once (17µs+0s) by Moose::Meta::Role::Application::BEGIN@10 at line 10 of Moose/Meta/Role/Application.pm # once (17µs+0s) by Tapper::Schema::TestrunDB::Result::TestrunRequestedHost::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/TestrunRequestedHost.pm # once (17µs+0s) by File::stat::BEGIN@5 at line 5 of File/stat.pm # once (17µs+0s) by DateTime::Format::SQLite::BEGIN@7 at line 7 of DateTime/Format/SQLite.pm # once (16µs+0s) by DBIx::Class::Core::BEGIN@4 at line 4 of DBIx/Class/Core.pm # once (16µs+0s) by Tapper::Schema::TestrunDB::Result::User::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/User.pm # once (16µs+0s) by DateTime::Duration::BEGIN@7 at line 7 of DateTime/Duration.pm # once (16µs+0s) by Tapper::Schema::TestrunDB::Result::HostFeature::BEGIN@11 at line 11 of Tapper/Schema/TestrunDB/Result/HostFeature.pm # once (16µs+0s) by Tapper::Schema::TestrunDB::Result::Testrun::BEGIN@11 at line 11 of Tapper/Schema/TestrunDB/Result/Testrun.pm # once (16µs+0s) by DBIx::Class::Version::Table::BEGIN@5 at line 5 of DBIx/Class/Schema/Versioned.pm # once (16µs+0s) by Module::Implementation::BEGIN@7 at line 7 of Module/Implementation.pm # once (16µs+0s) by Tapper::Schema::ReportsDB::Result::Report::BEGIN@11 at line 11 of Tapper/Schema/ReportsDB/Result/Report.pm # once (16µs+0s) by SQL::Abstract::BEGIN@10 at line 10 of SQL/Abstract.pm # once (16µs+0s) by Tapper::Schema::TestrunDB::Result::Host::BEGIN@11 at line 11 of Tapper/Schema/TestrunDB/Result/Host.pm # once (16µs+0s) by Moose::Meta::TypeConstraint::Role::BEGIN@10 at line 10 of Moose/Meta/TypeConstraint/Role.pm # once (16µs+0s) by Class::Inspector::BEGIN@46 at line 46 of Class/Inspector.pm # once (16µs+0s) by DBIx::Class::InflateColumn::BEGIN@4 at line 4 of DBIx/Class/InflateColumn.pm # once (16µs+0s) by Moose::Meta::Instance::BEGIN@11 at line 11 of Moose/Meta/Instance.pm # once (16µs+0s) by Tapper::Schema::TestrunDB::ResultSet::Precondition::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/ResultSet/Precondition.pm # once (16µs+0s) by Class::MOP::Class::Immutable::Trait::BEGIN@10 at line 10 of Class/MOP/Class/Immutable/Trait.pm # once (16µs+0s) by DBIx::Class::Storage::DBI::Cursor::BEGIN@4 at line 4 of DBIx/Class/Storage/DBI/Cursor.pm # once (16µs+0s) by Moose::Meta::TypeConstraint::DuckType::BEGIN@10 at line 10 of Moose/Meta/TypeConstraint/DuckType.pm # once (16µs+0s) by Hash::Merge::Simple::BEGIN@7 at line 7 of Hash/Merge/Simple.pm # once (16µs+0s) by Moose::Meta::TypeConstraint::Parameterized::BEGIN@10 at line 10 of Moose/Meta/TypeConstraint/Parameterized.pm # once (16µs+0s) by Tapper::MCP::Net::TAP::BEGIN@5 at line 5 of lib/Tapper/MCP/Net/TAP.pm # once (16µs+0s) by Tapper::Schema::ReportsDB::Result::Notification::BEGIN@10 at line 10 of Tapper/Schema/ReportsDB/Result/Notification.pm # once (16µs+0s) by Log::Log4perl::Appender::BEGIN@7 at line 7 of Log/Log4perl/Appender.pm # once (16µs+0s) by Tapper::Schema::ReportsDB::Result::ReportSection::BEGIN@10 at line 10 of Tapper/Schema/ReportsDB/Result/ReportSection.pm # once (16µs+0s) by Moose::Meta::TypeConstraint::BEGIN@11 at line 11 of Moose/Meta/TypeConstraint.pm # once (16µs+0s) by Moose::Meta::Role::Application::ToClass::BEGIN@10 at line 10 of Moose/Meta/Role/Application/ToClass.pm # once (16µs+0s) by Moose::Meta::TypeConstraint::Class::BEGIN@10 at line 10 of Moose/Meta/TypeConstraint/Class.pm # once (16µs+0s) by Moose::Meta::Role::Application::ToInstance::BEGIN@10 at line 10 of Moose/Meta/Role/Application/ToInstance.pm # once (16µs+0s) by Tapper::Schema::ReportsDB::Result::Tap::BEGIN@11 at line 11 of Tapper/Schema/ReportsDB/Result/Tap.pm # once (16µs+0s) by Any::Moose::BEGIN@9 at line 9 of Any/Moose.pm # once (16µs+0s) by Moose::Object::BEGIN@11 at line 11 of Moose/Object.pm # once (16µs+0s) by Log::Log4perl::BEGIN@9 at line 9 of Log/Log4perl.pm # once (16µs+0s) by Tapper::Schema::ReportsDB::Result::ReportTopic::BEGIN@10 at line 10 of Tapper/Schema/ReportsDB/Result/ReportTopic.pm # once (16µs+0s) by Moose::Meta::TypeConstraint::Registry::BEGIN@11 at line 11 of Moose/Meta/TypeConstraint/Registry.pm # once (16µs+0s) by DBIx::Class::BEGIN@4 at line 4 of DBIx/Class.pm # once (16µs+0s) by Tapper::Schema::TestrunDB::Result::ScenarioElement::BEGIN@11 at line 11 of Tapper/Schema/TestrunDB/Result/ScenarioElement.pm # once (16µs+0s) by Tapper::Schema::TestrunDB::Result::Topic::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/Topic.pm # once (16µs+0s) by Moose::Meta::Role::Method::BEGIN@11 at line 11 of Moose/Meta/Role/Method.pm # once (16µs+0s) by Moose::Meta::Role::Application::RoleSummation::BEGIN@10 at line 10 of Moose/Meta/Role/Application/RoleSummation.pm # once (16µs+0s) by DBIx::Class::Componentised::BEGIN@5 at line 5 of DBIx/Class/Componentised.pm # once (16µs+0s) by Tapper::Config::BEGIN@13 at line 13 of Tapper/Config.pm # once (16µs+0s) by Moose::Meta::Role::Application::ToRole::BEGIN@10 at line 10 of Moose/Meta/Role/Application/ToRole.pm # once (16µs+0s) by Test::Fixture::DBIC::Schema::BEGIN@3 at line 3 of Test/Fixture/DBIC/Schema.pm # once (16µs+0s) by DateTime::Locale::BEGIN@4 at line 4 of DateTime/Locale.pm # once (15µs+0s) by Package::Stash::BEGIN@6 at line 6 of Package/Stash.pm # once (15µs+0s) by Tapper::MCP::BEGIN@4 at line 4 of lib/Tapper/MCP.pm # once (15µs+0s) by Class::MOP::Method::BEGIN@11 at line 11 of Class/MOP/Method.pm # once (15µs+0s) by DateTime::Locale::Catalog::BEGIN@18 at line 18 of DateTime/Locale/Catalog.pm # once (15µs+0s) by Tapper::Schema::TestrunDB::Result::PrePrecondition::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/PrePrecondition.pm # once (15µs+0s) by Tapper::Schema::ReportsDB::Result::View010TestrunOverviewReports::BEGIN@12 at line 12 of Tapper/Schema/ReportsDB/Result/View010TestrunOverviewReports.pm # once (15µs+0s) by Class::MOP::Class::BEGIN@11 at line 11 of Class/MOP/Class.pm # once (15µs+0s) by Tapper::Schema::TestrunDB::Result::Queue::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/Queue.pm # once (15µs+0s) by Moose::Meta::Class::Immutable::Trait::BEGIN@10 at line 10 of Moose/Meta/Class/Immutable/Trait.pm # once (15µs+0s) by Class::Load::XS::BEGIN@7 at line 7 of Class/Load/XS.pm # once (15µs+0s) by File::Basename::BEGIN@52 at line 52 of File/Basename.pm # once (15µs+0s) by namespace::clean::BEGIN@3 at line 3 of namespace/clean.pm # once (15µs+0s) by Tapper::Schema::TestTools::BEGIN@12 at line 12 of Tapper/Schema/TestTools.pm # once (15µs+0s) by Log::Log4perl::Logger::BEGIN@7 at line 7 of Log/Log4perl/Logger.pm # once (15µs+0s) by MooseX::Traits::Util::BEGIN@3 at line 3 of MooseX/Traits/Util.pm # once (15µs+0s) by Moose::BEGIN@9 at line 9 of Moose.pm # once (15µs+0s) by File::Slurp::BEGIN@6 at line 6 of File/Slurp.pm # once (15µs+0s) by Tapper::Schema::ReportsDB::Result::ReportgroupTestrunStats::BEGIN@11 at line 11 of Tapper/Schema/ReportsDB/Result/ReportgroupTestrunStats.pm # once (15µs+0s) by Tapper::Schema::TestrunDB::Result::Preconditiontype::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/Preconditiontype.pm # once (15µs+0s) by Class::MOP::Method::Overload::BEGIN@11 at line 11 of Class/MOP/Method/Overload.pm # once (14µs+0s) by DBIx::Class::Relationship::Accessor::BEGIN@5 at line 5 of DBIx/Class/Relationship/Accessor.pm # once (14µs+0s) by DateTime::Locale::en_US::BEGIN@22 at line 22 of DateTime/Locale/en_US.pm # once (14µs+0s) by Tapper::Schema::TestrunDB::Result::QueueHost::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/Result/QueueHost.pm # once (14µs+0s) by Moose::Meta::Role::Attribute::BEGIN@10 at line 10 of Moose/Meta/Role/Attribute.pm # once (14µs+0s) by SQL::Translator::Producer::SQLite::BEGIN@39 at line 39 of SQL/Translator/Producer/SQLite.pm # once (14µs+0s) by Moose::Exporter::BEGIN@10 at line 10 of Moose/Exporter.pm # once (13µs+0s) by Class::Load::BEGIN@2 at line 2 of Data/OptList.pm # once (13µs+0s) by Carp::BEGIN@5 at line 5 of Carp.pm # once (13µs+0s) by Class::MOP::Method::Wrapped::BEGIN@11 at line 11 of Class/MOP/Method/Wrapped.pm # once (12µs+0s) by Tapper::Schema::TestrunDB::ResultSet::TestrunScheduling::BEGIN@11 at line 11 of Tapper/Schema/TestrunDB/ResultSet/TestrunScheduling.pm # once (12µs+0s) by Moose::Meta::Attribute::BEGIN@11 at line 11 of Moose/Meta/Attribute.pm # once (12µs+0s) by MooseX::Traits::BEGIN@6 at line 6 of MooseX/Traits.pm # once (12µs+0s) by DBIx::Class::ResultSource::Table::BEGIN@4 at line 4 of DBIx/Class/ResultSource/Table.pm # once (12µs+0s) by Moose::Meta::TypeConstraint::Parameterizable::BEGIN@10 at line 10 of Moose/Meta/TypeConstraint/Parameterizable.pm # once (12µs+0s) by DBIx::Class::AccessorGroup::BEGIN@4 at line 4 of DBIx/Class/AccessorGroup.pm # once (12µs+0s) by POSIX::BEGIN@3 at line 3 of POSIX.pm # once (12µs+0s) by Log::Log4perl::Config::BEGIN@6 at line 6 of Log/Log4perl/Config.pm # once (12µs+0s) by Moose::Meta::TypeCoercion::Union::BEGIN@11 at line 11 of Moose/Meta/TypeCoercion/Union.pm # once (12µs+0s) by Class::XSAccessor::BEGIN@4 at line 4 of Class/XSAccessor.pm # once (11µs+0s) by Log::Log4perl::Layout::SimpleLayout::BEGIN@10 at line 10 of Log/Log4perl/Layout/SimpleLayout.pm # once (11µs+0s) by Moose::Error::Util::BEGIN@5 at line 5 of Moose/Error/Util.pm # once (11µs+0s) by DBIx::Class::Relationship::BelongsTo::BEGIN@8 at line 8 of DBIx/Class/Relationship/BelongsTo.pm # once (11µs+0s) by Data::Compare::BEGIN@10 at line 10 of Data/Compare.pm # once (11µs+0s) by DBIx::Class::Carp::BEGIN@4 at line 4 of DBIx/Class/Carp.pm # once (11µs+0s) by Params::Validate::XS::BEGIN@4 at line 4 of Params/Validate/XS.pm # once (11µs+0s) by Moose::Deprecated::BEGIN@10 at line 10 of Moose/Deprecated.pm # once (11µs+0s) by Log::Log4perl::NDC::BEGIN@7 at line 7 of Log/Log4perl/NDC.pm # once (10µs+0s) by Log::Log4perl::Filter::BEGIN@7 at line 7 of Log/Log4perl/Filter.pm # once (10µs+0s) by Class::MOP::MiniTrait::BEGIN@10 at line 10 of Class/MOP/MiniTrait.pm # once (10µs+0s) by Class::MOP::Method::Accessor::BEGIN@11 at line 11 of Class/MOP/Method/Accessor.pm # once (10µs+0s) by DBIx::Class::Relationship::Helpers::BEGIN@5 at line 5 of DBIx/Class/Relationship/Helpers.pm # once (10µs+0s) by DBIx::Class::Version::BEGIN@50 at line 50 of DBIx/Class/Schema/Versioned.pm # once (10µs+0s) by utf8::BEGIN@3 at line 3 of utf8_heavy.pl # once (10µs+0s) by DateTime::TimeZone::Local::BEGIN@7 at line 7 of DateTime/TimeZone/Local.pm # once (10µs+0s) by DBIx::Class::Relationship::ManyToMany::BEGIN@5 at line 5 of DBIx/Class/Relationship/ManyToMany.pm # once (10µs+0s) by DBIx::Class::Schema::BEGIN@242 at line 242 of DBIx/Class/Schema.pm # once (10µs+0s) by Tapper::Schema::TestrunDB::ResultSet::Queue::BEGIN@11 at line 11 of Tapper/Schema/TestrunDB/ResultSet/Queue.pm # once (10µs+0s) by DBIx::Class::Relationship::HasOne::BEGIN@5 at line 5 of DBIx/Class/Relationship/HasOne.pm # once (10µs+0s) by Test::Deep::BEGIN@2.35 at line 2 of Test/Deep/Stack.pm # once (10µs+0s) by DBIx::Class::Relationship::ProxyMethods::BEGIN@5 at line 5 of DBIx/Class/Relationship/ProxyMethods.pm # once (9µs+0s) by DBIx::Class::TimeStamp::BEGIN@5 at line 5 of DBIx/Class/TimeStamp.pm # once (9µs+0s) by Tapper::Schema::TestrunDB::ResultSet::Testrun::BEGIN@10 at line 10 of Tapper/Schema/TestrunDB/ResultSet/Testrun.pm # once (9µs+0s) by DBIx::Class::InflateColumn::DateTime::BEGIN@4 at line 4 of DBIx/Class/InflateColumn/DateTime.pm # once (9µs+0s) by Class::Load::BEGIN@6 at line 6 of Class/Load.pm # once (9µs+0s) by Class::MOP::Method::Inlined::BEGIN@10 at line 10 of Class/MOP/Method/Inlined.pm # once (9µs+0s) by Class::MOP::Mixin::HasMethods::BEGIN@10 at line 10 of Class/MOP/Mixin/HasMethods.pm # once (9µs+0s) by Log::Log4perl::Config::PropertyConfigurator::BEGIN@4 at line 4 of Log/Log4perl/Config/PropertyConfigurator.pm # once (9µs+0s) by Moose::Meta::Method::Delegation::BEGIN@11 at line 11 of Moose/Meta/Method/Delegation.pm # once (9µs+0s) by MRO::Compat::BEGIN@3 at line 3 of MRO/Compat.pm # once (9µs+0s) by Test::Deep::BEGIN@2.37 at line 2 of Test/Deep/RegexpVersion.pm # once (9µs+0s) by DBIx::Class::Storage::TxnScopeGuard::BEGIN@4 at line 4 of DBIx/Class/Storage/TxnScopeGuard.pm # once (9µs+0s) by DBIx::Class::VersionCompat::BEGIN@58 at line 58 of DBIx/Class/Schema/Versioned.pm # once (8µs+0s) by DBIx::Class::Optional::Dependencies::BEGIN@3 at line 3 of DBIx/Class/Optional/Dependencies.pm # once (8µs+0s) by Moose::Meta::Method::Meta::BEGIN@11 at line 11 of Moose/Meta/Method/Meta.pm # once (8µs+0s) by Test::Builder::BEGIN@5 at line 5 of Test/Builder.pm # once (8µs+0s) by Moose::Meta::Class::BEGIN@11 at line 11 of Moose/Meta/Class.pm # once (8µs+0s) by Log::Log4perl::Filter::Boolean::BEGIN@8 at line 8 of Log/Log4perl/Filter/Boolean.pm # once (8µs+0s) by Log::Log4perl::DateFormat::BEGIN@4 at line 4 of Log/Log4perl/DateFormat.pm # once (8µs+0s) by DBIx::Class::ResultSourceProxy::Table::BEGIN@4 at line 4 of DBIx/Class/ResultSourceProxy/Table.pm # once (8µs+0s) by Class::C3::Componentised::BEGIN@2 at line 2 of DBIx/Class/DynamicDefault.pm # once (8µs+0s) by Moose::Meta::Method::Constructor::BEGIN@11 at line 11 of Moose/Meta/Method/Constructor.pm # once (8µs+0s) by Sub::Name::BEGIN@45 at line 45 of Sub/Name.pm # once (8µs+0s) by DBIx::Class::SQLMaker::LimitDialects::BEGIN@3 at line 3 of DBIx/Class/SQLMaker/LimitDialects.pm # once (8µs+0s) by Moose::Meta::Method::Destructor::BEGIN@11 at line 11 of Moose/Meta/Method/Destructor.pm # once (8µs+0s) by Moose::Meta::Role::Method::Required::BEGIN@11 at line 11 of Moose/Meta/Role/Method/Required.pm # once (8µs+0s) by Log::Log4perl::Layout::PatternLayout::BEGIN@7 at line 7 of Log/Log4perl/Layout/PatternLayout.pm # once (8µs+0s) by Class::MOP::Mixin::HasAttributes::BEGIN@10 at line 10 of Class/MOP/Mixin/HasAttributes.pm # once (8µs+0s) by DBIx::Class::Relationship::Base::BEGIN@4 at line 4 of DBIx/Class/Relationship/Base.pm # once (8µs+0s) by Moose::Util::BEGIN@10 at line 10 of Moose/Util.pm # once (8µs+0s) by DBIx::Class::Schema::Versioned::BEGIN@201 at line 201 of DBIx/Class/Schema/Versioned.pm # once (8µs+0s) by Moose::Error::Default::BEGIN@10 at line 10 of Moose/Error/Default.pm # once (8µs+0s) by Class::MOP::Instance::BEGIN@11 at line 11 of Class/MOP/Instance.pm # once (8µs+0s) by Moose::Role::BEGIN@9 at line 9 of Moose/Role.pm # once (8µs+0s) by DateTime::Locale::Base::BEGIN@4 at line 4 of DateTime/Locale/Base.pm # once (8µs+0s) by Class::MOP::Module::BEGIN@11 at line 11 of Class/MOP/Module.pm # once (8µs+0s) by DBIx::Class::ResultSource::View::BEGIN@4 at line 4 of DBIx/Class/ResultSource/View.pm # once (8µs+0s) by Test::Deep::BEGIN@2 at line 2 of Test/Deep/Cache.pm # once (8µs+0s) by YAML::BEGIN@2 at line 2 of YAML/Node.pm # once (8µs+0s) by Class::XSAccessor::Heavy::BEGIN@6 at line 6 of Class/XSAccessor/Heavy.pm # once (8µs+0s) by DBIx::Class::Schema::BEGIN@4 at line 4 of DBIx/Class/Schema.pm # once (8µs+0s) by Params::Validate::Constants::BEGIN@4 at line 4 of Params/Validate/Constants.pm # once (8µs+0s) by File::Find::BEGIN@4 at line 4 of File/Find.pm # once (8µs+0s) by Test::Deep::Stack::BEGIN@2 at line 2 of Test/Deep/MM.pm # once (8µs+0s) by DBIx::Class::Relationship::HasMany::BEGIN@5 at line 5 of DBIx/Class/Relationship/HasMany.pm # once (8µs+0s) by Class::MOP::Object::BEGIN@11 at line 11 of Class/MOP/Object.pm # once (8µs+0s) by DBIx::Class::Relationship::CascadeActions::BEGIN@5 at line 5 of DBIx/Class/Relationship/CascadeActions.pm # once (8µs+0s) by Moose::Meta::Method::Overridden::BEGIN@10 at line 10 of Moose/Meta/Method/Overridden.pm # once (8µs+0s) by mro::BEGIN@11 at line 11 of mro.pm # once (8µs+0s) by Object::Enum::BEGIN@4 at line 4 of Object/Enum.pm # once (8µs+0s) by Log::Log4perl::Config::BaseConfigurator::BEGIN@3 at line 3 of Log/Log4perl/Config/BaseConfigurator.pm # once (8µs+0s) by DBIx::Class::ResultSetColumn::BEGIN@4 at line 4 of DBIx/Class/ResultSetColumn.pm # once (8µs+0s) by Devel::Backtrace::Point::BEGIN@3 at line 3 of Devel/Backtrace/Point.pm # once (8µs+0s) by DBIx::Class::Row::BEGIN@4 at line 4 of DBIx/Class/Row.pm # once (8µs+0s) by Class::MOP::Method::Generated::BEGIN@11 at line 11 of Class/MOP/Method/Generated.pm # once (8µs+0s) by Params::Validate::BEGIN@9 at line 9 of Params/Validate.pm # once (8µs+0s) by DBIx::Class::ResultSourceHandle::BEGIN@4 at line 4 of DBIx/Class/ResultSourceHandle.pm # once (8µs+0s) by Tapper::Schema::TestrunDB::BEGIN@9 at line 9 of Tapper/Schema/TestrunDB.pm # once (8µs+0s) by Class::Singleton::BEGIN@20 at line 20 of Class/Singleton.pm # once (8µs+0s) by Log::Log4perl::Util::TimeTracker::BEGIN@7 at line 7 of Log/Log4perl/Util/TimeTracker.pm # once (8µs+0s) by DBIx::Class::Storage::DBIHacks::BEGIN@11 at line 11 of DBIx/Class/Storage/DBIHacks.pm # once (8µs+0s) by DBIx::Class::Cursor::BEGIN@4 at line 4 of DBIx/Class/Cursor.pm # once (8µs+0s) by Moose::Meta::TypeConstraint::Union::BEGIN@11 at line 11 of Moose/Meta/TypeConstraint/Union.pm # once (8µs+0s) by Class::MOP::BEGIN@11 at line 11 of Class/MOP.pm # once (8µs+0s) by Class::C3::Componentised::BEGIN@41 at line 41 of Class/C3/Componentised.pm # once (8µs+0s) by Any::Moose::import at line 51 of Any/Moose.pm # once (8µs+0s) by DBIx::Class::ResultSourceProxy::BEGIN@5 at line 5 of DBIx/Class/ResultSourceProxy.pm # once (8µs+0s) by Log::Log4perl::Level::BEGIN@7 at line 7 of Log/Log4perl/Level.pm # once (7µs+0s) by Log::Log4perl::MDC::BEGIN@7 at line 7 of Log/Log4perl/MDC.pm # once (7µs+0s) by String::Escape::BEGIN@10 at line 10 of String/Escape.pm # once (7µs+0s) by Devel::GlobalDestruction::BEGIN@4 at line 4 of Devel/GlobalDestruction.pm # once (7µs+0s) by DateTime::Locale::root::BEGIN@22 at line 22 of DateTime/Locale/root.pm # once (7µs+0s) by Class::Accessor::Grouped::BEGIN@3 at line 3 of Class/Accessor/Grouped.pm # once (7µs+0s) by Package::DeprecationManager::BEGIN@7 at line 7 of Package/DeprecationManager.pm # once (7µs+0s) by DBIx::Class::Storage::BEGIN@4 at line 4 of DBIx/Class/Storage.pm # once (7µs+0s) by Moose::Meta::Method::BEGIN@10 at line 10 of Moose/Meta/Method.pm # once (7µs+0s) by Class::MOP::Mixin::BEGIN@10 at line 10 of Class/MOP/Mixin.pm # once (7µs+0s) by Package::Stash::XS::BEGIN@6 at line 6 of Package/Stash/XS.pm # once (7µs+0s) by DBIx::Class::Exception::BEGIN@4 at line 4 of DBIx/Class/Exception.pm # once (7µs+0s) by Test::Deep::Cache::BEGIN@2 at line 2 of Test/Deep/Cache/Simple.pm # once (7µs+0s) by Class::MOP::Mixin::AttributeCore::BEGIN@10 at line 10 of Class/MOP/Mixin/AttributeCore.pm # once (7µs+0s) by metaclass::BEGIN@11 at line 11 of metaclass.pm # once (7µs+0s) by YAML::Node::BEGIN@2 at line 2 of YAML/Tag.pm # once (7µs+0s) by Eval::Closure::BEGIN@3 at line 3 of Sub/Exporter.pm # once (7µs+0s) by DateTime::BEGIN@9 at line 9 of DateTime.pm # once (7µs+0s) by DateTime::Locale::en::BEGIN@22 at line 22 of DateTime/Locale/en.pm # once (7µs+0s) by Class::C3::BEGIN@5 at line 5 of Class/C3.pm # once (7µs+0s) by Class::MOP::Method::Meta::BEGIN@11 at line 11 of Class/MOP/Method/Meta.pm # once (7µs+0s) by DBIx::Class::PK::BEGIN@4 at line 4 of DBIx/Class/PK.pm # once (7µs+0s) by DBIx::Class::ResultSet::BEGIN@4 at line 4 of DBIx/Class/ResultSet.pm # once (7µs+0s) by DateTime::TimeZone::OffsetOnly::BEGIN@7 at line 7 of DateTime/TimeZone/OffsetOnly.pm # once (7µs+0s) by Eval::Closure::BEGIN@6 at line 6 of Eval/Closure.pm # once (7µs+0s) by namespace::autoclean::BEGIN@2 at line 2 of B/Hooks/EndOfScope.pm # once (7µs+0s) by DateTime::TimeZone::UTC::BEGIN@7 at line 7 of DateTime/TimeZone/UTC.pm # once (7µs+0s) by Compress::Bzip2::BEGIN@17 at line 17 of Compress/Bzip2.pm # once (7µs+0s) by DateTime::Helpers::BEGIN@7 at line 7 of DateTime/Helpers.pm # once (7µs+0s) by Class::MOP::Package::BEGIN@11 at line 11 of Class/MOP/Package.pm # once (7µs+0s) by MooseX::Traits::BEGIN@2.6 at line 2 of namespace/autoclean.pm # once (7µs+0s) by Variable::Magic::BEGIN@6 at line 6 of Variable/Magic.pm # once (7µs+0s) by DBIx::Class::Schema::BEGIN@918 at line 918 of DBIx/Class/Schema.pm # once (6µs+0s) by DBIx::Class::Schema::BEGIN@380 at line 380 of DBIx/Class/Schema.pm {
369 | 2529 | 3.46ms |  |  | shift;
370 |  |  |  |  |
371 |  |  |  |  | my $catmask ;
372 |  |  |  |  | my $fatal = 0 ;
373 |  |  |  |  | my $no_fatal = 0 ;
374 |  |  |  |  |
375 |  |  |  |  | my $mask = ${^WARNING_BITS} ;
376 |  |  |  |  |
377 | 24 | 23µs |  |  | if (vec($mask, $Offsets{'all'}, 1)) {
378 |  |  |  |  | $mask |= $Bits{'all'} ;
379 |  |  |  |  | $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
380 |  |  |  |  | }
381 |  |  |  |  |
382 |  |  |  |  | push @_, 'all' unless @_;
383 |  |  |  |  |
384 |  |  |  |  | foreach my $word ( @_ ) {
385 | 1124 | 1.04ms |  |  | if ($word eq 'FATAL') {
386 |  |  |  |  | $fatal = 1;
387 |  |  |  |  | $no_fatal = 0;
388 |  |  |  |  | }
389 |  |  |  |  | elsif ($word eq 'NONFATAL') {
390 |  |  |  |  | $fatal = 0;
391 |  |  |  |  | $no_fatal = 1;
392 |  |  |  |  | }
393 |  |  |  |  | elsif ($catmask = $Bits{$word}) {
394 |  |  |  |  | $mask |= $catmask ;
395 |  |  |  |  | $mask |= $DeadBits{$word} if $fatal ;
396 |  |  |  |  | $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;
397 |  |  |  |  | }
398 |  |  |  |  | else
399 |  |  |  |  | { Croaker("Unknown warnings category '$word'")}
400 |  |  |  |  | }
401 |  |  |  |  |
402 |  |  |  |  | ${^WARNING_BITS} = $mask ;
403 |  |  |  |  | }
404 |  |  |  |  |
405 |  |  |  |  | sub unimport
406 |  |  |  |  | # spent 670µs within warnings::unimport which was called 50 times, avg 13µs/call: # once (26µs+0s) by Test::More::BEGIN@1255 at line 1255 of Test/More.pm # once (24µs+0s) by Log::Log4perl::BEGIN@488 at line 488 of Log/Log4perl.pm # once (23µs+0s) by Test::Builder::BEGIN@916 at line 916 of Test/Builder.pm # once (22µs+0s) by SQL::Translator::Parser::DBIx::Class::BEGIN@385 at line 385 of SQL/Translator/Parser/DBIx/Class.pm # once (20µs+0s) by YAML::BEGIN@38 at line 38 of YAML.pm # once (20µs+0s) by DBIx::Class::SQLMaker::BEGIN@67 at line 67 of DBIx/Class/SQLMaker.pm # once (19µs+0s) by DBIx::Class::Storage::DBI::BEGIN@110 at line 110 of DBIx/Class/Storage/DBI.pm # once (19µs+0s) by DBIx::Class::Schema::BEGIN@240 at line 240 of DBIx/Class/Schema.pm # once (19µs+0s) by Module::Implementation::BEGIN@114 at line 114 of Module/Implementation.pm # once (19µs+0s) by utf8::BEGIN@383 at line 383 of utf8_heavy.pl # once (19µs+0s) by DBIx::Class::Row::BEGIN@343 at line 343 of DBIx/Class/Row.pm # once (18µs+0s) by namespace::clean::BEGIN@467 at line 467 of namespace/clean.pm # once (18µs+0s) by YAML::Mo::BEGIN@5 at line 5 of YAML/Mo.pm # once (17µs+0s) by Moose::Exporter::BEGIN@133 at line 133 of Moose/Exporter.pm # once (17µs+0s) by SQL::Translator::Schema::Trigger::BEGIN@369 at line 369 of SQL/Translator/Schema/Trigger.pm # once (17µs+0s) by Moose::Util::TypeConstraints::BEGIN@667 at line 667 of Moose/Util/TypeConstraints.pm # once (16µs+0s) by Class::C3::BEGIN@83 at line 83 of Class/C3.pm # once (16µs+0s) by IO::Dir::BEGIN@42 at line 42 of IO/Dir.pm # once (15µs+0s) by Carp::BEGIN@399 at line 399 of Carp.pm # once (15µs+0s) by Kwalify::Validator::BEGIN@121 at line 121 of Kwalify.pm # once (15µs+0s) by Tapper::Config::BEGIN@33 at line 33 of Tapper/Config.pm # once (15µs+0s) by Class::MOP::Package::BEGIN@95 at line 95 of Class/MOP/Package.pm # once (15µs+0s) by DBIx::Class::Relationship::ManyToMany::BEGIN@31 at line 31 of DBIx/Class/Relationship/ManyToMany.pm # once (14µs+0s) by Class::Accessor::Grouped::BEGIN@38 at line 38 of Class/Accessor/Grouped.pm # once (14µs+0s) by Class::Accessor::Grouped::BEGIN@766 at line 766 of Class/Accessor/Grouped.pm # once (14µs+0s) by Exporter::Heavy::BEGIN@197 at line 197 of Exporter/Heavy.pm # once (13µs+0s) by POSIX::BEGIN@40 at line 40 of POSIX.pm # once (13µs+0s) by DBIx::Class::Relationship::Accessor::BEGIN@73 at line 73 of DBIx/Class/Relationship/Accessor.pm # once (11µs+0s) by English::BEGIN@47 at line 47 of English.pm # once (10µs+0s) by Class::XSAccessor::Heavy::BEGIN@30 at line 30 of Class/XSAccessor/Heavy.pm # once (10µs+0s) by DBIx::Class::Relationship::ProxyMethods::BEGIN@26 at line 26 of DBIx/Class/Relationship/ProxyMethods.pm # once (10µs+0s) by Test::Builder::BEGIN@1221 at line 1221 of Test/Builder.pm # once (10µs+0s) by Class::XSAccessor::BEGIN@80 at line 80 of Class/XSAccessor.pm # once (9µs+0s) by Test::More::BEGIN@1621 at line 1621 of Test/More.pm # once (8µs+0s) by DBIx::Class::Schema::BEGIN@378 at line 378 of DBIx/Class/Schema.pm # once (8µs+0s) by DBIx::Class::Schema::BEGIN@916 at line 916 of DBIx/Class/Schema.pm # once (8µs+0s) by Class::Accessor::Grouped::BEGIN@250 at line 250 of Class/Accessor/Grouped.pm # once (8µs+0s) by Test::More::BEGIN@1332 at line 1332 of Test/More.pm # once (8µs+0s) by Log::Log4perl::BEGIN@525 at line 525 of Log/Log4perl.pm # once (8µs+0s) by Class::Accessor::Grouped::BEGIN@793 at line 793 of Class/Accessor/Grouped.pm # once (8µs+0s) by Class::C3::BEGIN@218 at line 218 of Class/C3.pm # once (8µs+0s) by Moose::Util::TypeConstraints::BEGIN@673 at line 673 of Moose/Util/TypeConstraints.pm # once (7µs+0s) by Carp::BEGIN@406 at line 406 of Carp.pm # once (7µs+0s) by MRO::Compat::BEGIN@39 at line 39 of MRO/Compat.pm # once (7µs+0s) by Class::C3::BEGIN@222 at line 222 of Class/C3.pm # once (7µs+0s) by MRO::Compat::BEGIN@226 at line 226 of MRO/Compat.pm # once (7µs+0s) by Kwalify::Validator::BEGIN@142 at line 142 of Kwalify.pm # once (7µs+0s) by Moose::Util::TypeConstraints::BEGIN@694 at line 694 of Moose/Util/TypeConstraints.pm # once (7µs+0s) by Moose::Util::TypeConstraints::BEGIN@678 at line 678 of Moose/Util/TypeConstraints.pm # once (6µs+0s) by DBIx::Class::Schema::BEGIN@943 at line 943 of DBIx/Class/Schema.pm {
407 | 350 | 565µs |  |  | shift;
408 |  |  |  |  |
409 |  |  |  |  | my $catmask ;
410 |  |  |  |  | my $mask = ${^WARNING_BITS} ;
411 |  |  |  |  |
412 | 84 | 79µs |  |  | if (vec($mask, $Offsets{'all'}, 1)) {
413 |  |  |  |  | $mask |= $Bits{'all'} ;
414 |  |  |  |  | $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
415 |  |  |  |  | }
416 |  |  |  |  |
417 |  |  |  |  | push @_, 'all' unless @_;
418 |  |  |  |  |
419 |  |  |  |  | foreach my $word ( @_ ) {
420 | 50 | 203µs |  |  | if ($word eq 'FATAL') {
421 |  |  |  |  | next;
422 |  |  |  |  | }
423 |  |  |  |  | elsif ($catmask = $Bits{$word}) {
424 |  |  |  |  | $mask &= ~($catmask | $DeadBits{$word} | $All);
425 |  |  |  |  | }
426 |  |  |  |  | else
427 |  |  |  |  | { Croaker("Unknown warnings category '$word'")}
428 |  |  |  |  | }
429 |  |  |  |  |
430 |  |  |  |  | ${^WARNING_BITS} = $mask ;
431 |  |  |  |  | }
432 |  |  |  |  |
433 | 2 | 4µs |  |  | my %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = ();
434 |  |  |  |  |
435 |  |  |  |  | sub __chk
436 |  |  |  |  | {
437 |  |  |  |  | my $category ;
438 |  |  |  |  | my $offset ;
439 |  |  |  |  | my $isobj = 0 ;
440 |  |  |  |  |
441 |  |  |  |  | if (@_) {
442 |  |  |  |  | # check the category supplied.
443 |  |  |  |  | $category = shift ;
444 |  |  |  |  | if (my $type = ref $category) {
445 |  |  |  |  | Croaker("not an object")
446 |  |  |  |  | if exists $builtin_type{$type};
447 |  |  |  |  | $category = $type;
448 |  |  |  |  | $isobj = 1 ;
449 |  |  |  |  | }
450 |  |  |  |  | $offset = $Offsets{$category};
451 |  |  |  |  | Croaker("Unknown warnings category '$category'")
452 |  |  |  |  | unless defined $offset;
453 |  |  |  |  | }
454 |  |  |  |  | else {
455 |  |  |  |  | $category = (caller(1))[0] ;
456 |  |  |  |  | $offset = $Offsets{$category};
457 |  |  |  |  | Croaker("package '$category' not registered for warnings")
458 |  |  |  |  | unless defined $offset ;
459 |  |  |  |  | }
460 |  |  |  |  |
461 |  |  |  |  | my $this_pkg = (caller(1))[0] ;
462 |  |  |  |  | my $i = 2 ;
463 |  |  |  |  | my $pkg ;
464 |  |  |  |  |
465 |  |  |  |  | if ($isobj) {
466 |  |  |  |  | while (do { { package DB; $pkg = (caller($i++))[0] } } ) {
467 |  |  |  |  | last unless @DB::args && $DB::args[0] =~ /^$category=/ ;
468 |  |  |  |  | }
469 |  |  |  |  | $i -= 2 ;
470 |  |  |  |  | }
471 |  |  |  |  | else {
472 |  |  |  |  | $i = _error_loc(); # see where Carp will allocate the error
473 |  |  |  |  | }
474 |  |  |  |  |
475 |  |  |  |  | my $callers_bitmask = (caller($i))[9] ;
476 |  |  |  |  | return ($callers_bitmask, $offset, $i) ;
477 |  |  |  |  | }
478 |  |  |  |  |
479 |  |  |  |  | sub _error_loc {
480 |  |  |  |  | require Carp;
481 |  |  |  |  | goto &Carp::short_error_loc; # don't introduce another stack frame
482 |  |  |  |  | }
483 |  |  |  |  |
484 |  |  |  |  | sub enabled
485 |  |  |  |  | {
486 |  |  |  |  | Croaker("Usage: warnings::enabled([category])")
487 |  |  |  |  | unless @_ == 1 || @_ == 0 ;
488 |  |  |  |  |
489 |  |  |  |  | my ($callers_bitmask, $offset, $i) = __chk(@_) ;
490 |  |  |  |  |
491 |  |  |  |  | return 0 unless defined $callers_bitmask ;
492 |  |  |  |  | return vec($callers_bitmask, $offset, 1) ||
493 |  |  |  |  | vec($callers_bitmask, $Offsets{'all'}, 1) ;
494 |  |  |  |  | }
495 |  |  |  |  |
496 |  |  |  |  | sub fatal_enabled
497 |  |  |  |  | {
498 |  |  |  |  | Croaker("Usage: warnings::fatal_enabled([category])")
499 |  |  |  |  | unless @_ == 1 || @_ == 0 ;
500 |  |  |  |  |
501 |  |  |  |  | my ($callers_bitmask, $offset, $i) = __chk(@_) ;
502 |  |  |  |  |
503 |  |  |  |  | return 0 unless defined $callers_bitmask;
504 |  |  |  |  | return vec($callers_bitmask, $offset + 1, 1) ||
505 |  |  |  |  | vec($callers_bitmask, $Offsets{'all'} + 1, 1) ;
506 |  |  |  |  | }
507 |  |  |  |  |
508 |  |  |  |  | sub warn
509 |  |  |  |  | {
510 |  |  |  |  | Croaker("Usage: warnings::warn([category,] 'message')")
511 |  |  |  |  | unless @_ == 2 || @_ == 1 ;
512 |  |  |  |  |
513 |  |  |  |  | my $message = pop ;
514 |  |  |  |  | my ($callers_bitmask, $offset, $i) = __chk(@_) ;
515 |  |  |  |  | require Carp;
516 |  |  |  |  | Carp::croak($message)
517 |  |  |  |  | if vec($callers_bitmask, $offset+1, 1) ||
518 |  |  |  |  | vec($callers_bitmask, $Offsets{'all'}+1, 1) ;
519 |  |  |  |  | Carp::carp($message) ;
520 |  |  |  |  | }
521 |  |  |  |  |
522 |  |  |  |  | sub warnif
523 |  |  |  |  | {
524 |  |  |  |  | Croaker("Usage: warnings::warnif([category,] 'message')")
525 |  |  |  |  | unless @_ == 2 || @_ == 1 ;
526 |  |  |  |  |
527 |  |  |  |  | my $message = pop ;
528 |  |  |  |  | my ($callers_bitmask, $offset, $i) = __chk(@_) ;
529 |  |  |  |  |
530 |  |  |  |  | return
531 |  |  |  |  | unless defined $callers_bitmask &&
532 |  |  |  |  | (vec($callers_bitmask, $offset, 1) ||
533 |  |  |  |  | vec($callers_bitmask, $Offsets{'all'}, 1)) ;
534 |  |  |  |  |
535 |  |  |  |  | require Carp;
536 |  |  |  |  | Carp::croak($message)
537 |  |  |  |  | if vec($callers_bitmask, $offset+1, 1) ||
538 |  |  |  |  | vec($callers_bitmask, $Offsets{'all'}+1, 1) ;
539 |  |  |  |  |
540 |  |  |  |  | Carp::carp($message) ;
541 |  |  |  |  | }
542 |  |  |  |  |
543 | 1 | 47µs |  |  | 1;
544 |  |  |  |  | # ex: set ro:
|  |  |  |  | # spent 2µs within warnings::CORE:match which was called: # once (2µs+0s) by main::BEGIN@4 at line 13 sub warnings::CORE:match; # opcode
|  |  |  |  | # spent 16µs within warnings::CORE:regcomp which was called: # once (16µs+0s) by main::BEGIN@4 at line 13 sub warnings::CORE:regcomp; # opcode