← Index
NYTProf Performance Profile   « block view • line view • sub view »
For /usr/bin/epoll_server.pl
  Run on Wed Jan 5 05:34:33 2011
Reported on Wed Jan 5 05:36:14 2011

File /usr/lib/perl5/5.10.1/warnings.pm
Statements Executed 5198
Statement Execution Time 31.7ms
Subroutines — ordered by exclusive time
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
25818518117.5ms17.5mswarnings::::importwarnings::import
35114.79ms24.4mswarnings::::__chkwarnings::__chk
6060373.87ms3.87mswarnings::::unimportwarnings::unimport
3511920µs25.3mswarnings::::enabledwarnings::enabled
3511387µs387µswarnings::::_error_locwarnings::_error_loc
11244µs44µswarnings::::CORE:regcompwarnings::CORE:regcomp (opcode)
11214µs14µswarnings::::CORE:matchwarnings::CORE:match (opcode)
0000s0swarnings::::Croakerwarnings::Croaker
0000s0swarnings::::bitswarnings::bits
0000s0swarnings::::warnwarnings::warn
0000s0swarnings::::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
7package warnings;
8
913µsour $VERSION = '1.06';
10
11# Verify that we're called correctly so that warnings will work.
12# see also strict.pm.
13194µs258µsunless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) {
# spent 44µs making 1 call to warnings::CORE:regcomp # spent 14µ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
20warnings - 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
49The C<warnings> pragma is a replacement for the command line flag C<-w>,
50but the pragma is limited to the enclosing block, while the flag is global.
51See L<perllexwarn> for more information.
52
53If no import list is supplied, all possible warnings are either enabled
54or disabled.
55
56A number of functions are provided to assist module authors.
57
58=over 4
59
60=item use warnings::register
61
62Creates a new warnings category with the same name as the package where
63the call to the pragma is used.
64
65=item warnings::enabled()
66
67Use the warnings category with the same name as the current package.
68
69Return TRUE if that warnings category is enabled in the calling module.
70Otherwise returns FALSE.
71
72=item warnings::enabled($category)
73
74Return TRUE if the warnings category, C<$category>, is enabled in the
75calling module.
76Otherwise returns FALSE.
77
78=item warnings::enabled($object)
79
80Use the name of the class for the object reference, C<$object>, as the
81warnings category.
82
83Return TRUE if that warnings category is enabled in the first scope
84where the object is used.
85Otherwise returns FALSE.
86
87=item warnings::warn($message)
88
89Print C<$message> to STDERR.
90
91Use the warnings category with the same name as the current package.
92
93If that warnings category has been set to "FATAL" in the calling module
94then die. Otherwise return.
95
96=item warnings::warn($category, $message)
97
98Print C<$message> to STDERR.
99
100If the warnings category, C<$category>, has been set to "FATAL" in the
101calling module then die. Otherwise return.
102
103=item warnings::warn($object, $message)
104
105Print C<$message> to STDERR.
106
107Use the name of the class for the object reference, C<$object>, as the
108warnings category.
109
110If that warnings category has been set to "FATAL" in the scope where C<$object>
111is first used then die. Otherwise return.
112
113
114=item warnings::warnif($message)
115
116Equivalent to:
117
118 if (warnings::enabled())
119 { warnings::warn($message) }
120
121=item warnings::warnif($category, $message)
122
123Equivalent to:
124
125 if (warnings::enabled($category))
126 { warnings::warn($category, $message) }
127
128=item warnings::warnif($object, $message)
129
130Equivalent to:
131
132 if (warnings::enabled($object))
133 { warnings::warn($object, $message) }
134
135=back
136
137See L<perlmodlib/Pragmatic Modules> and L<perllexwarn>.
138
139=cut
140
141143µsour %Offsets = (
142
143 # Warnings Categories added in Perl 5.008
144
145 'all' => 0,
146 'closure' => 2,
147 'deprecated' => 4,
148 'exiting' => 6,
149 'glob' => 8,
150 'io' => 10,
151 'closed' => 12,
152 'exec' => 14,
153 'layer' => 16,
154 'newline' => 18,
155 'pipe' => 20,
156 'unopened' => 22,
157 'misc' => 24,
158 'numeric' => 26,
159 'once' => 28,
160 'overflow' => 30,
161 'pack' => 32,
162 'portable' => 34,
163 'recursion' => 36,
164 'redefine' => 38,
165 'regexp' => 40,
166 'severe' => 42,
167 'debugging' => 44,
168 'inplace' => 46,
169 'internal' => 48,
170 'malloc' => 50,
171 'signal' => 52,
172 'substr' => 54,
173 'syntax' => 56,
174 'ambiguous' => 58,
175 'bareword' => 60,
176 'digit' => 62,
177 'parenthesis' => 64,
178 'precedence' => 66,
179 'printf' => 68,
180 'prototype' => 70,
181 'qw' => 72,
182 'reserved' => 74,
183 'semicolon' => 76,
184 'taint' => 78,
185 'threads' => 80,
186 'uninitialized' => 82,
187 'unpack' => 84,
188 'untie' => 86,
189 'utf8' => 88,
190 'void' => 90,
191 );
192
193145µsour %Bits = (
194 'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x05", # [0..45]
195 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [29]
196 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [30]
197 'closed' => "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
198 'closure' => "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
199 'debugging' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [22]
200 'deprecated' => "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
201 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [31]
202 'exec' => "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
203 'exiting' => "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
204 'glob' => "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
205 'inplace' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [23]
206 'internal' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [24]
207 'io' => "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
208 'layer' => "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
209 'malloc' => "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [25]
210 'misc' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
211 'newline' => "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
212 'numeric' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
213 'once' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
214 'overflow' => "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
215 'pack' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [16]
216 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [32]
217 'pipe' => "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
218 'portable' => "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [17]
219 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [33]
220 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [34]
221 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [35]
222 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [36]
223 'recursion' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [18]
224 'redefine' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [19]
225 'regexp' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [20]
226 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [37]
227 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [38]
228 'severe' => "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00", # [21..25]
229 'signal' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [26]
230 'substr' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [27]
231 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x00", # [28..38]
232 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [39]
233 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [40]
234 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [41]
235 'unopened' => "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
236 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [42]
237 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [43]
238 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [44]
239 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [45]
240 );
241
242191µsour %DeadBits = (
243 'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\x0a", # [0..45]
244 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [29]
245 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [30]
246 'closed' => "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
247 'closure' => "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
248 'debugging' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [22]
249 'deprecated' => "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
250 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [31]
251 'exec' => "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
252 'exiting' => "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
253 'glob' => "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
254 'inplace' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [23]
255 'internal' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [24]
256 'io' => "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
257 'layer' => "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
258 'malloc' => "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [25]
259 'misc' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
260 'newline' => "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
261 'numeric' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
262 'once' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
263 'overflow' => "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
264 'pack' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [16]
265 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [32]
266 'pipe' => "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
267 'portable' => "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [17]
268 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [33]
269 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [34]
270 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [35]
271 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [36]
272 'recursion' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [18]
273 'redefine' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [19]
274 'regexp' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [20]
275 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [37]
276 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [38]
277 'severe' => "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00", # [21..25]
278 'signal' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [26]
279 'substr' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [27]
280 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x00", # [28..38]
281 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [39]
282 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [40]
283 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [41]
284 'unopened' => "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
285 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [42]
286 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [43]
287 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [44]
288 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [45]
289 );
290
29112µs$NONE = "\0\0\0\0\0\0\0\0\0\0\0\0";
29211µs$LAST_BIT = 92 ;
29311µs$BYTES = 12 ;
294
2952174µs$All = "" ; vec($All, $Offsets{'all'}, 2) = 3 ;
296
297sub Croaker
298{
299 require Carp::Heavy; # this initializes %CarpInternal
300 local $Carp::CarpInternal{'warnings'};
301 delete $Carp::CarpInternal{'warnings'};
302 Carp::croak(@_);
303}
304
305sub bits
306{
307 # called from B::Deparse.pm
308
309 push @_, 'all' unless @_;
310
311 my $mask;
312 my $catmask ;
313 my $fatal = 0 ;
314 my $no_fatal = 0 ;
315
316 foreach my $word ( @_ ) {
317 if ($word eq 'FATAL') {
318 $fatal = 1;
319 $no_fatal = 0;
320 }
321 elsif ($word eq 'NONFATAL') {
322 $fatal = 0;
323 $no_fatal = 1;
324 }
325 elsif ($catmask = $Bits{$word}) {
326 $mask |= $catmask ;
327 $mask |= $DeadBits{$word} if $fatal ;
328 $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;
329 }
330 else
331 { Croaker("Unknown warnings category '$word'")}
332 }
333
334 return $mask ;
335}
336
337sub import
338
# spent 17.5ms within warnings::import which was called 258 times, avg 68µs/call: # 68 times (3.90ms+0s) by Moose::Exporter::__ANON__[/usr/lib/perl5/vendor_perl/5.10.1/i386-linux-thread-multi/Moose/Exporter.pm:389] at line 345 of Moose/Exporter.pm, avg 57µs/call # 7 times (598µs+0s) by Moose::Exporter::import at line 567 of Moose/Exporter.pm, avg 85µs/call # once (967µs+0s) by Moose::Meta::Method::Overridden::BEGIN@4 at line 4 of Moose/Meta/Method/Overridden.pm # once (348µs+0s) by IO::Compress::Base::Common::BEGIN@4 at line 4 of IO/Compress/Base/Common.pm # once (230µs+0s) by Encode::Alias::BEGIN@3 at line 3 of Encode/Alias.pm # once (189µs+0s) by Moose::Meta::Attribute::BEGIN@5 at line 5 of Moose/Meta/Attribute.pm # once (175µs+0s) by Moose::Meta::TypeCoercion::BEGIN@5 at line 5 of Moose/Meta/TypeCoercion.pm # once (170µs+0s) by Moose::Meta::Role::Application::BEGIN@4 at line 4 of Moose/Meta/Role/Application.pm # once (166µs+0s) by Catalyst::Plugin::Session::Store::BEGIN@6 at line 6 of Catalyst/Plugin/Session/Store.pm # once (166µs+0s) by metaclass::BEGIN@5 at line 5 of metaclass.pm # once (140µs+0s) by MRO::Compat::BEGIN@3 at line 3 of MRO/Compat.pm # once (129µs+0s) by Moose::Meta::Role::Application::RoleSummation::BEGIN@4 at line 4 of Moose/Meta/Role/Application/RoleSummation.pm # once (122µs+0s) by Epoll::BEGIN@4 at line 4 of Epoll.pm # once (121µs+0s) by Epoll::DB::BEGIN@6 at line 6 of Epoll/DB.pm # once (121µs+0s) by re::BEGIN@5 at line 5 of re.pm # once (118µs+0s) by Moose::Meta::Role::Application::ToClass::BEGIN@4 at line 4 of Moose/Meta/Role/Application/ToClass.pm # once (118µs+0s) by Template::Config::BEGIN@22 at line 22 of Template/Config.pm # once (115µs+0s) by Class::MOP::Mixin::HasAttributes::BEGIN@4 at line 4 of Class/MOP/Mixin/HasAttributes.pm # once (115µs+0s) by IO::Uncompress::Base::BEGIN@5 at line 5 of IO/Uncompress/Base.pm # once (112µs+0s) by Class::MOP::Instance::BEGIN@5 at line 5 of Class/MOP/Instance.pm # once (111µs+0s) by Moose::Meta::Method::Delegation::BEGIN@5 at line 5 of Moose/Meta/Method/Delegation.pm # once (109µs+0s) by Moose::Meta::Method::Augmented::BEGIN@4 at line 4 of Moose/Meta/Method/Augmented.pm # once (106µs+0s) by IO::Uncompress::Gunzip::BEGIN@9 at line 9 of IO/Uncompress/Gunzip.pm # once (102µs+0s) by Data::OptList::BEGIN@4 at line 4 of Data/OptList.pm # once (101µs+0s) by mro::BEGIN@11 at line 11 of mro.pm # once (97µs+0s) by Moose::BEGIN@3 at line 3 of Moose.pm # once (84µs+0s) by Moose::Meta::Mixin::AttributeCore::BEGIN@4 at line 4 of Moose/Meta/Mixin/AttributeCore.pm # once (74µs+0s) by Class::MOP::Class::Immutable::Trait::BEGIN@4 at line 4 of Class/MOP/Class/Immutable/Trait.pm # once (70µs+0s) by MooseX::Types::import at line 336 of MooseX/Types.pm # once (69µs+0s) by Devel::GlobalDestruction::BEGIN@6 at line 6 of Devel/GlobalDestruction.pm # once (69µs+0s) by Epoll::View::Ajax::BEGIN@4 at line 4 of Epoll/View/Ajax.pm # once (68µs+0s) by Class::MOP::Class::BEGIN@5 at line 5 of Class/MOP/Class.pm # once (67µs+0s) by Class::MOP::Module::BEGIN@5 at line 5 of Class/MOP/Module.pm # once (66µs+0s) by Epoll::DB::Poll::Type::Binary::BEGIN@6 at line 6 of Epoll/DB/Poll/Type/Binary.pm # once (66µs+0s) by Template::Iterator::BEGIN@25 at line 25 of Template/Iterator.pm # once (65µs+0s) by Template::Service::BEGIN@24 at line 24 of Template/Service.pm # once (65µs+0s) by Class::MOP::Package::BEGIN@5 at line 5 of Class/MOP/Package.pm # once (65µs+0s) by File::stat::BEGIN@5 at line 5 of File/stat.pm # once (65µs+0s) by Class::MOP::Method::Constructor::BEGIN@5 at line 5 of Class/MOP/Method/Constructor.pm # once (65µs+0s) by Moose::Meta::Class::BEGIN@5 at line 5 of Moose/Meta/Class.pm # once (65µs+0s) by Moose::Util::BEGIN@4 at line 4 of Moose/Util.pm # once (64µs+0s) by Devel::StackTrace::BEGIN@6 at line 6 of Devel/StackTrace.pm # once (64µs+0s) by Epoll::Controller::Ballot::BEGIN@4 at line 4 of Epoll/Controller/Ballot.pm # once (64µs+0s) by utf8::BEGIN@3 at line 3 of utf8_heavy.pl # once (63µs+0s) by POSIX::BEGIN@3 at line 3 of POSIX.pm # once (63µs+0s) by IO::Compress::Adapter::Deflate::BEGIN@4 at line 4 of IO/Compress/Adapter/Deflate.pm # once (63µs+0s) by Template::Parser::BEGIN@36 at line 36 of Template/Parser.pm # once (63µs+0s) by Moose::Meta::Method::Destructor::BEGIN@5 at line 5 of Moose/Meta/Method/Destructor.pm # once (62µs+0s) by Template::Timer::BEGIN@3 at line 3 of Template/Timer.pm # once (62µs+0s) by Moose::Meta::TypeConstraint::Registry::BEGIN@5 at line 5 of Moose/Meta/TypeConstraint/Registry.pm # once (62µs+0s) by Catalyst::Devel::BEGIN@4 at line 4 of Catalyst/Devel.pm # once (62µs+0s) by Moose::Meta::TypeConstraint::DuckType::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/DuckType.pm # once (62µs+0s) by File::Compare::BEGIN@5 at line 5 of File/Compare.pm # once (62µs+0s) by LaTeX::Driver::BEGIN@30 at line 30 of LaTeX/Driver.pm # once (61µs+0s) by Epoll::Controller::Vote::BEGIN@4 at line 4 of Epoll/Controller/Vote.pm # once (61µs+0s) by Moose::Meta::Role::Composite::BEGIN@4 at line 4 of Moose/Meta/Role/Composite.pm # once (61µs+0s) by Template::Plugins::BEGIN@27 at line 27 of Template/Plugins.pm # once (61µs+0s) by DBI::_firesafe::BEGIN@14 at line 14 of DBD/Pg.pm # once (61µs+0s) by Catalyst::Utils::BEGIN@2 at line 2 of String/RewritePrefix.pm # once (61µs+0s) by Moose::Meta::Instance::BEGIN@5 at line 5 of Moose/Meta/Instance.pm # once (61µs+0s) by Catalyst::Component::BEGIN@2 at line 2 of Class/C3/Adopt/NEXT.pm # once (61µs+0s) by IO::Compress::Base::Common::BEGIN@502 at line 502 of IO/Compress/Base/Common.pm # once (61µs+0s) by IO::Uncompress::Adapter::Inflate::BEGIN@4 at line 4 of IO/Uncompress/Adapter/Inflate.pm # once (61µs+0s) by Template::BEGIN@23 at line 23 of Template.pm # once (61µs+0s) by Moose::Util::MetaRole::BEGIN@4 at line 4 of Moose/Util/MetaRole.pm # once (61µs+0s) by File::Copy::BEGIN@12 at line 12 of File/Copy.pm # once (61µs+0s) by IO::BEGIN@8 at line 8 of IO.pm # once (61µs+0s) by main::BEGIN@13 at line 13 of /usr/bin/epoll_server.pl # once (60µs+0s) by Catalyst::View::TT::BEGIN@4 at line 4 of Catalyst/View/TT.pm # once (60µs+0s) by Catalyst::Runtime::BEGIN@4 at line 4 of Catalyst/Runtime.pm # once (60µs+0s) by Template::Filters::BEGIN@23 at line 23 of Template/Filters.pm # once (60µs+0s) by Class::MOP::Deprecated::BEGIN@4 at line 4 of Class/MOP/Deprecated.pm # once (60µs+0s) by Encode::BEGIN@6 at line 6 of Encode.pm # once (60µs+0s) by Moose::Meta::TypeConstraint::BEGIN@5 at line 5 of Moose/Meta/TypeConstraint.pm # once (60µs+0s) by Catalyst::Plugin::Session::State::BEGIN@6 at line 6 of Catalyst/Plugin/Session/State.pm # once (60µs+0s) by Config::Any::INI::BEGIN@4 at line 4 of Config/Any/INI.pm # once (60µs+0s) by Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@4 at line 4 of Moose/Util/TypeConstraints/OptimizedConstraints.pm # once (60µs+0s) by Class::MOP::Attribute::BEGIN@5 at line 5 of Class/MOP/Attribute.pm # once (60µs+0s) by YAML::XS::LibYAML::BEGIN@4 at line 4 of YAML/XS/LibYAML.pm # once (60µs+0s) by Moose::Meta::TypeConstraint::Class::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Class.pm # once (59µs+0s) by Encode::Config::BEGIN@8 at line 8 of Encode/Config.pm # once (59µs+0s) by Sub::Install::BEGIN@3 at line 3 of Sub/Install.pm # once (59µs+0s) by Catalyst::Plugin::Session::Store::DBI::BEGIN@4 at line 4 of Catalyst/Plugin/Session/Store/DBI.pm # once (59µs+0s) by Compress::Raw::Zlib::BEGIN@12 at line 12 of Compress/Raw/Zlib.pm # once (59µs+0s) by MooseX::MethodAttributes::Role::Meta::Role::BEGIN@2 at line 2 of MooseX/MethodAttributes.pm # once (59µs+0s) by Template::Stash::XS::BEGIN@15 at line 15 of Template/Stash/XS.pm # once (59µs+0s) by namespace::clean::BEGIN@9 at line 9 of namespace/clean.pm # once (59µs+0s) by IO::Compress::Zlib::Extra::BEGIN@6 at line 6 of IO/Compress/Zlib/Extra.pm # once (59µs+0s) by Epoll::Controller::Admin::BEGIN@4 at line 4 of Epoll/Controller/Admin.pm # once (58µs+0s) by Devel::StackTraceFrame::BEGIN@245 at line 245 of Devel/StackTrace.pm # once (58µs+0s) by Moose::Error::Default::BEGIN@4 at line 4 of Moose/Error/Default.pm # once (58µs+0s) by Class::MOP::Method::Accessor::BEGIN@5 at line 5 of Class/MOP/Method/Accessor.pm # once (58µs+0s) by Epoll::Controller::Newpoll::BEGIN@4 at line 4 of Epoll/Controller/Newpoll.pm # once (58µs+0s) by Epoll::DB::Ballot::BEGIN@6 at line 6 of Epoll/DB/Ballot.pm # once (58µs+0s) by IO::Compress::Gzip::BEGIN@7 at line 7 of IO/Compress/Gzip.pm # once (58µs+0s) by MooseX::Role::WithOverloading::Meta::Role::Application::Composite::ToClass::BEGIN@2 at line 2 of namespace/autoclean.pm # once (58µs+0s) by Moose::Meta::Role::Application::ToRole::BEGIN@4 at line 4 of Moose/Meta/Role/Application/ToRole.pm # once (58µs+0s) by Catalyst::Plugin::ConfigLoader::BEGIN@4 at line 4 of Catalyst/Plugin/ConfigLoader.pm # once (58µs+0s) by Moose::Meta::TypeConstraint::Parameterized::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Parameterized.pm # once (58µs+0s) by YAML::Tag::BEGIN@4 at line 4 of YAML/Tag.pm # once (58µs+0s) by Config::Any::Base::BEGIN@4 at line 4 of Config/Any/Base.pm # once (58µs+0s) by Moose::Meta::TypeConstraint::Role::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Role.pm # once (58µs+0s) by LaTeX::Driver::Paths::BEGIN@27 at line 27 of LaTeX/Driver/Paths.pm # once (58µs+0s) by Moose::Meta::TypeConstraint::Enum::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Enum.pm # once (58µs+0s) by Template::Grammar::BEGIN@34 at line 34 of Template/Grammar.pm # once (58µs+0s) by Compress::Zlib::BEGIN@17 at line 17 of Compress/Zlib.pm # once (58µs+0s) by Moose::Exporter::BEGIN@4 at line 4 of Moose/Exporter.pm # once (58µs+0s) by Moose::Object::BEGIN@5 at line 5 of Moose/Object.pm # once (58µs+0s) by IO::Compress::Gzip::Constants::BEGIN@4 at line 4 of IO/Compress/Gzip/Constants.pm # once (57µs+0s) by Epoll::DB::Poll::BSubmit::BEGIN@6 at line 6 of Epoll/DB/Poll/BSubmit.pm # once (57µs+0s) by MooseX::Types::TypeDecorator::BEGIN@5 at line 5 of MooseX/Types/TypeDecorator.pm # once (57µs+0s) by Config::Any::XML::BEGIN@4 at line 4 of Config/Any/XML.pm # once (57µs+0s) by Class::MOP::BEGIN@5 at line 5 of Class/MOP.pm # once (57µs+0s) by Config::Any::Perl::BEGIN@4 at line 4 of Config/Any/Perl.pm # once (56µs+0s) by Moose::Meta::Role::BEGIN@5 at line 5 of Moose/Meta/Role.pm # once (56µs+0s) by Epoll::Model::Vote::BEGIN@4 at line 4 of Epoll/Model/Vote.pm # once (56µs+0s) by MooseX::Types::Moose::BEGIN@10 at line 10 of MooseX/Types/Moose.pm # once (56µs+0s) by Moose::Meta::TypeCoercion::Union::BEGIN@5 at line 5 of Moose/Meta/TypeCoercion/Union.pm # once (56µs+0s) by Exception::Class::Base::BEGIN@4 at line 4 of Exception/Class/Base.pm # once (56µs+0s) by Config::Any::General::BEGIN@4 at line 4 of Config/Any/General.pm # once (56µs+0s) by Epoll::DB::Poll::BEGIN@6 at line 6 of Epoll/DB/Poll.pm # once (56µs+0s) by YAML::Node::BEGIN@4 at line 4 of YAML/Node.pm # once (56µs+0s) by Encode::Encoding::BEGIN@5 at line 5 of Encode/Encoding.pm # once (56µs+0s) by Class::MOP::Mixin::AttributeCore::BEGIN@4 at line 4 of Class/MOP/Mixin/AttributeCore.pm # once (55µs+0s) by Config::Any::YAML::BEGIN@4 at line 4 of Config/Any/YAML.pm # once (55µs+0s) by MooseX::MethodAttributes::Role::Meta::Role::BEGIN@2 at line 2 of MooseX/MethodAttributes/Role.pm # once (55µs+0s) by Class::MOP::Object::BEGIN@5 at line 5 of Class/MOP/Object.pm # once (55µs+0s) by Class::MOP::Method::Wrapped::BEGIN@5 at line 5 of Class/MOP/Method/Wrapped.pm # once (55µs+0s) by namespace::clean::BEGIN@2 at line 2 of B/Hooks/EndOfScope.pm # once (55µs+0s) by Template::Document::BEGIN@25 at line 25 of Template/Document.pm # once (55µs+0s) by Epoll::DB::Voting::BEGIN@6 at line 6 of Epoll/DB/Voting.pm # once (54µs+0s) by Template::Provider::BEGIN@42 at line 42 of Template/Provider.pm # once (54µs+0s) by Moose::Meta::TypeConstraint::Union::BEGIN@5 at line 5 of Moose/Meta/TypeConstraint/Union.pm # once (54µs+0s) by Moose::Meta::TypeConstraint::Parameterizable::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Parameterizable.pm # once (54µs+0s) by Config::YAML::BEGIN@5 at line 5 of Config/YAML.pm # once (54µs+0s) by Moose::Meta::Method::Accessor::BEGIN@5 at line 5 of Moose/Meta/Method/Accessor.pm # once (53µs+0s) by Class::MOP::Mixin::HasMethods::BEGIN@4 at line 4 of Class/MOP/Mixin/HasMethods.pm # once (53µs+0s) by Moose::Meta::Class::Immutable::Trait::BEGIN@4 at line 4 of Moose/Meta/Class/Immutable/Trait.pm # once (53µs+0s) by Moose::Meta::Role::Application::ToInstance::BEGIN@4 at line 4 of Moose/Meta/Role/Application/ToInstance.pm # once (53µs+0s) by Class::MOP::Mixin::BEGIN@4 at line 4 of Class/MOP/Mixin.pm # once (53µs+0s) by YAML::Base::BEGIN@4 at line 4 of YAML/Base.pm # once (52µs+0s) by Epoll::DB::Choice::BEGIN@6 at line 6 of Epoll/DB/Choice.pm # once (52µs+0s) by Devel::GlobalDestruction::BEGIN@3 at line 3 of Sub/Exporter.pm # once (52µs+0s) by Config::Any::JSON::BEGIN@4 at line 4 of Config/Any/JSON.pm # once (52µs+0s) by File::GlobMapper::BEGIN@4 at line 4 of File/GlobMapper.pm # once (52µs+0s) by Class::MOP::Method::Inlined::BEGIN@4 at line 4 of Class/MOP/Method/Inlined.pm # once (52µs+0s) by Moose::Meta::Method::BEGIN@4 at line 4 of Moose/Meta/Method.pm # once (52µs+0s) by Template::Context::BEGIN@24 at line 24 of Template/Context.pm # once (52µs+0s) by Moose::Meta::Method::Constructor::BEGIN@5 at line 5 of Moose/Meta/Method/Constructor.pm # once (51µs+0s) by Epoll::DB::ImportV::BEGIN@4 at line 4 of Epoll/DB/ImportV.pm # once (51µs+0s) by Template::Base::BEGIN@23 at line 23 of Template/Base.pm # once (51µs+0s) by Class::MOP::Method::Generated::BEGIN@5 at line 5 of Class/MOP/Method/Generated.pm # once (51µs+0s) by Template::Constants::BEGIN@23 at line 23 of Template/Constants.pm # once (51µs+0s) by Template::Stash::BEGIN@23 at line 23 of Template/Stash.pm # once (51µs+0s) by IO::Compress::Base::BEGIN@7 at line 7 of IO/Compress/Base.pm # once (51µs+0s) by IO::Compress::RawDeflate::BEGIN@6 at line 6 of IO/Compress/RawDeflate.pm # once (51µs+0s) by Template::Exception::BEGIN@23 at line 23 of Template/Exception.pm # once (51µs+0s) by Variable::Magic::BEGIN@6 at line 6 of Variable/Magic.pm # once (51µs+0s) by Epoll::DB::Poll::Bdata::BEGIN@6 at line 6 of Epoll/DB/Poll/Bdata.pm # once (51µs+0s) by Template::Directive::BEGIN@30 at line 30 of Template/Directive.pm # once (51µs+0s) by Epoll::DB::common::BEGIN@6 at line 6 of Epoll/DB/common.pm # once (51µs+0s) by Sub::Name::BEGIN@45 at line 45 of Sub/Name.pm # once (50µs+0s) by Class::MOP::Method::BEGIN@5 at line 5 of Class/MOP/Method.pm # once (50µs+0s) by IO::Uncompress::RawInflate::BEGIN@5 at line 5 of IO/Uncompress/RawInflate.pm # once (50µs+0s) by Template::VMethods::BEGIN@25 at line 25 of Template/VMethods.pm # once (50µs+0s) by Config::Any::BEGIN@4 at line 4 of Config/Any.pm # once (50µs+0s) by YAML::BEGIN@5 at line 5 of YAML.pm # once (46µs+0s) by Moose::Meta::Role::Attribute::BEGIN@4 at line 4 of Moose/Meta/Role/Attribute.pm # once (41µs+0s) by File::Find::BEGIN@4 at line 4 of File/Find.pm # once (36µs+0s) by Text::SimpleTable::BEGIN@6 at line 6 of Text/SimpleTable.pm # once (36µs+0s) by MooseX::Types::UndefinedType::BEGIN@10 at line 10 of MooseX/Types/UndefinedType.pm # once (36µs+0s) by File::Basename::BEGIN@52 at line 52 of File/Basename.pm # once (35µs+0s) by Tree::Simple::Visitor::FindByPath::BEGIN@5 at line 5 of Tree/Simple/Visitor/FindByPath.pm # once (35µs+0s) by Catalyst::Plugin::I18N::BEGIN@4 at line 4 of Catalyst/Plugin/I18N.pm # once (33µs+0s) by Moose::Role::BEGIN@3 at line 3 of Moose/Role.pm # once (32µs+0s) by Moose::Meta::Role::Method::BEGIN@5 at line 5 of Moose/Meta/Role/Method.pm # once (32µs+0s) by Tree::Simple::Visitor::FindByUID::BEGIN@5 at line 5 of Tree/Simple/Visitor/FindByUID.pm # once (31µs+0s) by MooseX::Types::Util::BEGIN@10 at line 10 of MooseX/Types/Util.pm # once (30µs+0s) by Epoll::Controller::Root::BEGIN@4 at line 4 of Epoll/Controller/Root.pm # once (29µs+0s) by Epoll::Controller::Ajax::BEGIN@4 at line 4 of Epoll/Controller/Ajax.pm # once (29µs+0s) by Tree::Simple::BEGIN@7 at line 7 of Tree/Simple.pm # once (28µs+0s) by Moose::Meta::Role::Method::Conflicting::BEGIN@5 at line 5 of Moose/Meta/Role/Method/Conflicting.pm # once (27µs+0s) by Tree::Simple::Visitor::BEGIN@5 at line 5 of Tree/Simple/Visitor.pm # once (26µs+0s) by MooseX::Types::CheckedUtilExports::BEGIN@12 at line 12 of MooseX/Types/CheckedUtilExports.pm # once (24µs+0s) by Moose::Meta::Role::Method::Required::BEGIN@5 at line 5 of Moose/Meta/Role/Method/Required.pm
{
339387020.3ms shift;
340
341 my $catmask ;
342 my $fatal = 0 ;
343 my $no_fatal = 0 ;
344
345 my $mask = ${^WARNING_BITS} ;
346
347 if (vec($mask, $Offsets{'all'}, 1)) {
348 $mask |= $Bits{'all'} ;
349 $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
350 }
351
352 push @_, 'all' unless @_;
353
354 foreach my $word ( @_ ) {
355 if ($word eq 'FATAL') {
356 $fatal = 1;
357 $no_fatal = 0;
358 }
359 elsif ($word eq 'NONFATAL') {
360 $fatal = 0;
361 $no_fatal = 1;
362 }
363 elsif ($catmask = $Bits{$word}) {
364 $mask |= $catmask ;
365 $mask |= $DeadBits{$word} if $fatal ;
366 $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;
367 }
368 else
369 { Croaker("Unknown warnings category '$word'")}
370 }
371
372 ${^WARNING_BITS} = $mask ;
373}
374
375sub unimport
376
# spent 3.87ms within warnings::unimport which was called 60 times, avg 65µs/call: # once (226µs+0s) by MRO::Compat::BEGIN@226 at line 226 of MRO/Compat.pm # once (206µs+0s) by Data::Visitor::Callback::BEGIN@8 at line 8 of (eval 0)[Data/Visitor/Callback.pm:195] at line 195 of Data/Visitor/Callback.pm # once (158µs+0s) by Catalyst::Engine::BEGIN@49 at line 49 of Catalyst/Engine.pm # once (122µs+0s) by Class::MOP::Package::BEGIN@146 at line 146 of Class/MOP/Package.pm # once (117µs+0s) by Catalyst::Dispatcher::BEGIN@256 at line 256 of Catalyst/Dispatcher.pm # once (114µs+0s) by Moose::Object::BEGIN@98 at line 98 of Moose/Object.pm # once (108µs+0s) by namespace::clean::BEGIN@383 at line 383 of namespace/clean.pm # once (106µs+0s) by B::Deparse::BEGIN@3338 at line 3338 of B/Deparse.pm # once (104µs+0s) by Class::MOP::Class::BEGIN@244 at line 244 of Class/MOP/Class.pm # once (93µs+0s) by Template::VMethods::BEGIN@110 at line 110 of Template/VMethods.pm # once (92µs+0s) by Template::VMethods::BEGIN@406 at line 406 of Template/VMethods.pm # once (87µs+0s) by MRO::Compat::BEGIN@39 at line 39 of MRO/Compat.pm # once (82µs+0s) by Template::VMethods::BEGIN@412 at line 412 of Template/VMethods.pm # once (81µs+0s) by utf8::BEGIN@211 at line 211 of utf8_heavy.pl # once (71µs+0s) by Encode::BEGIN@226 at line 226 of Encode.pm # once (71µs+0s) by Moose::Meta::Role::BEGIN@523 at line 523 of Moose/Meta/Role.pm # once (61µs+0s) by IO::Compress::Base::BEGIN@264 at line 264 of IO/Compress/Base.pm # once (58µs+0s) by Data::Visitor::BEGIN@12 at line 12 of Data/Visitor.pm # once (58µs+0s) by Catalyst::Plugin::Session::BEGIN@157 at line 157 of Catalyst/Plugin/Session.pm # once (57µs+0s) by IO::Uncompress::Base::BEGIN@413 at line 413 of IO/Uncompress/Base.pm # once (57µs+0s) by Moose::Exporter::BEGIN@386 at line 386 of Moose/Exporter.pm # once (56µs+0s) by Exporter::Heavy::BEGIN@200 at line 200 of Exporter/Heavy.pm # once (56µs+0s) by IO::Uncompress::Base::BEGIN@94 at line 94 of IO/Uncompress/Base.pm # once (55µs+0s) by Moose::Util::TypeConstraints::BEGIN@592 at line 592 of Moose/Util/TypeConstraints.pm # once (55µs+0s) by Data::Visitor::Callback::BEGIN@11 at line 11 of Data/Visitor/Callback.pm # once (54µs+0s) by Catalyst::Action::BEGIN@56 at line 56 of Catalyst/Action.pm # once (54µs+0s) by File::GlobMapper::BEGIN@341 at line 341 of File/GlobMapper.pm # once (53µs+0s) by Template::Base::BEGIN@45 at line 45 of Template/Base.pm # once (53µs+0s) by IO::Dir::BEGIN@42 at line 42 of IO/Dir.pm # once (53µs+0s) by Class::C3::Adopt::NEXT::BEGIN@21 at line 21 of Class/C3/Adopt/NEXT.pm # once (53µs+0s) by Template::VMethods::BEGIN@379 at line 379 of Template/VMethods.pm # once (52µs+0s) by Locale::Maketext::BEGIN@428 at line 428 of Locale/Maketext.pm # once (52µs+0s) by namespace::clean::BEGIN@190 at line 190 of namespace/clean.pm # once (52µs+0s) by YAML::Base::BEGIN@165 at line 165 of YAML/Base.pm # once (51µs+0s) by YAML::BEGIN@40 at line 40 of YAML.pm # once (51µs+0s) by Class::MOP::Class::BEGIN@223 at line 223 of Class/MOP/Class.pm # once (51µs+0s) by POSIX::BEGIN@40 at line 40 of POSIX.pm # once (51µs+0s) by English::BEGIN@47 at line 47 of English.pm # once (50µs+0s) by Template::VMethods::BEGIN@104 at line 104 of Template/VMethods.pm # once (50µs+0s) by Encode::Alias::BEGIN@4 at line 4 of Encode/Alias.pm # once (48µs+0s) by Carp::BEGIN@301 at line 301 of Carp/Heavy.pm # once (47µs+0s) by Catalyst::Plugin::Session::BEGIN@226 at line 226 of Catalyst/Plugin/Session.pm # once (47µs+0s) by Moose::Util::TypeConstraints::BEGIN@603 at line 603 of Moose/Util/TypeConstraints.pm # once (44µs+0s) by Data::Visitor::BEGIN@370 at line 370 of Data/Visitor.pm # once (44µs+0s) by Moose::Util::TypeConstraints::BEGIN@619 at line 619 of Moose/Util/TypeConstraints.pm # once (44µs+0s) by Data::Visitor::Callback::BEGIN@125 at line 125 of Data/Visitor/Callback.pm # once (42µs+0s) by Moose::Util::TypeConstraints::BEGIN@598 at line 598 of Moose/Util/TypeConstraints.pm # once (40µs+0s) by Data::Visitor::Callback::BEGIN@8 at line 8 of (eval 0)[Data/Visitor/Callback.pm:195] at line 195 of Data/Visitor/Callback.pm # once (37µs+0s) by Data::Visitor::Callback::BEGIN@8 at line 8 of (eval 0)[Data/Visitor/Callback.pm:195] at line 195 of Data/Visitor/Callback.pm # once (36µs+0s) by Data::Visitor::Callback::BEGIN@172 at line 172 of Data/Visitor/Callback.pm # once (36µs+0s) by Data::Visitor::Callback::BEGIN@265 at line 265 of Data/Visitor/Callback.pm # once (36µs+0s) by Catalyst::BEGIN@371 at line 371 of Catalyst.pm # once (36µs+0s) by Data::Visitor::Callback::BEGIN@188 at line 188 of Data/Visitor/Callback.pm # once (36µs+0s) by Data::Visitor::Callback::BEGIN@8 at line 8 of (eval 0)[Data/Visitor/Callback.pm:195] at line 195 of Data/Visitor/Callback.pm # once (36µs+0s) by Data::Visitor::Callback::BEGIN@222 at line 222 of Data/Visitor/Callback.pm # once (32µs+0s) by Catalyst::Dispatcher::BEGIN@236 at line 236 of Catalyst/Dispatcher.pm # once (31µs+0s) by Catalyst::BEGIN@1135 at line 1135 of Catalyst.pm # once (30µs+0s) by Catalyst::BEGIN@1628 at line 1628 of Catalyst.pm # once (27µs+0s) by Moose::Meta::Role::BEGIN@544 at line 544 of Moose/Meta/Role.pm # once (17µs+0s) by Catalyst::BEGIN@1644 at line 1644 of Catalyst.pm
{
3775804.30ms shift;
378
379 my $catmask ;
380 my $mask = ${^WARNING_BITS} ;
381
382 if (vec($mask, $Offsets{'all'}, 1)) {
383 $mask |= $Bits{'all'} ;
384 $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
385 }
386
387 push @_, 'all' unless @_;
388
389 foreach my $word ( @_ ) {
390 if ($word eq 'FATAL') {
391 next;
392 }
393 elsif ($catmask = $Bits{$word}) {
394 $mask &= ~($catmask | $DeadBits{$word} | $All);
395 }
396 else
397 { Croaker("Unknown warnings category '$word'")}
398 }
399
400 ${^WARNING_BITS} = $mask ;
401}
402
403267µsmy %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = ();
404
405sub __chk
406
# spent 24.4ms (4.79+19.6) within warnings::__chk which was called 35 times, avg 697µs/call: # 35 times (4.79ms+19.6ms) by warnings::enabled at line 459, avg 697µs/call
{
4075252.51ms my $category ;
408 my $offset ;
409 my $isobj = 0 ;
410
411 if (@_) {
412 # check the category supplied.
413 $category = shift ;
414 if (my $type = ref $category) {
415 Croaker("not an object")
416 if exists $builtin_type{$type};
417 $category = $type;
418 $isobj = 1 ;
419 }
420 $offset = $Offsets{$category};
421 Croaker("Unknown warnings category '$category'")
422 unless defined $offset;
423 }
424 else {
425 $category = (caller(1))[0] ;
426 $offset = $Offsets{$category};
427 Croaker("package '$category' not registered for warnings")
428 unless defined $offset ;
429 }
430
431 my $this_pkg = (caller(1))[0] ;
432 my $i = 2 ;
433 my $pkg ;
434
435 if ($isobj) {
436 while (do { { package DB; $pkg = (caller($i++))[0] } } ) {
437 last unless @DB::args && $DB::args[0] =~ /^$category=/ ;
438 }
439 $i -= 2 ;
440 }
441 else {
442 $i = _error_loc(); # see where Carp will allocate the error
# spent 387µs making 35 calls to warnings::_error_loc, avg 11µs/call
443 }
444
445 my $callers_bitmask = (caller($i))[9] ;
446 return ($callers_bitmask, $offset, $i) ;
447}
448
449
# spent 387µs within warnings::_error_loc which was called 35 times, avg 11µs/call: # 35 times (387µs+0s) by warnings::__chk at line 442, avg 11µs/call
sub _error_loc {
450702.75ms require Carp::Heavy;
451 goto &Carp::short_error_loc; # don't introduce another stack frame
# spent 19.2ms making 35 calls to Carp::short_error_loc, avg 550µs/call
452}
453
454sub enabled
455
# spent 25.3ms (920µs+24.4) within warnings::enabled which was called 35 times, avg 724µs/call: # 35 times (920µs+24.4ms) by attributes::import at line 48 of attributes.pm, avg 724µs/call
{
4561401.04ms Croaker("Usage: warnings::enabled([category])")
457 unless @_ == 1 || @_ == 0 ;
458
459 my ($callers_bitmask, $offset, $i) = __chk(@_) ;
# spent 24.4ms making 35 calls to warnings::__chk, avg 697µs/call
460
461 return 0 unless defined $callers_bitmask ;
462 return vec($callers_bitmask, $offset, 1) ||
463 vec($callers_bitmask, $Offsets{'all'}, 1) ;
464}
465
466
467sub warn
468{
469 Croaker("Usage: warnings::warn([category,] 'message')")
470 unless @_ == 2 || @_ == 1 ;
471
472 my $message = pop ;
473 my ($callers_bitmask, $offset, $i) = __chk(@_) ;
474 require Carp;
475 Carp::croak($message)
476 if vec($callers_bitmask, $offset+1, 1) ||
477 vec($callers_bitmask, $Offsets{'all'}+1, 1) ;
478 Carp::carp($message) ;
479}
480
481sub warnif
482{
483 Croaker("Usage: warnings::warnif([category,] 'message')")
484 unless @_ == 2 || @_ == 1 ;
485
486 my $message = pop ;
487 my ($callers_bitmask, $offset, $i) = __chk(@_) ;
488
489 return
490 unless defined $callers_bitmask &&
491 (vec($callers_bitmask, $offset, 1) ||
492 vec($callers_bitmask, $Offsets{'all'}, 1)) ;
493
494 require Carp;
495 Carp::croak($message)
496 if vec($callers_bitmask, $offset+1, 1) ||
497 vec($callers_bitmask, $Offsets{'all'}+1, 1) ;
498
499 Carp::carp($message) ;
500}
501
5021350µs1;
503# ex: set ro:
# spent 14µs within warnings::CORE:match which was called # once (14µs+0s) by Moose::BEGIN@3 at line 13 of warnings.pm
sub warnings::CORE:match; # xsub
# spent 44µs within warnings::CORE:regcomp which was called # once (44µs+0s) by Moose::BEGIN@3 at line 13 of warnings.pm
sub warnings::CORE:regcomp; # xsub