← Index
NYTProf Performance Profile   « line view »
For ./view
  Run on Fri Jul 31 18:42:36 2015
Reported on Fri Jul 31 18:48:13 2015

Filename/usr/share/perl5/warnings.pm
StatementsExecuted 1630 statements in 3.15ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
2482482371.13ms1.18mswarnings::::importwarnings::import
411398µs446µswarnings::::register_categorieswarnings::register_categories
262620330µs330µswarnings::::unimportwarnings::unimport
91156µs56µswarnings::::_bitswarnings::_bits
82148µs48µswarnings::::_mkMaskwarnings::_mkMask
0000s0swarnings::::Croakerwarnings::Croaker
0000s0swarnings::::__chkwarnings::__chk
0000s0swarnings::::_error_locwarnings::_error_loc
0000s0swarnings::::bitswarnings::bits
0000s0swarnings::::enabledwarnings::enabled
0000s0swarnings::::fatal_enabledwarnings::fatal_enabled
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 is built by regen/warnings.pl.
4# Any changes made here will be lost!
5
6package warnings;
7
811µsour $VERSION = '1.13';
9
10# Verify that we're called correctly so that warnings will work.
11# see also strict.pm.
12135µsunless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) {
13 my (undef, $f, $l) = caller;
14 die("Incorrect use of pragma '${\__PACKAGE__}' at $f line $l.\n");
15}
16
17=head1 NAME
18
19warnings - Perl pragma to control optional warnings
20
21=head1 SYNOPSIS
22
23 use warnings;
24 no warnings;
25
26 use warnings "all";
27 no warnings "all";
28
29 use warnings::register;
30 if (warnings::enabled()) {
31 warnings::warn("some warning");
32 }
33
34 if (warnings::enabled("void")) {
35 warnings::warn("void", "some warning");
36 }
37
38 if (warnings::enabled($object)) {
39 warnings::warn($object, "some warning");
40 }
41
42 warnings::warnif("some warning");
43 warnings::warnif("void", "some warning");
44 warnings::warnif($object, "some warning");
45
46=head1 DESCRIPTION
47
48The C<warnings> pragma is a replacement for the command line flag C<-w>,
49but the pragma is limited to the enclosing block, while the flag is global.
50See L<perllexwarn> for more information and the list of built-in warning
51categories.
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::fatal_enabled()
88
89Return TRUE if the warnings category with the same name as the current
90package has been set to FATAL in the calling module.
91Otherwise returns FALSE.
92
93=item warnings::fatal_enabled($category)
94
95Return TRUE if the warnings category C<$category> has been set to FATAL in
96the calling module.
97Otherwise returns FALSE.
98
99=item warnings::fatal_enabled($object)
100
101Use the name of the class for the object reference, C<$object>, as the
102warnings category.
103
104Return TRUE if that warnings category has been set to FATAL in the first
105scope where the object is used.
106Otherwise returns FALSE.
107
108=item warnings::warn($message)
109
110Print C<$message> to STDERR.
111
112Use the warnings category with the same name as the current package.
113
114If that warnings category has been set to "FATAL" in the calling module
115then die. Otherwise return.
116
117=item warnings::warn($category, $message)
118
119Print C<$message> to STDERR.
120
121If the warnings category, C<$category>, has been set to "FATAL" in the
122calling module then die. Otherwise return.
123
124=item warnings::warn($object, $message)
125
126Print C<$message> to STDERR.
127
128Use the name of the class for the object reference, C<$object>, as the
129warnings category.
130
131If that warnings category has been set to "FATAL" in the scope where C<$object>
132is first used then die. Otherwise return.
133
134
135=item warnings::warnif($message)
136
137Equivalent to:
138
139 if (warnings::enabled())
140 { warnings::warn($message) }
141
142=item warnings::warnif($category, $message)
143
144Equivalent to:
145
146 if (warnings::enabled($category))
147 { warnings::warn($category, $message) }
148
149=item warnings::warnif($object, $message)
150
151Equivalent to:
152
153 if (warnings::enabled($object))
154 { warnings::warn($object, $message) }
155
156=item warnings::register_categories(@names)
157
158This registers warning categories for the given names and is primarily for
159use by the warnings::register pragma, for which see L<perllexwarn>.
160
161=back
162
163See L<perlmodlib/Pragmatic Modules> and L<perllexwarn>.
164
165=cut
166
167128µsour %Offsets = (
168
169 # Warnings Categories added in Perl 5.008
170
171 'all' => 0,
172 'closure' => 2,
173 'deprecated' => 4,
174 'exiting' => 6,
175 'glob' => 8,
176 'io' => 10,
177 'closed' => 12,
178 'exec' => 14,
179 'layer' => 16,
180 'newline' => 18,
181 'pipe' => 20,
182 'unopened' => 22,
183 'misc' => 24,
184 'numeric' => 26,
185 'once' => 28,
186 'overflow' => 30,
187 'pack' => 32,
188 'portable' => 34,
189 'recursion' => 36,
190 'redefine' => 38,
191 'regexp' => 40,
192 'severe' => 42,
193 'debugging' => 44,
194 'inplace' => 46,
195 'internal' => 48,
196 'malloc' => 50,
197 'signal' => 52,
198 'substr' => 54,
199 'syntax' => 56,
200 'ambiguous' => 58,
201 'bareword' => 60,
202 'digit' => 62,
203 'parenthesis' => 64,
204 'precedence' => 66,
205 'printf' => 68,
206 'prototype' => 70,
207 'qw' => 72,
208 'reserved' => 74,
209 'semicolon' => 76,
210 'taint' => 78,
211 'threads' => 80,
212 'uninitialized' => 82,
213 'unpack' => 84,
214 'untie' => 86,
215 'utf8' => 88,
216 'void' => 90,
217
218 # Warnings Categories added in Perl 5.011
219
220 'imprecision' => 92,
221 'illegalproto' => 94,
222
223 # Warnings Categories added in Perl 5.013
224
225 'non_unicode' => 96,
226 'nonchar' => 98,
227 'surrogate' => 100,
228 );
229
230127µsour %Bits = (
231 'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15", # [0..50]
232 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [29]
233 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [30]
234 'closed' => "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
235 'closure' => "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
236 'debugging' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [22]
237 'deprecated' => "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
238 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [31]
239 'exec' => "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
240 'exiting' => "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
241 'glob' => "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
242 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [47]
243 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [46]
244 'inplace' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [23]
245 'internal' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [24]
246 'io' => "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
247 'layer' => "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
248 'malloc' => "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [25]
249 'misc' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
250 'newline' => "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
251 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [48]
252 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [49]
253 'numeric' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
254 'once' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
255 'overflow' => "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
256 'pack' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
257 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [32]
258 'pipe' => "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
259 'portable' => "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
260 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [33]
261 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [34]
262 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [35]
263 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [36]
264 'recursion' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
265 'redefine' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
266 'regexp' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [20]
267 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [37]
268 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [38]
269 'severe' => "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00", # [21..25]
270 'signal' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [26]
271 'substr' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [27]
272 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [50]
273 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00", # [28..38,47]
274 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [39]
275 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [40]
276 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [41]
277 'unopened' => "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
278 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [42]
279 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [43]
280 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x15", # [44,48..50]
281 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [45]
282 );
283
284124µsour %DeadBits = (
285 'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\x2a", # [0..50]
286 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [29]
287 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [30]
288 'closed' => "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
289 'closure' => "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
290 'debugging' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [22]
291 'deprecated' => "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
292 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [31]
293 'exec' => "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
294 'exiting' => "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
295 'glob' => "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
296 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [47]
297 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [46]
298 'inplace' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [23]
299 'internal' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [24]
300 'io' => "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
301 'layer' => "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
302 'malloc' => "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [25]
303 'misc' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
304 'newline' => "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
305 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [48]
306 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [49]
307 'numeric' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
308 'once' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
309 'overflow' => "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
310 'pack' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
311 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [32]
312 'pipe' => "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
313 'portable' => "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
314 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [33]
315 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [34]
316 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [35]
317 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [36]
318 'recursion' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
319 'redefine' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
320 'regexp' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [20]
321 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [37]
322 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [38]
323 'severe' => "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00", # [21..25]
324 'signal' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [26]
325 'substr' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [27]
326 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [50]
327 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00", # [28..38,47]
328 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [39]
329 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [40]
330 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [41]
331 'unopened' => "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
332 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [42]
333 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [43]
334 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x2a", # [44,48..50]
335 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [45]
336 );
337
3381500ns$NONE = "\0\0\0\0\0\0\0\0\0\0\0\0\0";
3391300ns$LAST_BIT = 102 ;
3401200ns$BYTES = 13 ;
341
342219µs$All = "" ; vec($All, $Offsets{'all'}, 2) = 3 ;
343
344sub Croaker
345{
346 require Carp; # this initializes %CarpInternal
347 local $Carp::CarpInternal{'warnings'};
348 delete $Carp::CarpInternal{'warnings'};
349 Carp::croak(@_);
350}
351
352
# spent 56µs within warnings::_bits which was called 9 times, avg 6µs/call: # 9 times (56µs+0s) by warnings::import at line 398, avg 6µs/call
sub _bits {
35394µs my $mask = shift ;
3549800ns my $catmask ;
35592µs my $fatal = 0 ;
35691µs my $no_fatal = 0 ;
357
35898µs foreach my $word ( @_ ) {
359917µs if ($word eq 'FATAL') {
360 $fatal = 1;
361 $no_fatal = 0;
362 }
363 elsif ($word eq 'NONFATAL') {
364 $fatal = 0;
365 $no_fatal = 1;
366 }
367 elsif ($catmask = $Bits{$word}) {
36894µs $mask |= $catmask ;
36991µs $mask |= $DeadBits{$word} if $fatal ;
37092µs $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;
371 }
372 else
373 { Croaker("Unknown warnings category '$word'")}
374 }
375
376932µs return $mask ;
377}
378
379sub bits
380{
381 # called from B::Deparse.pm
382 push @_, 'all' unless @_ ;
383 return _bits(undef, @_) ;
384}
385
386sub import
387
# spent 1.18ms (1.13+57µs) within warnings::import which was called 248 times, avg 5µs/call: # once (17µs+0s) by main::BEGIN@4 at line 4 of view # once (9µs+8µs) by Foswiki::Plugins::SlideShowPlugin::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Plugins/SlideShowPlugin.pm # once (8µs+8µs) by Foswiki::Templates::BEGIN@138 at line 138 of /var/www/foswikidev/core/lib/Foswiki/Templates.pm # once (8µs+7µs) by Foswiki::Query::Node::BEGIN@109 at line 109 of /var/www/foswikidev/core/lib/Foswiki/Query/Node.pm # once (7µs+6µs) by Foswiki::Plugins::JQueryPlugin::BEGIN@23 at line 23 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin.pm # once (6µs+6µs) by Foswiki::Contrib::JsonRpcContrib::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Contrib/JsonRpcContrib.pm # once (6µs+5µs) by Foswiki::Plugins::MultiTopicSavePlugin::BEGIN@33 at line 33 of /var/www/foswikidev/core/lib/Foswiki/Plugins/MultiTopicSavePlugin.pm # once (7µs+5µs) by Foswiki::Plugins::TablePlugin::BEGIN@17 at line 17 of /var/www/foswikidev/core/lib/Foswiki/Plugins/TablePlugin.pm # once (7µs+5µs) by Foswiki::Templates::BEGIN@216 at line 216 of /var/www/foswikidev/core/lib/Foswiki/Templates.pm # once (6µs+5µs) by Foswiki::Plugins::NatEditPlugin::BEGIN@29 at line 29 of /var/www/foswikidev/core/lib/Foswiki/Plugins/NatEditPlugin.pm # once (11µs+0s) by Foswiki::Form::BEGIN@33 at line 33 of /var/www/foswikidev/core/lib/Foswiki/Form.pm # once (9µs+0s) by overloading::BEGIN@2 at line 2 of overloading.pm # once (8µs+0s) by Carp::BEGIN@5 at line 5 of Carp.pm # once (8µs+0s) by Foswiki::Engine::CLI::BEGIN@17 at line 17 of /var/www/foswikidev/core/lib/Foswiki/Engine/CLI.pm # once (8µs+0s) by Foswiki::BEGIN@45 at line 45 of /var/www/foswikidev/core/lib/Foswiki.pm # once (7µs+0s) by Foswiki::Configure::Load::BEGIN@18 at line 18 of /var/www/foswikidev/core/lib/Foswiki/Configure/Load.pm # once (7µs+0s) by Monitor::BEGIN@41 at line 41 of /var/www/foswikidev/core/lib/Monitor.pm # once (7µs+0s) by Foswiki::Logger::PlainFile::BEGIN@32 at line 32 of /var/www/foswikidev/core/lib/Foswiki/Logger/PlainFile.pm # once (6µs+0s) by Encode::Config::BEGIN@8 at line 8 of Encode/Config.pm # once (6µs+0s) by Foswiki::UI::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/UI.pm # once (6µs+0s) by File::Basename::BEGIN@52 at line 52 of File/Basename.pm # once (6µs+0s) by Monitor::BEGIN@103 at line 103 of /var/www/foswikidev/core/lib/Monitor.pm # once (6µs+0s) by Encode::Encoding::BEGIN@5 at line 5 of Encode/Encoding.pm # once (6µs+0s) by Encode::Alias::BEGIN@3 at line 3 of Encode/Alias.pm # once (6µs+0s) by POSIX::BEGIN@3 at line 3 of POSIX.pm # once (6µs+0s) by Foswiki::Configure::FileUtil::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Configure/FileUtil.pm # once (6µs+0s) by Foswiki::BEGIN@5.91 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/ICONURL.pm # once (6µs+0s) by Encode::BEGIN@6 at line 6 of Encode.pm # once (6µs+0s) by Foswiki::Compatibility::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Compatibility.pm # once (6µs+0s) by Foswiki::Contrib::MailerContrib::BEGIN@16 at line 16 of /var/www/foswikidev/core/lib/Foswiki/Contrib/MailerContrib.pm # once (5µs+0s) by Foswiki::Configure::Reporter::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Configure/Reporter.pm # once (5µs+0s) by Foswiki::BEGIN@5.49 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/PUBURLPATH.pm # once (5µs+0s) by Foswiki::BEGIN@5.98 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/VAR.pm # once (5µs+0s) by Foswiki::Query::OP_where::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_where.pm # once (5µs+0s) by Foswiki::BEGIN@5.117 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/ENCODE.pm # once (5µs+0s) by Foswiki::Plugins::JQueryPlugin::UI::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin/UI.pm # once (5µs+0s) by Foswiki::Time::BEGIN@34 at line 34 of /var/www/foswikidev/core/lib/Foswiki/Time.pm # once (5µs+0s) by Foswiki::BEGIN@5.78 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/META.pm # once (5µs+0s) by Foswiki::Plugins::TablePlugin::BEGIN@9 at line 9 of /var/www/foswikidev/core/lib/Foswiki/Plugins/TablePlugin.pm # once (5µs+0s) by Foswiki::Users::TopicUserMapping::BEGIN@32 at line 32 of /var/www/foswikidev/core/lib/Foswiki/Users/TopicUserMapping.pm # once (5µs+0s) by Foswiki::BEGIN@5.88 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/SEARCH.pm # once (5µs+0s) by Foswiki::Plugins::CommentPlugin::BEGIN@8 at line 8 of /var/www/foswikidev/core/lib/Foswiki/Plugins/CommentPlugin.pm # once (5µs+0s) by Foswiki::Func::BEGIN@54 at line 54 of /var/www/foswikidev/core/lib/Foswiki/Func.pm # once (5µs+0s) by Foswiki::Plugins::EditTablePlugin::BEGIN@8 at line 8 of /var/www/foswikidev/core/lib/Foswiki/Plugins/EditTablePlugin.pm # once (5µs+0s) by Foswiki::Request::BEGIN@30 at line 30 of /var/www/foswikidev/core/lib/Foswiki/Request.pm # once (5µs+0s) by Foswiki::UI::View::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/UI/View.pm # once (5µs+0s) by Foswiki::Contrib::MailerContrib::Change::BEGIN@13 at line 13 of /var/www/foswikidev/core/lib/Foswiki/Contrib/MailerContrib/Change.pm # once (4µs+0s) by Foswiki::Form::ListFieldDefinition::BEGIN@15 at line 15 of /var/www/foswikidev/core/lib/Foswiki/Form/ListFieldDefinition.pm # once (4µs+0s) by Foswiki::Contrib::JSCalendarContrib::BEGIN@17 at line 17 of /var/www/foswikidev/core/lib/Foswiki/Contrib/JSCalendarContrib.pm # once (4µs+0s) by utf8::BEGIN@3 at line 3 of utf8_heavy.pl # once (4µs+0s) by Foswiki::Users::BEGIN@60 at line 60 of /var/www/foswikidev/core/lib/Foswiki/Users.pm # once (4µs+0s) by Config::BEGIN@10 at line 10 of Config.pm # once (4µs+0s) by Foswiki::Serialise::Embedded::BEGIN@17 at line 17 of /var/www/foswikidev/core/lib/Foswiki/Serialise/Embedded.pm # once (4µs+0s) by Foswiki::Plugins::WysiwygPlugin::Handlers::BEGIN@8 at line 8 of /var/www/foswikidev/core/lib/Foswiki/Plugins/WysiwygPlugin/Handlers.pm # once (4µs+0s) by Foswiki::Plugins::NatEditPlugin::BEGIN@16 at line 16 of /var/www/foswikidev/core/lib/Foswiki/Plugins/NatEditPlugin.pm # once (4µs+0s) by Foswiki::I18N::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/I18N.pm # once (4µs+0s) by Foswiki::Configure::Root::BEGIN@13 at line 13 of /var/www/foswikidev/core/lib/Foswiki/Configure/Root.pm # once (4µs+0s) by WC::BEGIN@20 at line 20 of /var/www/foswikidev/core/lib/Foswiki/Plugins/WysiwygPlugin/Constants.pm # once (4µs+0s) by Foswiki::Plugins::TimeCalcPlugin::BEGIN@34 at line 34 of /var/www/foswikidev/core/lib/Foswiki/Plugins/TimeCalcPlugin.pm # once (4µs+0s) by Foswiki::Request::Upload::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Request/Upload.pm # once (4µs+0s) by Foswiki::Configure::Value::BEGIN@55 at line 55 of /var/www/foswikidev/core/lib/Foswiki/Configure/Value.pm # once (4µs+0s) by Foswiki::Plugins::JEditableContribPlugin::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JEditableContribPlugin.pm # once (4µs+0s) by Foswiki::Iterator::PagerIterator::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Iterator/PagerIterator.pm # once (4µs+0s) by Foswiki::Plugins::JQueryPlugin::Plugin::BEGIN@8 at line 8 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin/Plugin.pm # once (4µs+0s) by Foswiki::If::OP_context::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/If/OP_context.pm # once (4µs+0s) by Foswiki::Plugins::JQueryPlugin::FOSWIKI::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin/FOSWIKI.pm # once (4µs+0s) by Foswiki::BEGIN@3 at line 3 of /var/www/foswikidev/core/lib/Foswiki/Prefs.pm # once (4µs+0s) by File::Copy::BEGIN@12 at line 12 of File/Copy.pm # once (4µs+0s) by Foswiki::Plugins::AutoViewTemplatePlugin::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Plugins/AutoViewTemplatePlugin.pm # once (4µs+0s) by Foswiki::Query::OP_lte::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_lte.pm # once (4µs+0s) by Foswiki::I18N::Fallback::BEGIN@8 at line 8 of /var/www/foswikidev/core/lib/Foswiki/I18N/Fallback.pm # once (4µs+0s) by Foswiki::Form::FieldDefinition::BEGIN@19 at line 19 of /var/www/foswikidev/core/lib/Foswiki/Form/FieldDefinition.pm # once (4µs+0s) by Foswiki::Search::ResultSet::BEGIN@18 at line 18 of /var/www/foswikidev/core/lib/Foswiki/Search/ResultSet.pm # once (4µs+0s) by Foswiki::PageCache::BEGIN@59 at line 59 of /var/www/foswikidev/core/lib/Foswiki/PageCache.pm # once (4µs+0s) by Foswiki::Users::Password::BEGIN@18 at line 18 of /var/www/foswikidev/core/lib/Foswiki/Users/Password.pm # once (4µs+0s) by Foswiki::Plugins::JQueryPlugin::COOKIE::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin/COOKIE.pm # once (4µs+0s) by Foswiki::Render::BEGIN@13 at line 13 of /var/www/foswikidev/core/lib/Foswiki/Render.pm # once (4µs+0s) by Foswiki::Attach::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Attach.pm # once (4µs+0s) by Foswiki::Plugins::HolidaylistPlugin::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Plugins/HolidaylistPlugin.pm # once (4µs+0s) by Foswiki::Plugins::TinyMCEPlugin::BEGIN@6 at line 6 of /var/www/foswikidev/core/lib/Foswiki/Plugins/TinyMCEPlugin.pm # once (4µs+0s) by Foswiki::Plugins::RenderPlugin::BEGIN@19 at line 19 of /var/www/foswikidev/core/lib/Foswiki/Plugins/RenderPlugin.pm # once (4µs+0s) by Foswiki::Plugins::ConfigurePlugin::BEGIN@32 at line 32 of /var/www/foswikidev/core/lib/Foswiki/Plugins/ConfigurePlugin.pm # once (4µs+0s) by IO::BEGIN@8 at line 8 of IO.pm # once (4µs+0s) by Foswiki::Query::OP_div::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_div.pm # once (4µs+0s) by Foswiki::BEGIN@5.114 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/USERNAME.pm # once (4µs+0s) by Foswiki::Plugins::RenderListPlugin::BEGIN@8 at line 8 of /var/www/foswikidev/core/lib/Foswiki/Plugins/RenderListPlugin.pm # once (4µs+0s) by Foswiki::Query::OP_or::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_or.pm # once (4µs+0s) by Foswiki::BEGIN@5.81 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/REVINFO.pm # once (4µs+0s) by Foswiki::Plugins::TablePlugin::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Plugins/TablePlugin/Core.pm # once (4µs+0s) by Foswiki::Iterator::ProcessIterator::BEGIN@15 at line 15 of /var/www/foswikidev/core/lib/Foswiki/Iterator/ProcessIterator.pm # once (4µs+0s) by Foswiki::Sandbox::BEGIN@32 at line 32 of /var/www/foswikidev/core/lib/Foswiki/Sandbox.pm # once (4µs+0s) by Foswiki::Contrib::JEditableContrib::JEDITABLE::BEGIN@3 at line 3 of /var/www/foswikidev/core/lib/Foswiki/Contrib/JEditableContrib/JEDITABLE.pm # once (4µs+0s) by Foswiki::Plugins::CompareRevisionsAddonPlugin::BEGIN@16 at line 16 of /var/www/foswikidev/core/lib/Foswiki/Plugins/CompareRevisionsAddonPlugin.pm # once (4µs+0s) by Foswiki::EngineException::BEGIN@17 at line 17 of /var/www/foswikidev/core/lib/Foswiki/EngineException.pm # once (4µs+0s) by CGI::Cookie::BEGIN@4 at line 4 of CGI/Cookie.pm # once (4µs+0s) by Foswiki::Plugins::UpdatesPlugin::BEGIN@19 at line 19 of /var/www/foswikidev/core/lib/Foswiki/Plugins/UpdatesPlugin.pm # once (4µs+0s) by Foswiki::Contrib::JsonRpcContrib::Response::BEGIN@20 at line 20 of /var/www/foswikidev/core/lib/Foswiki/Contrib/JsonRpcContrib/Response.pm # once (4µs+0s) by Foswiki::Plugins::BEGIN@18 at line 18 of /var/www/foswikidev/core/lib/Foswiki/Plugins.pm # once (4µs+0s) by Foswiki::Iterator::FilterIterator::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Iterator/FilterIterator.pm # once (4µs+0s) by Foswiki::If::OP_ingroup::BEGIN@13 at line 13 of /var/www/foswikidev/core/lib/Foswiki/If/OP_ingroup.pm # once (4µs+0s) by Foswiki::Configure::Checker::BEGIN@28 at line 28 of /var/www/foswikidev/core/lib/Foswiki/Configure/Checker.pm # once (4µs+0s) by Foswiki::Plugins::MailerContribPlugin::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Plugins/MailerContribPlugin.pm # once (4µs+0s) by Foswiki::Prefs::Web::BEGIN@19 at line 19 of /var/www/foswikidev/core/lib/Foswiki/Prefs/Web.pm # once (4µs+0s) by Foswiki::Prefs::TopicRAM::BEGIN@17 at line 17 of /var/www/foswikidev/core/lib/Foswiki/Prefs/TopicRAM.pm # once (4µs+0s) by Foswiki::Plugins::ExpandTopicContentPlugin::BEGIN@50 at line 50 of /var/www/foswikidev/core/lib/Foswiki/Plugins/ExpandTopicContentPlugin.pm # once (4µs+0s) by Foswiki::BEGIN@5.63 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/RENDERZONE.pm # once (4µs+0s) by Foswiki::Templates::BEGIN@34 at line 34 of /var/www/foswikidev/core/lib/Foswiki/Templates.pm # once (4µs+0s) by Foswiki::LoginManager::BEGIN@52 at line 52 of /var/www/foswikidev/core/lib/Foswiki/LoginManager.pm # once (4µs+0s) by Foswiki::LineIterator::BEGIN@15 at line 15 of /var/www/foswikidev/core/lib/Foswiki/LineIterator.pm # once (4µs+0s) by Foswiki::Serialise::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Serialise.pm # once (4µs+0s) by Foswiki::Plugins::JQueryPlugin::MIGRATE::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin/MIGRATE.pm # once (4µs+0s) by Foswiki::Prefs::Stack::BEGIN@27 at line 27 of /var/www/foswikidev/core/lib/Foswiki/Prefs/Stack.pm # once (4µs+0s) by Foswiki::ListIterator::BEGIN@17 at line 17 of /var/www/foswikidev/core/lib/Foswiki/ListIterator.pm # once (4µs+0s) by Foswiki::UI::Rest::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/UI/Rest.pm # once (4µs+0s) by Foswiki::Store::QueryAlgorithms::BruteForce::BEGIN@27 at line 27 of /var/www/foswikidev/core/lib/Foswiki/Store/QueryAlgorithms/BruteForce.pm # once (4µs+0s) by Foswiki::Configure::Query::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Configure/Query.pm # once (4µs+0s) by Foswiki::Configure::Wizard::BEGIN@36 at line 36 of /var/www/foswikidev/core/lib/Foswiki/Configure/Wizard.pm # once (4µs+0s) by Foswiki::Validation::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Validation.pm # once (4µs+0s) by Foswiki::Store::Rcs::RcsWrapHandler::BEGIN@20 at line 20 of /var/www/foswikidev/core/lib/Foswiki/Store/Rcs/RcsWrapHandler.pm # once (4µs+0s) by Foswiki::Store::SearchAlgorithms::Forking::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Store/SearchAlgorithms/Forking.pm # once (4µs+0s) by Foswiki::Contrib::JsonRpcContrib::Server::BEGIN@20 at line 20 of /var/www/foswikidev/core/lib/Foswiki/Contrib/JsonRpcContrib/Server.pm # once (4µs+0s) by Foswiki::Render::Parent::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Render/Parent.pm # once (4µs+0s) by Foswiki::Plugins::JQueryPlugin::LIVEQUERY::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin/LIVEQUERY.pm # once (4µs+0s) by Foswiki::WebFilter::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/WebFilter.pm # once (4µs+0s) by Foswiki::Contrib::MailerContrib::UpData::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Contrib/MailerContrib/UpData.pm # once (4µs+0s) by Foswiki::Plugins::RevCommentPlugin::BEGIN@21 at line 21 of /var/www/foswikidev/core/lib/Foswiki/Plugins/RevCommentPlugin.pm # once (4µs+0s) by Foswiki::Address::BEGIN@64 at line 64 of /var/www/foswikidev/core/lib/Foswiki/Address.pm # once (4µs+0s) by Foswiki::Contrib::MailerContrib::Subscription::BEGIN@16 at line 16 of /var/www/foswikidev/core/lib/Foswiki/Contrib/MailerContrib/Subscription.pm # once (4µs+0s) by Foswiki::BEGIN@5.101 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/WIKIUSERNAME.pm # once (4µs+0s) by Foswiki::Logger::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Logger.pm # once (4µs+0s) by Foswiki::BEGIN@5.75 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/INCLUDE.pm # once (4µs+0s) by Foswiki::Store::RcsWrap::BEGIN@21 at line 21 of /var/www/foswikidev/core/lib/Foswiki/Store/RcsWrap.pm # once (4µs+0s) by Foswiki::Logger::PlainFile::EventIterator::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Logger/PlainFile.pm # once (4µs+0s) by Foswiki::Meta::BEGIN@110 at line 110 of /var/www/foswikidev/core/lib/Foswiki/Meta.pm # once (4µs+0s) by Foswiki::Plugins::FindElsewherePlugin::BEGIN@7 at line 7 of /var/www/foswikidev/core/lib/Foswiki/Plugins/FindElsewherePlugin.pm # once (4µs+0s) by Foswiki::Plugins::ChecklistPlugin::BEGIN@36 at line 36 of /var/www/foswikidev/core/lib/Foswiki/Plugins/ChecklistPlugin.pm # once (4µs+0s) by Foswiki::Configure::Pluggable::BEGIN@50 at line 50 of /var/www/foswikidev/core/lib/Foswiki/Configure/Pluggable.pm # once (4µs+0s) by Foswiki::Store::BEGIN@56 at line 56 of /var/www/foswikidev/core/lib/Foswiki/Store.pm # once (4µs+0s) by Foswiki::Query::OP_empty::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_empty.pm # once (4µs+0s) by Foswiki::Engine::BEGIN@18 at line 18 of /var/www/foswikidev/core/lib/Foswiki/Engine.pm # once (4µs+0s) by Foswiki::BEGIN@5.111 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/SPACEOUT.pm # once (4µs+0s) by Foswiki::Query::OP_gt::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_gt.pm # once (4µs+0s) by Foswiki::Query::OP_and::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_and.pm # once (4µs+0s) by Foswiki::Render::Anchors::BEGIN@17 at line 17 of /var/www/foswikidev/core/lib/Foswiki/Render/Anchors.pm # once (4µs+0s) by Foswiki::BEGIN@5.120 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/QUERY.pm # once (4µs+0s) by Foswiki::Query::Node::BEGIN@30 at line 30 of /var/www/foswikidev/core/lib/Foswiki/Query/Node.pm # once (4µs+0s) by Foswiki::Plugins::InterwikiPlugin::BEGIN@24 at line 24 of /var/www/foswikidev/core/lib/Foswiki/Plugins/InterwikiPlugin.pm # once (4µs+0s) by Foswiki::Plugins::HistoryPlugin::BEGIN@6 at line 6 of /var/www/foswikidev/core/lib/Foswiki/Plugins/HistoryPlugin.pm # once (4µs+0s) by Foswiki::Search::BEGIN@13 at line 13 of /var/www/foswikidev/core/lib/Foswiki/Search.pm # once (4µs+0s) by Foswiki::Plugins::PreferencesPlugin::BEGIN@11 at line 11 of /var/www/foswikidev/core/lib/Foswiki/Plugins/PreferencesPlugin.pm # once (4µs+0s) by Foswiki::MetaCache::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/MetaCache.pm # once (4µs+0s) by Foswiki::Plugins::SpreadSheetPlugin::BEGIN@8 at line 8 of /var/www/foswikidev/core/lib/Foswiki/Plugins/SpreadSheetPlugin.pm # once (4µs+0s) by Foswiki::Iterator::MergeEventIterator::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Iterator/MergeEventIterator.pm # once (4µs+0s) by Foswiki::BEGIN@5.94 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/ICON.pm # once (4µs+0s) by Foswiki::Plugins::JQueryPlugin::RENDER::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin/RENDER.pm # once (4µs+0s) by Foswiki::Contrib::MailerContrib::WebNotify::BEGIN@16 at line 16 of /var/www/foswikidev/core/lib/Foswiki/Contrib/MailerContrib/WebNotify.pm # once (4µs+0s) by Foswiki::Plugins::SlideShowPlugin::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Plugins/SlideShowPlugin.pm # once (4µs+0s) by Foswiki::LoginManager::ApacheLogin::BEGIN@25 at line 25 of /var/www/foswikidev/core/lib/Foswiki/LoginManager/ApacheLogin.pm # once (4µs+0s) by Foswiki::Infix::Node::BEGIN@15 at line 15 of /var/www/foswikidev/core/lib/Foswiki/Infix/Node.pm # once (4µs+0s) by Foswiki::Infix::Error::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Infix/Error.pm # once (4µs+0s) by Foswiki::Attrs::BEGIN@48 at line 48 of /var/www/foswikidev/core/lib/Foswiki/Attrs.pm # once (4µs+0s) by Foswiki::Plugins::JQueryPlugin::METADATA::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin/METADATA.pm # once (4µs+0s) by Foswiki::BEGIN@5.72 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/ADDTOZONE.pm # once (4µs+0s) by Foswiki::BEGIN@5.69 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/URLPARAM.pm # once (4µs+0s) by Foswiki::Plugins::SmiliesPlugin::BEGIN@8 at line 8 of /var/www/foswikidev/core/lib/Foswiki/Plugins/SmiliesPlugin.pm # once (4µs+0s) by Foswiki::Contrib::JEditableContrib::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Contrib/JEditableContrib.pm # once (4µs+0s) by Foswiki::Plugins::HomePagePlugin::BEGIN@11 at line 11 of /var/www/foswikidev/core/lib/Foswiki/Plugins/HomePagePlugin.pm # once (4µs+0s) by Foswiki::Plugins::SetFormValuesPlugin::BEGIN@69 at line 69 of /var/www/foswikidev/core/lib/Foswiki/Plugins/SetFormValuesPlugin.pm # once (4µs+0s) by Foswiki::Plugins::FindElsewherePlugin::Core::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Plugins/FindElsewherePlugin/Core.pm # once (4µs+0s) by Foswiki::AccessControlException::BEGIN@85 at line 85 of /var/www/foswikidev/core/lib/Foswiki/AccessControlException.pm # once (4µs+0s) by Foswiki::Iterator::AggregateEventIterator::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Iterator/AggregateEventIterator.pm # once (4µs+0s) by Foswiki::Prefs::HASH::BEGIN@18 at line 18 of /var/www/foswikidev/core/lib/Foswiki/Prefs/HASH.pm # once (4µs+0s) by Foswiki::Response::BEGIN@20 at line 20 of /var/www/foswikidev/core/lib/Foswiki/Response.pm # once (4µs+0s) by Foswiki::BEGIN@5.53 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/SCRIPTURL.pm # once (4µs+0s) by Foswiki::Contrib::JsonRpcContrib::Request::BEGIN@20 at line 20 of /var/www/foswikidev/core/lib/Foswiki/Contrib/JsonRpcContrib/Request.pm # once (4µs+0s) by Foswiki::Query::OP_plus::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_plus.pm # once (4µs+0s) by Foswiki::Query::OP_uc::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_uc.pm # once (4µs+0s) by Foswiki::OopsException::BEGIN@92 at line 92 of /var/www/foswikidev/core/lib/Foswiki/OopsException.pm # once (4µs+0s) by Foswiki::If::Parser::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/If/Parser.pm # once (4µs+0s) by Foswiki::Query::OP_lc::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_lc.pm # once (4µs+0s) by Foswiki::BEGIN@5.66 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/IF.pm # once (4µs+0s) by Foswiki::BEGIN@5.107 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/WIKINAME.pm # once (4µs+0s) by Foswiki::Plugins::JQueryPlugin::EASING::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin/EASING.pm # once (4µs+0s) by Foswiki::Query::OP_eq::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_eq.pm # once (4µs+0s) by Foswiki::AggregateIterator::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/AggregateIterator.pm # once (4µs+0s) by Foswiki::Query::OP_comma::BEGIN@13 at line 13 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_comma.pm # once (4µs+0s) by Foswiki::Iterator::NumberRangeIterator::BEGIN@16 at line 16 of /var/www/foswikidev/core/lib/Foswiki/Iterator/NumberRangeIterator.pm # once (4µs+0s) by Foswiki::If::OP_isweb::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/If/OP_isweb.pm # once (4µs+0s) by Foswiki::Configure::Dependency::BEGIN@18 at line 18 of /var/www/foswikidev/core/lib/Foswiki/Configure/Dependency.pm # once (4µs+0s) by Foswiki::BEGIN@5.104 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/USERINFO.pm # once (4µs+0s) by Foswiki::Plugins::JQueryPlugin::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin.pm # once (4µs+0s) by Foswiki::Plugins::JQueryPlugin::Plugins::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin/Plugins.pm # once (4µs+0s) by Foswiki::Store::Interfaces::QueryAlgorithm::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Store/Interfaces/QueryAlgorithm.pm # once (4µs+0s) by Foswiki::Query::OP_in::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_in.pm # once (4µs+0s) by Foswiki::Plugins::WysiwygPlugin::BEGIN@26 at line 26 of /var/www/foswikidev/core/lib/Foswiki/Plugins/WysiwygPlugin.pm # once (4µs+0s) by Foswiki::Search::InfoCache::BEGIN@4 at line 4 of /var/www/foswikidev/core/lib/Foswiki/Search/InfoCache.pm # once (4µs+0s) by Foswiki::Plugins::TwistyPlugin::BEGIN@15 at line 15 of /var/www/foswikidev/core/lib/Foswiki/Plugins/TwistyPlugin.pm # once (4µs+0s) by Foswiki::Prefs::BaseBackend::BEGIN@15 at line 15 of /var/www/foswikidev/core/lib/Foswiki/Prefs/BaseBackend.pm # once (4µs+0s) by Foswiki::Query::OP_lt::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_lt.pm # once (4µs+0s) by Foswiki::Serialise::Simplified::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/Serialise/Simplified.pm # once (4µs+0s) by Foswiki::ValidationException::BEGIN@13 at line 13 of /var/www/foswikidev/core/lib/Foswiki/ValidationException.pm # once (4µs+0s) by Foswiki::If::Node::BEGIN@14 at line 14 of /var/www/foswikidev/core/lib/Foswiki/If/Node.pm # once (4µs+0s) by Foswiki::If::OP_isempty::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/If/OP_isempty.pm # once (4µs+0s) by Foswiki::If::OP_allows::BEGIN@13 at line 13 of /var/www/foswikidev/core/lib/Foswiki/If/OP_allows.pm # once (4µs+0s) by Foswiki::Infix::Parser::BEGIN@22 at line 22 of /var/www/foswikidev/core/lib/Foswiki/Infix/Parser.pm # once (4µs+0s) by Foswiki::Contrib::MailerContrib::Subscriber::BEGIN@18 at line 18 of /var/www/foswikidev/core/lib/Foswiki/Contrib/MailerContrib/Subscriber.pm # once (4µs+0s) by Foswiki::Query::OP_int::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_int.pm # once (4µs+0s) by Foswiki::Query::OP_match::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_match.pm # once (4µs+0s) by Foswiki::Plugin::BEGIN@9 at line 9 of /var/www/foswikidev/core/lib/Foswiki/Plugin.pm # once (4µs+0s) by Foswiki::Contrib::JsonRpcContrib::BEGIN@6 at line 6 of /var/www/foswikidev/core/lib/Foswiki/Contrib/JsonRpcContrib.pm # once (4µs+0s) by Foswiki::Query::OP_d2n::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_d2n.pm # once (4µs+0s) by Foswiki::Query::OP_not::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_not.pm # once (4µs+0s) by Foswiki::Query::OP_neg::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_neg.pm # once (4µs+0s) by Foswiki::Query::OP_dot::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_dot.pm # once (4µs+0s) by Foswiki::BEGIN@5.59 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/MAKETEXT.pm # once (4µs+0s) by Foswiki::Prefs::Parser::BEGIN@19 at line 19 of /var/www/foswikidev/core/lib/Foswiki/Prefs/Parser.pm # once (4µs+0s) by Foswiki::Query::OP_times::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_times.pm # once (4µs+0s) by Foswiki::Query::OP_ob::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_ob.pm # once (4µs+0s) by Foswiki::Query::OP_ref::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_ref.pm # once (4µs+0s) by Foswiki::Users::BaseUserMapping::BEGIN@31 at line 31 of /var/www/foswikidev/core/lib/Foswiki/Users/BaseUserMapping.pm # once (4µs+0s) by Foswiki::Store::Rcs::Handler::BEGIN@30 at line 30 of /var/www/foswikidev/core/lib/Foswiki/Store/Rcs/Handler.pm # once (4µs+0s) by Foswiki::Configure::LoadSpec::BEGIN@57 at line 57 of /var/www/foswikidev/core/lib/Foswiki/Configure/LoadSpec.pm # once (4µs+0s) by Foswiki::If::OP_defined::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/If/OP_defined.pm # once (4µs+0s) by Foswiki::Query::OP_minus::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_minus.pm # once (4µs+0s) by Foswiki::Store::Interfaces::SearchAlgorithm::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Store/Interfaces/SearchAlgorithm.pm # once (4µs+0s) by Foswiki::Query::OP_like::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_like.pm # once (4µs+0s) by Foswiki::Configure::Section::BEGIN@17 at line 17 of /var/www/foswikidev/core/lib/Foswiki/Configure/Section.pm # once (4µs+0s) by Foswiki::Query::OP_gte::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_gte.pm # once (4µs+0s) by Foswiki::Query::Parser::BEGIN@18 at line 18 of /var/www/foswikidev/core/lib/Foswiki/Query/Parser.pm # once (4µs+0s) by Foswiki::If::OP_istopic::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/If/OP_istopic.pm # once (4µs+0s) by Foswiki::Contrib::JsonRpcContrib::Error::BEGIN@20 at line 20 of /var/www/foswikidev/core/lib/Foswiki/Contrib/JsonRpcContrib/Error.pm # once (4µs+0s) by Foswiki::Search::Node::BEGIN@13 at line 13 of /var/www/foswikidev/core/lib/Foswiki/Search/Node.pm # once (4µs+0s) by Foswiki::If::OP_dollar::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/If/OP_dollar.pm # once (4µs+0s) by Foswiki::Store::Rcs::Store::BEGIN@34 at line 34 of /var/www/foswikidev/core/lib/Foswiki/Store/Rcs/Store.pm # once (4µs+0s) by Foswiki::BEGIN@5.51 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/PUBURL.pm # once (4µs+0s) by Foswiki::Query::HoistREs::BEGIN@53 at line 53 of /var/www/foswikidev/core/lib/Foswiki/Query/HoistREs.pm # once (4µs+0s) by Foswiki::Query::OP_ne::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_ne.pm # once (4µs+0s) by Foswiki::Iterator::EventIterator::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Iterator/EventIterator.pm # once (4µs+0s) by Foswiki::Query::OP_length::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/OP_length.pm # once (4µs+0s) by Foswiki::BEGIN@5.56 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Macros/SCRIPTURLPATH.pm # once (4µs+0s) by Foswiki::Configure::Item::BEGIN@28 at line 28 of /var/www/foswikidev/core/lib/Foswiki/Configure/Item.pm # once (4µs+0s) by Foswiki::Configure::Auth::BEGIN@18 at line 18 of /var/www/foswikidev/core/lib/Foswiki/Configure/Auth.pm # once (4µs+0s) by Foswiki::Query::UnaryOP::BEGIN@5 at line 5 of /var/www/foswikidev/core/lib/Foswiki/Query/UnaryOP.pm # once (4µs+0s) by Foswiki::Query::OP::BEGIN@17 at line 17 of /var/www/foswikidev/core/lib/Foswiki/Query/OP.pm # once (4µs+0s) by Foswiki::UserMapping::BEGIN@36 at line 36 of /var/www/foswikidev/core/lib/Foswiki/UserMapping.pm # once (4µs+0s) by Foswiki::Iterator::BEGIN@22 at line 22 of /var/www/foswikidev/core/lib/Foswiki/Iterator.pm # once (4µs+0s) by Foswiki::Configure::LoadSpec::BEGIN@356 at line 356 of /var/www/foswikidev/core/lib/Foswiki/Configure/LoadSpec.pm # once (4µs+0s) by Foswiki::Query::ConditionalOP::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Query/ConditionalOP.pm
{
38824845µs shift;
389
390248296µs my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $NONE) ;
391
392248182µs if (vec($mask, $Offsets{'all'}, 1)) {
3931900ns $mask |= $Bits{'all'} ;
39411µs $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
395 }
396
397 # Empty @_ is equivalent to @_ = 'all' ;
3982481.42ms956µs ${^WARNING_BITS} = @_ ? _bits($mask, @_) : $mask | $Bits{all} ;
# spent 56µs making 9 calls to warnings::_bits, avg 6µs/call
399}
400
401sub unimport
402
# spent 330µs within warnings::unimport which was called 26 times, avg 13µs/call: # once (22µs+0s) by Carp::BEGIN@399 at line 399 of Carp.pm # once (18µs+0s) by Carp::BEGIN@406 at line 406 of Carp.pm # once (17µs+0s) by Encode::BEGIN@242 at line 242 of Encode.pm # once (17µs+0s) by Monitor::BEGIN@97 at line 97 of /var/www/foswikidev/core/lib/Monitor.pm # once (16µs+0s) by Foswiki::Plugins::SlideShowPlugin::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Plugins/SlideShowPlugin.pm # once (16µs+0s) by Monitor::BEGIN@231 at line 231 of /var/www/foswikidev/core/lib/Monitor.pm # once (16µs+0s) by Monitor::BEGIN@280 at line 280 of /var/www/foswikidev/core/lib/Monitor.pm # once (16µs+0s) by Foswiki::Templates::BEGIN@136 at line 136 of /var/www/foswikidev/core/lib/Foswiki/Templates.pm # once (15µs+0s) by Exporter::Heavy::BEGIN@197 at line 197 of Exporter/Heavy.pm # once (14µs+0s) by utf8::BEGIN@147 at line 147 of utf8_heavy.pl # once (14µs+0s) by Encode::Alias::BEGIN@4 at line 4 of Encode/Alias.pm # once (12µs+0s) by Foswiki::Configure::Checker::BEGIN@292 at line 292 of /var/www/foswikidev/core/lib/Foswiki/Configure/Checker.pm # once (12µs+0s) by Foswiki::Configure::LoadSpec::BEGIN@354 at line 354 of /var/www/foswikidev/core/lib/Foswiki/Configure/LoadSpec.pm # once (12µs+0s) by CGI::Cookie::BEGIN@149 at line 149 of CGI/Cookie.pm # once (11µs+0s) by Foswiki::Contrib::JsonRpcContrib::BEGIN@12 at line 12 of /var/www/foswikidev/core/lib/Foswiki/Contrib/JsonRpcContrib.pm # once (11µs+0s) by Foswiki::Query::Node::BEGIN@93 at line 93 of /var/www/foswikidev/core/lib/Foswiki/Query/Node.pm # once (11µs+0s) by Foswiki::Plugins::JQueryPlugin::BEGIN@21 at line 21 of /var/www/foswikidev/core/lib/Foswiki/Plugins/JQueryPlugin.pm # once (11µs+0s) by utf8::BEGIN@542 at line 542 of utf8_heavy.pl # once (10µs+0s) by Foswiki::Plugins::TablePlugin::BEGIN@15 at line 15 of /var/www/foswikidev/core/lib/Foswiki/Plugins/TablePlugin.pm # once (10µs+0s) by File::Copy::BEGIN@12.12 at line 12 of File/Copy.pm # once (10µs+0s) by I18N::LangTags::Detect::BEGIN@139 at line 139 of I18N/LangTags/Detect.pm # once (10µs+0s) by Foswiki::Templates::BEGIN@214 at line 214 of /var/www/foswikidev/core/lib/Foswiki/Templates.pm # once (10µs+0s) by Foswiki::Plugins::NatEditPlugin::BEGIN@27 at line 27 of /var/www/foswikidev/core/lib/Foswiki/Plugins/NatEditPlugin.pm # once (8µs+0s) by Foswiki::Plugins::MultiTopicSavePlugin::BEGIN@31 at line 31 of /var/www/foswikidev/core/lib/Foswiki/Plugins/MultiTopicSavePlugin.pm # once (7µs+0s) by Locale::Maketext::BEGIN@442 at line 442 of Locale/Maketext.pm # once (7µs+0s) by Locale::Maketext::BEGIN@469 at line 469 of Locale/Maketext.pm
{
403267µs shift;
404
405265µs my $catmask ;
4062660µs my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $NONE) ;
407
4082632µs if (vec($mask, $Offsets{'all'}, 1)) {
4092116µs $mask |= $Bits{'all'} ;
4102118µs $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
411 }
412
4132610µs push @_, 'all' unless @_;
414
4152630µs foreach my $word ( @_ ) {
4162691µs if ($word eq 'FATAL') {
417 next;
418 }
419 elsif ($catmask = $Bits{$word}) {
420 $mask &= ~($catmask | $DeadBits{$word} | $All);
421 }
422 else
423 { Croaker("Unknown warnings category '$word'")}
424 }
425
42626170µs ${^WARNING_BITS} = $mask ;
427}
428
42929µsmy %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = ();
430
431sub MESSAGE () { 4 };
432sub FATAL () { 2 };
433sub NORMAL () { 1 };
434
435sub __chk
436{
437 my $category ;
438 my $offset ;
439 my $isobj = 0 ;
440 my $wanted = shift;
441 my $has_message = $wanted & MESSAGE;
442
443 unless (@_ == 1 || @_ == ($has_message ? 2 : 0)) {
444 my $sub = (caller 1)[3];
445 my $syntax = $has_message ? "[category,] 'message'" : '[category]';
446 Croaker("Usage: $sub($syntax)");
447 }
448
449 my $message = pop if $has_message;
450
451 if (@_) {
452 # check the category supplied.
453 $category = shift ;
454 if (my $type = ref $category) {
455 Croaker("not an object")
456 if exists $builtin_type{$type};
457 $category = $type;
458 $isobj = 1 ;
459 }
460 $offset = $Offsets{$category};
461 Croaker("Unknown warnings category '$category'")
462 unless defined $offset;
463 }
464 else {
465 $category = (caller(1))[0] ;
466 $offset = $Offsets{$category};
467 Croaker("package '$category' not registered for warnings")
468 unless defined $offset ;
469 }
470
471 my $i;
472
473 if ($isobj) {
474 my $pkg;
475 $i = 2;
476 while (do { { package DB; $pkg = (caller($i++))[0] } } ) {
477 last unless @DB::args && $DB::args[0] =~ /^$category=/ ;
478 }
479 $i -= 2 ;
480 }
481 else {
482 $i = _error_loc(); # see where Carp will allocate the error
483 }
484
485 # Defaulting this to 0 reduces complexity in code paths below.
486 my $callers_bitmask = (caller($i))[9] || 0 ;
487
488 my @results;
489 foreach my $type (FATAL, NORMAL) {
490 next unless $wanted & $type;
491
492 push @results, (vec($callers_bitmask, $offset + $type - 1, 1) ||
493 vec($callers_bitmask, $Offsets{'all'} + $type - 1, 1));
494 }
495
496 # &enabled and &fatal_enabled
497 return $results[0] unless $has_message;
498
499 # &warnif, and the category is neither enabled as warning nor as fatal
500 return if $wanted == (NORMAL | FATAL | MESSAGE)
501 && !($results[0] || $results[1]);
502
503 require Carp;
504 Carp::croak($message) if $results[0];
505 # will always get here for &warn. will only get here for &warnif if the
506 # category is enabled
507 Carp::carp($message);
508}
509
510sub _mkMask
511
# spent 48µs within warnings::_mkMask which was called 8 times, avg 6µs/call: # 4 times (31µs+0s) by warnings::register_categories at line 525, avg 8µs/call # 4 times (18µs+0s) by warnings::register_categories at line 531, avg 4µs/call
{
51285µs my ($bit) = @_;
51383µs my $mask = "";
514
515818µs vec($mask, $bit, 1) = 1;
516850µs return $mask;
517}
518
519sub register_categories
520
# spent 446µs (398+48) within warnings::register_categories which was called 4 times, avg 112µs/call: # 4 times (398µs+48µs) by warnings::register::import at line 43 of warnings/register.pm, avg 112µs/call
{
52146µs my @names = @_;
522
523422µs for my $name (@names) {
524411µs if (! defined $Bits{$name}) {
525414µs431µs $Bits{$name} = _mkMask($LAST_BIT);
# spent 31µs making 4 calls to warnings::_mkMask, avg 8µs/call
52648µs vec($Bits{'all'}, $LAST_BIT, 1) = 1;
52745µs $Offsets{$name} = $LAST_BIT ++;
528467µs foreach my $k (keys %Bits) {
529214227µs vec($Bits{$k}, $LAST_BIT, 1) = 0;
530 }
531411µs418µs $DeadBits{$name} = _mkMask($LAST_BIT);
# spent 18µs making 4 calls to warnings::_mkMask, avg 4µs/call
53248µs vec($DeadBits{'all'}, $LAST_BIT++, 1) = 1;
533 }
534 }
535}
536
537sub _error_loc {
538 require Carp;
539 goto &Carp::short_error_loc; # don't introduce another stack frame
540}
541
542sub enabled
543{
544 return __chk(NORMAL, @_);
545}
546
547sub fatal_enabled
548{
549 return __chk(FATAL, @_);
550}
551
552sub warn
553{
554 return __chk(FATAL | MESSAGE, @_);
555}
556
557sub warnif
558{
559 return __chk(NORMAL | FATAL | MESSAGE, @_);
560}
561
562# These are not part of any public interface, so we can delete them to save
563# space.
564116µsdelete $warnings::{$_} foreach qw(NORMAL FATAL MESSAGE);
565
566169µs1;
567
568# ex: set ro: