← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 15:57:08 2022
Reported on Wed Dec 14 16:00:29 2022

Filename/Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/warnings.pm
StatementsExecuted 42794 statements in 29.3ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1576118.47ms11.4mswarnings::::_bitswarnings::_bits
2261481408.04ms20.0mswarnings::::importwarnings::import
1992215.37ms5.37mswarnings::::_expand_bitswarnings::_expand_bits
4163232204.88ms7.36mswarnings::::unimportwarnings::unimport
160221613µs613µswarnings::::CORE:matchwarnings::CORE:match (opcode)
822215µs274µswarnings::::register_categorieswarnings::register_categories
142159µs59µswarnings::::_mkMaskwarnings::_mkMask
0000s0swarnings::::Croakerwarnings::Croaker
0000s0swarnings::::__chkwarnings::__chk
0000s0swarnings::::_error_locwarnings::_error_loc
0000s0swarnings::::bitswarnings::bits
0000s0swarnings::::enabledwarnings::enabled
0000s0swarnings::::enabled_at_levelwarnings::enabled_at_level
0000s0swarnings::::fatal_enabledwarnings::fatal_enabled
0000s0swarnings::::fatal_enabled_at_levelwarnings::fatal_enabled_at_level
0000s0swarnings::::warnwarnings::warn
0000s0swarnings::::warn_at_levelwarnings::warn_at_level
0000s0swarnings::::warnifwarnings::warnif
0000s0swarnings::::warnif_at_levelwarnings::warnif_at_level
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.58";
9
10# Verify that we're called correctly so that warnings will work.
11# Can't use Carp, since Carp uses us!
12# String regexps because constant folding = smaller optree = less memory vs regexp literal
13# see also strict.pm.
14143µs119µsdie sprintf "Incorrect use of pragma '%s' at %s line %d.\n", __PACKAGE__, +(caller)[1,2]
# spent 19µs making 1 call to warnings::CORE:match
15 if __FILE__ !~ ( '(?x) \b '.__PACKAGE__.' \.pmc? \z' )
16 && __FILE__ =~ ( '(?x) \b (?i:'.__PACKAGE__.') \.pmc? \z' );
17
18151µsour %Offsets = (
19 # Warnings Categories added in Perl 5.008
20 'all' => 0,
21 'closure' => 2,
22 'deprecated' => 4,
23 'exiting' => 6,
24 'glob' => 8,
25 'io' => 10,
26 'closed' => 12,
27 'exec' => 14,
28 'layer' => 16,
29 'newline' => 18,
30 'pipe' => 20,
31 'unopened' => 22,
32 'misc' => 24,
33 'numeric' => 26,
34 'once' => 28,
35 'overflow' => 30,
36 'pack' => 32,
37 'portable' => 34,
38 'recursion' => 36,
39 'redefine' => 38,
40 'regexp' => 40,
41 'severe' => 42,
42 'debugging' => 44,
43 'inplace' => 46,
44 'internal' => 48,
45 'malloc' => 50,
46 'signal' => 52,
47 'substr' => 54,
48 'syntax' => 56,
49 'ambiguous' => 58,
50 'bareword' => 60,
51 'digit' => 62,
52 'parenthesis' => 64,
53 'precedence' => 66,
54 'printf' => 68,
55 'prototype' => 70,
56 'qw' => 72,
57 'reserved' => 74,
58 'semicolon' => 76,
59 'taint' => 78,
60 'threads' => 80,
61 'uninitialized' => 82,
62 'unpack' => 84,
63 'untie' => 86,
64 'utf8' => 88,
65 'void' => 90,
66
67 # Warnings Categories added in Perl 5.011
68 'imprecision' => 92,
69 'illegalproto' => 94,
70
71 # Warnings Categories added in Perl 5.013
72 'non_unicode' => 96,
73 'nonchar' => 98,
74 'surrogate' => 100,
75
76 # Warnings Categories added in Perl 5.017
77 'experimental' => 102,
78 'experimental::lexical_subs' => 104,
79 'experimental::regex_sets' => 106,
80 'experimental::smartmatch' => 108,
81
82 # Warnings Categories added in Perl 5.019
83 'experimental::postderef' => 110,
84 'experimental::signatures' => 112,
85 'syscalls' => 114,
86
87 # Warnings Categories added in Perl 5.021
88 'experimental::bitwise' => 116,
89 'experimental::const_attr' => 118,
90 'experimental::re_strict' => 120,
91 'experimental::refaliasing' => 122,
92 'locale' => 124,
93 'missing' => 126,
94 'redundant' => 128,
95
96 # Warnings Categories added in Perl 5.025
97 'experimental::declared_refs' => 130,
98
99 # Warnings Categories added in Perl 5.027
100 'experimental::alpha_assertions' => 132,
101 'experimental::script_run' => 134,
102 'shadow' => 136,
103
104 # Warnings Categories added in Perl 5.029
105 'experimental::private_use' => 138,
106 'experimental::uniprop_wildcards' => 140,
107 'experimental::vlb' => 142,
108
109 # Warnings Categories added in Perl 5.031
110 'experimental::isa' => 144,
111
112 # Warnings Categories added in Perl 5.033
113 'experimental::try' => 146,
114
115 # Warnings Categories added in Perl 5.035
116 'experimental::args_array_with_signatures'=> 148,
117 'experimental::builtin' => 150,
118 'experimental::defer' => 152,
119 'experimental::extra_paired_delimiters'=> 154,
120 'experimental::for_list' => 156,
121 'scalar' => 158,
122);
123
124125µsour %Bits = (
125 'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55", # [0..79]
126 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [29]
127 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [30]
128 'closed' => "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
129 'closure' => "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
130 'debugging' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
131 'deprecated' => "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
132 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31]
133 'exec' => "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
134 'exiting' => "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
135 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x55\x51\x05\x54\x54\x55\x15", # [51..56,58..61,65..67,69..78]
136 'experimental::alpha_assertions' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [66]
137 'experimental::args_array_with_signatures'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [74]
138 'experimental::bitwise' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [58]
139 'experimental::builtin' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [75]
140 'experimental::const_attr' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [59]
141 'experimental::declared_refs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [65]
142 'experimental::defer' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [76]
143 'experimental::extra_paired_delimiters'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [77]
144 'experimental::for_list' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [78]
145 'experimental::isa' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [72]
146 'experimental::lexical_subs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [52]
147 'experimental::postderef' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [55]
148 'experimental::private_use' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [69]
149 'experimental::re_strict' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [60]
150 'experimental::refaliasing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [61]
151 'experimental::regex_sets' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [53]
152 'experimental::script_run' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [67]
153 'experimental::signatures' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [56]
154 'experimental::smartmatch' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [54]
155 'experimental::try' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [73]
156 'experimental::uniprop_wildcards' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [70]
157 'experimental::vlb' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [71]
158 'glob' => "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
159 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [47]
160 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [46]
161 'inplace' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
162 'internal' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [24]
163 'io' => "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [5..11,57]
164 'layer' => "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
165 'locale' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [62]
166 'malloc' => "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [25]
167 'misc' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
168 'missing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [63]
169 'newline' => "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
170 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [48]
171 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [49]
172 'numeric' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
173 'once' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
174 'overflow' => "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
175 'pack' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
176 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [32]
177 'pipe' => "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
178 'portable' => "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
179 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [33]
180 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [34]
181 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [35]
182 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [36]
183 'recursion' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
184 'redefine' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
185 'redundant' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [64]
186 'regexp' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
187 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [37]
188 'scalar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40", # [79]
189 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [38]
190 'severe' => "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25]
191 'shadow' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [68]
192 'signal' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [26]
193 'substr' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [27]
194 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [50]
195 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [28..38,47]
196 'syscalls' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [57]
197 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [39]
198 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [40]
199 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [41]
200 'unopened' => "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
201 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [42]
202 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [43]
203 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x15\x00\x00\x00\x00\x00\x00\x00", # [44,48..50]
204 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [45]
205);
206
207116µsour %DeadBits = (
208 'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..79]
209 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [29]
210 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [30]
211 'closed' => "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
212 'closure' => "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
213 'debugging' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
214 'deprecated' => "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
215 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31]
216 'exec' => "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
217 'exiting' => "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
218 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xaa\xa2\x0a\xa8\xa8\xaa\x2a", # [51..56,58..61,65..67,69..78]
219 'experimental::alpha_assertions' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [66]
220 'experimental::args_array_with_signatures'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [74]
221 'experimental::bitwise' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [58]
222 'experimental::builtin' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [75]
223 'experimental::const_attr' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [59]
224 'experimental::declared_refs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [65]
225 'experimental::defer' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [76]
226 'experimental::extra_paired_delimiters'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [77]
227 'experimental::for_list' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [78]
228 'experimental::isa' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [72]
229 'experimental::lexical_subs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [52]
230 'experimental::postderef' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [55]
231 'experimental::private_use' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [69]
232 'experimental::re_strict' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [60]
233 'experimental::refaliasing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [61]
234 'experimental::regex_sets' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [53]
235 'experimental::script_run' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [67]
236 'experimental::signatures' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [56]
237 'experimental::smartmatch' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [54]
238 'experimental::try' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [73]
239 'experimental::uniprop_wildcards' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [70]
240 'experimental::vlb' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [71]
241 'glob' => "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
242 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [47]
243 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [46]
244 'inplace' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
245 'internal' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [24]
246 'io' => "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [5..11,57]
247 'layer' => "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
248 'locale' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [62]
249 'malloc' => "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [25]
250 'misc' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
251 'missing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [63]
252 'newline' => "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
253 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [48]
254 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [49]
255 'numeric' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
256 'once' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
257 'overflow' => "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
258 'pack' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
259 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [32]
260 'pipe' => "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
261 'portable' => "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
262 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [33]
263 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [34]
264 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [35]
265 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [36]
266 'recursion' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
267 'redefine' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
268 'redundant' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [64]
269 'regexp' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
270 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [37]
271 'scalar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", # [79]
272 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [38]
273 'severe' => "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25]
274 'shadow' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [68]
275 'signal' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [26]
276 'substr' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [27]
277 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [50]
278 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [28..38,47]
279 'syscalls' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [57]
280 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [39]
281 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [40]
282 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [41]
283 'unopened' => "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
284 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [42]
285 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [43]
286 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x2a\x00\x00\x00\x00\x00\x00\x00", # [44,48..50]
287 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [45]
288);
289
290# These are used by various things, including our own tests
29111µsour $NONE = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
29210sour $DEFAULT = "\x10\x01\x00\x00\x00\x50\x04\x00\x00\x00\x00\x00\x00\x51\x51\x15\x54\x54\x55\x15"; # [2,4,22,23,25,52,54..56,58..62,65..67,69..78]
29311µsour $LAST_BIT = 160 ;
29410sour $BYTES = 20 ;
295
296sub Croaker
297{
298 require Carp; # this initializes %CarpInternal
299 local $Carp::CarpInternal{'warnings'};
300 delete $Carp::CarpInternal{'warnings'};
301 Carp::croak(@_);
302}
303
304
# spent 5.37ms within warnings::_expand_bits which was called 1992 times, avg 3µs/call: # 1576 times (2.89ms+0s) by warnings::_bits at line 329, avg 2µs/call # 416 times (2.48ms+0s) by warnings::unimport at line 390, avg 6µs/call
sub _expand_bits {
3051992329µs my $bits = shift;
3061992635µs my $want_len = ($LAST_BIT + 7) >> 3;
3071992307µs my $len = length($bits);
3081992328µs if ($len != $want_len) {
309494371µs if ($bits eq "") {
310 $bits = "\x00" x $want_len;
311 } elsif ($len > $want_len) {
312 substr $bits, $want_len, $len-$want_len, "";
313 } else {
314494699µs my $x = vec($bits, $Offsets{all} >> 1, 2);
315494207µs $x |= $x << 2;
31649461µs $x |= $x << 4;
317494875µs $bits .= chr($x) x ($want_len - $len);
318 }
319 }
32019923.84ms return $bits;
321}
322
323
# spent 11.4ms (8.47+2.89) within warnings::_bits which was called 1576 times, avg 7µs/call: # 1576 times (8.47ms+2.89ms) by warnings::import at line 373, avg 7µs/call
sub _bits {
3241576241µs my $mask = shift ;
3251576129µs my $catmask ;
3261576197µs my $fatal = 0 ;
3271576169µs my $no_fatal = 0 ;
328
32915761.12ms15762.89ms $mask = _expand_bits($mask);
# spent 2.89ms making 1576 calls to warnings::_expand_bits, avg 2µs/call
3301576515µs foreach my $word ( @_ ) {
33128252.02ms if ($word eq 'FATAL') {
3321249114µs $fatal = 1;
3331249136µs $no_fatal = 0;
334 }
335 elsif ($word eq 'NONFATAL') {
336 $fatal = 0;
337 $no_fatal = 1;
338 }
339 elsif ($catmask = $Bits{$word}) {
3401576390µs $mask |= $catmask ;
3411576557µs $mask |= $DeadBits{$word} if $fatal ;
3421576183µs $mask = ~(~$mask | $DeadBits{$word}) if $no_fatal ;
343 }
344 else
345 { Croaker("Unknown warnings category '$word'")}
346 }
347
34815762.37ms return $mask ;
349}
350
351sub bits
352{
353 # called from B::Deparse.pm
354 push @_, 'all' unless @_ ;
355 return _bits("", @_) ;
356}
357
358sub import
359
# spent 20.0ms (8.04+12.0) within warnings::import which was called 226 times, avg 89µs/call: # 18 times (4.61ms+7.66ms) by strictures::_enable_2 at line 171 of strictures.pm, avg 682µs/call # 18 times (504µs+617µs) by strictures::_enable_2 at line 173 of strictures.pm, avg 62µs/call # 18 times (142µs+218µs) by strictures::_enable_2 at line 170 of strictures.pm, avg 20µs/call # 17 times (184µs+185µs) by Moo::import at line 47 of Moo.pm, avg 22µs/call # 6 times (110µs+140µs) by Mojo::Base::import at line 102 of Mojo/Base.pm, avg 42µs/call # 4 times (46µs+79µs) by strictures::_enable_1 at line 140 of strictures.pm, avg 31µs/call # 4 times (74µs+43µs) by Role::Tiny::import at line 85 of Role/Tiny.pm, avg 29µs/call # once (19µs+94µs) by IO::Uncompress::Gunzip::BEGIN@9 at line 9 of IO/Uncompress/Gunzip.pm # once (70µs+40µs) by Package::Stash::BEGIN@3 at line 3 of Package/Stash.pm # once (35µs+74µs) by main::BEGIN@1.1 at line 1 of /Users/ether/git/fastly/Heavenly/profiling/jsm-0.556-om-0.034/../prof.pl # once (48µs+61µs) by Types::Standard::Tuple::BEGIN@7 at line 7 of Types/Standard/Tuple.pm # once (19µs+78µs) by YAML::PP::BEGIN@3 at line 3 of YAML/PP/Loader.pm # once (14µs+80µs) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@2 at line 2 of Sub/Install.pm # once (57µs+30µs) by Module::Runtime::BEGIN@2 at line 2 of JSON/Schema/Modern/Vocabulary/Core.pm # once (51µs+33µs) by Types::Standard::Map::BEGIN@7 at line 7 of Types/Standard/Map.pm # once (67µs+16µs) by Symbol::BEGIN@4 at line 4 of Symbol.pm # once (65µs+17µs) by YAML::PP::Dumper::BEGIN@2 at line 2 of YAML/PP/Emitter.pm # once (37µs+29µs) by main::BEGIN@2.3 at line 2 of OpenAPI/Modern.pm # once (16µs+46µs) by JSON::Schema::Modern::BEGIN@3 at line 3 of Path/Tiny.pm # once (20µs+42µs) by JSON::Schema::Modern::BEGIN@2.159 at line 2 of JSON/Schema/Modern/Utilities.pm # once (17µs+43µs) by experimental::BEGIN@4 at line 4 of experimental.pm # once (35µs+24µs) by IO::Uncompress::RawInflate::BEGIN@5 at line 5 of IO/Uncompress/RawInflate.pm # once (23µs+35µs) by JSON::Schema::Modern::Result::BEGIN@2 at line 2 of JSON/Schema/Modern/Annotation.pm # once (30µs+26µs) by namespace::clean::_Util::BEGIN@12 at line 12 of namespace/clean/_Util.pm # once (20µs+34µs) by Type::Tiny::BEGIN@5 at line 5 of Type/Tiny.pm # once (22µs+31µs) by Types::Standard::ArrayRef::BEGIN@7 at line 7 of Types/Standard/ArrayRef.pm # once (30µs+22µs) by Module::Runtime::BEGIN@2.319 at line 2 of JSON/Schema/Modern/Vocabulary/MetaData.pm # once (21µs+31µs) by Type::Tiny::Duck::BEGIN@5 at line 5 of Type/Tiny/Duck.pm # once (21µs+30µs) by Pod::Text::BEGIN@19 at line 19 of Pod/Text.pm # once (24µs+27µs) by List::MoreUtils::PP::BEGIN@5 at line 5 of List/MoreUtils/PP.pm # once (20µs+30µs) by Types::Standard::Dict::BEGIN@7 at line 7 of Types/Standard/Dict.pm # once (20µs+29µs) by List::MoreUtils::XS::BEGIN@5 at line 5 of List/MoreUtils/XS.pm # once (25µs+24µs) by mro::BEGIN@11 at line 11 of mro.pm # once (17µs+32µs) by Module::Load::BEGIN@2 at line 2 of YAML/PP/Schema/Core.pm # once (24µs+24µs) by IO::Uncompress::Base::BEGIN@5 at line 5 of IO/Uncompress/Base.pm # once (22µs+25µs) by namespace::clean::BEGIN@3 at line 3 of namespace/clean.pm # once (22µs+24µs) by Unicode::Normalize::BEGIN@5 at line 5 of Unicode/Normalize.pm # once (17µs+29µs) by Method::Generate::BuildAll::BEGIN@3 at line 3 of Method/Generate/BuildAll.pm # once (17µs+29µs) by Sub::Quote::BEGIN@6 at line 6 of Sub/Quote.pm # once (18µs+27µs) by Type::Tiny::Union::BEGIN@5 at line 5 of Type/Tiny/Union.pm # once (18µs+27µs) by YAML::PP::BEGIN@2.283 at line 2 of YAML/PP/Schema/JSON.pm # once (25µs+20µs) by Types::TypeTiny::BEGIN@5 at line 5 of Types/TypeTiny.pm # once (24µs+20µs) by YAML::PP::Schema::BEGIN@2 at line 2 of YAML/PP/Common.pm # once (18µs+25µs) by MooX::HandlesVia::BEGIN@5 at line 5 of MooX/HandlesVia.pm # once (17µs+26µs) by YAML::PP::Dumper::BEGIN@2.295 at line 2 of YAML/PP/Representer.pm # once (18µs+25µs) by Pod::Escapes::BEGIN@3 at line 3 of Pod/Escapes.pm # once (14µs+28µs) by YAML::PP::Lexer::BEGIN@2 at line 2 of YAML/PP/Grammar.pm # once (19µs+22µs) by YAML::PP::Parser::BEGIN@2.287 at line 2 of YAML/PP/Exception.pm # once (16µs+25µs) by strictures::BEGIN@4 at line 4 of strictures.pm # once (18µs+22µs) by Package::Stash::XS::BEGIN@3 at line 3 of Package/Stash/XS.pm # once (18µs+22µs) by Exporter::Tiny::BEGIN@5 at line 5 of Exporter/Tiny.pm # once (15µs+25µs) by Module::Runtime::BEGIN@2.313 at line 2 of JSON/Schema/Modern/Vocabulary/FormatAssertion.pm # once (19µs+21µs) by Data::Dumper::BEGIN@13 at line 13 of Data/Dumper.pm # once (19µs+21µs) by Params::Util::BEGIN@60 at line 60 of Params/Util.pm # once (17µs+22µs) by MIME::Base64::BEGIN@4 at line 4 of MIME/Base64.pm # once (21µs+18µs) by Moo::sification::BEGIN@3 at line 3 of Moo/sification.pm # once (16µs+23µs) by Types::Standard::HashRef::BEGIN@7 at line 7 of Types/Standard/HashRef.pm # once (18µs+21µs) by Mojo::Base::BEGIN@4 at line 4 of Mojo/Base.pm # once (17µs+22µs) by Sub::Exporter::Progressive::BEGIN@4 at line 4 of Sub/Exporter/Progressive.pm # once (17µs+21µs) by main::BEGIN@3.281 at line 3 of YAML/PP.pm # once (15µs+23µs) by Method::Generate::Accessor::BEGIN@3 at line 3 of Method/Generate/Accessor.pm # once (16µs+21µs) by YAML::PP::Dumper::BEGIN@3 at line 3 of YAML/PP/Writer.pm # once (15µs+22µs) by Sub::Defer::BEGIN@3 at line 3 of Sub/Defer.pm # once (20µs+17µs) by Moo::Object::BEGIN@3 at line 3 of Moo/Object.pm # once (13µs+23µs) by Params::Util::PP::BEGIN@4 at line 4 of Params/Util/PP.pm # once (18µs+18µs) by Encode::Alias::BEGIN@3 at line 3 of Encode/Alias.pm # once (17µs+19µs) by IO::Compress::Adapter::Deflate::BEGIN@4 at line 4 of IO/Compress/Adapter/Deflate.pm # once (13µs+23µs) by YAML::PP::Dumper::BEGIN@2.298 at line 2 of YAML/PP/Writer/File.pm # once (13µs+22µs) by JSON::Schema::Modern::BEGIN@2.111 at line 2 of JSON/Schema/Modern/Document.pm # once (15µs+19µs) by IO::BEGIN@8 at line 8 of IO.pm # once (12µs+22µs) by Encode::MIME::Name::BEGIN@3 at line 3 of Encode/MIME/Name.pm # once (14µs+20µs) by MooX::TypeTiny::BEGIN@3 at line 3 of MooX/TypeTiny.pm # once (14µs+20µs) by Feature::Compat::Try::BEGIN@9 at line 9 of Feature/Compat/Try.pm # once (15µs+19µs) by Safe::Isa::BEGIN@4 at line 4 of Safe/Isa.pm # once (14µs+20µs) by Module::Runtime::BEGIN@2.321 at line 2 of JSON/Schema/Modern/Vocabulary/OpenAPI.pm # once (16µs+18µs) by Type::Library::BEGIN@5 at line 5 of Type/Library.pm # once (15µs+19µs) by List::MoreUtils::BEGIN@5 at line 5 of List/MoreUtils.pm # once (14µs+20µs) by Types::Standard::BEGIN@5 at line 5 of Types/Standard.pm # once (14µs+19µs) by Module::Implementation::BEGIN@6 at line 6 of Module/Implementation.pm # once (15µs+18µs) by IO::Compress::Gzip::BEGIN@6 at line 6 of IO/Compress/Gzip.pm # once (15µs+18µs) by OpenAPI::Modern::BEGIN@2.242 at line 2 of JSON/Schema/Modern/Document/OpenAPI.pm # once (12µs+20µs) by YAML::PP::Loader::BEGIN@3.291 at line 3 of YAML/PP/Constructor.pm # once (12µs+20µs) by JSON::MaybeXS::BEGIN@4 at line 4 of JSON/MaybeXS.pm # once (15µs+17µs) by Eval::TypeTiny::BEGIN@13 at line 13 of Eval/TypeTiny.pm # once (12µs+20µs) by B::Hooks::EndOfScope::BEGIN@6 at line 6 of B/Hooks/EndOfScope.pm # once (13µs+19µs) by Config::BEGIN@6 at line 6 of Config_heavy.pl # once (14µs+18µs) by Digest::MD5::BEGIN@4 at line 4 of Digest/MD5.pm # once (13µs+18µs) by JSON::Schema::Modern::BEGIN@2.67 at line 2 of JSON/Schema/Modern/Error.pm # once (15µs+16µs) by re::BEGIN@5 at line 5 of re.pm # once (15µs+16µs) by YAML::PP::BEGIN@2.293 at line 2 of YAML/PP/Dumper.pm # once (16µs+15µs) by Module::Runtime::BEGIN@2.311 at line 2 of JSON/Schema/Modern/Vocabulary/Validation.pm # once (13µs+17µs) by IO::Compress::Zlib::Extra::BEGIN@6 at line 6 of IO/Compress/Zlib/Extra.pm # once (14µs+16µs) by Type::Coercion::BEGIN@5 at line 5 of Type/Coercion.pm # once (14µs+16µs) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@2.309 at line 2 of JSON/Schema/Modern/Vocabulary/Unevaluated.pm # once (11µs+19µs) by YAML::PP::Parser::BEGIN@3.289 at line 3 of YAML/PP/Reader.pm # once (12µs+18µs) by Module::Runtime::BEGIN@2.307 at line 2 of JSON/Schema/Modern/Vocabulary/Applicator.pm # once (14µs+16µs) by File::ShareDir::BEGIN@122 at line 122 of File/ShareDir.pm # once (10µs+19µs) by utf8::BEGIN@4 at line 4 of utf8.pm # once (11µs+18µs) by YAML::PP::Loader::BEGIN@3 at line 3 of YAML/PP/Parser.pm # once (14µs+14µs) by IO::Compress::Gzip::Constants::BEGIN@4 at line 4 of IO/Compress/Gzip/Constants.pm # once (14µs+14µs) by JSON::Schema::Modern::BEGIN@2.82 at line 2 of JSON/Schema/Modern/Result.pm # once (13µs+15µs) by YAML::PP::Parser::BEGIN@3 at line 3 of YAML/PP/Render.pm # once (12µs+16µs) by Encode::Encoding::BEGIN@5 at line 5 of Encode/Encoding.pm # once (12µs+16µs) by Type::Tiny::Enum::BEGIN@5 at line 5 of Type/Tiny/Enum.pm # once (13µs+15µs) by Config::BEGIN@10 at line 10 of Config.pm # once (15µs+13µs) by Type::Tiny::ConstrainedObject::BEGIN@5 at line 5 of Type/Tiny/ConstrainedObject.pm # once (11µs+16µs) by Module::Runtime::BEGIN@2.315 at line 2 of JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm # once (13µs+14µs) by Moo::_Utils::BEGIN@2.305 at line 2 of JSON/Schema/Modern/Vocabulary.pm # once (13µs+14µs) by List::Util::BEGIN@10 at line 10 of List/Util.pm # once (13µs+14µs) by overloading::BEGIN@2 at line 2 of overloading.pm # once (14µs+12µs) by IO::Uncompress::Adapter::Inflate::BEGIN@4 at line 4 of IO/Uncompress/Adapter/Inflate.pm # once (11µs+15µs) by Module::Runtime::BEGIN@2.317 at line 2 of JSON/Schema/Modern/Vocabulary/Content.pm # once (10µs+16µs) by Class::Inspector::BEGIN@7 at line 7 of Class/Inspector.pm # once (8µs+18µs) by Method::Generate::Constructor::BEGIN@3 at line 3 of Method/Generate/Constructor.pm # once (11µs+14µs) by Moo::_Utils::BEGIN@2.27 at line 2 of Class/Method/Modifiers.pm # once (13µs+12µs) by Compress::Raw::Zlib::BEGIN@9 at line 9 of Compress/Raw/Zlib.pm # once (10µs+15µs) by bytes::BEGIN@4 at line 4 of bytes.pm # once (11µs+13µs) by YAML::PP::BEGIN@2 at line 2 of YAML/PP/Schema.pm # once (12µs+12µs) by YAML::PP::Parser::BEGIN@2.285 at line 2 of YAML/PP/Lexer.pm # once (11µs+13µs) by File::Basename::BEGIN@52 at line 52 of File/Basename.pm # once (11µs+12µs) by Type::Tiny::Class::BEGIN@5 at line 5 of Type/Tiny/Class.pm # once (8µs+15µs) by Encode::Config::BEGIN@8 at line 8 of Encode/Config.pm # once (8µs+15µs) by Role::Tiny::BEGIN@3 at line 3 of Role/Tiny.pm # once (9µs+14µs) by Role::Tiny::With::BEGIN@4 at line 4 of Role/Tiny/With.pm # once (12µs+10µs) by Digest::SHA::BEGIN@6 at line 6 of Digest/SHA.pm # once (9µs+13µs) by Encode::BEGIN@6 at line 6 of Encode.pm # once (12µs+10µs) by Ref::Util::BEGIN@5 at line 5 of Ref/Util.pm # once (11µs+11µs) by URI::Escape::BEGIN@4 at line 4 of URI/Escape.pm # once (8µs+14µs) by IO::Compress::Base::BEGIN@7 at line 7 of IO/Compress/Base.pm # once (10µs+12µs) by Moo::BEGIN@3 at line 3 of Moo.pm # once (10µs+11µs) by Carp::BEGIN@5 at line 5 of Carp.pm # once (8µs+13µs) by B::Hooks::EndOfScope::XS::BEGIN@5 at line 5 of B/Hooks/EndOfScope/XS.pm # once (7µs+13µs) by POSIX::BEGIN@3 at line 3 of POSIX.pm # once (10µs+10µs) by Mojo::Util::BEGIN@16 at line 16 of Getopt/Long.pm # once (7µs+13µs) by Try::Tiny::BEGIN@8 at line 8 of Try/Tiny.pm # once (11µs+9µs) by Moo::Role::BEGIN@3 at line 3 of Moo/Role.pm # once (10µs+10µs) by IO::Compress::RawDeflate::BEGIN@6 at line 6 of IO/Compress/RawDeflate.pm # once (10µs+10µs) by Digest::base::BEGIN@4 at line 4 of Digest/base.pm # once (9µs+10µs) by OpenAPI::Modern::BEGIN@2 at line 2 of JSON/Schema/Modern.pm # once (6µs+13µs) by Ref::Util::XS::BEGIN@5 at line 5 of Ref/Util/XS.pm # once (9µs+10µs) by Module::Load::BEGIN@4 at line 4 of Module/Load.pm # once (7µs+11µs) by Sub::Util::BEGIN@8 at line 8 of Sub/Util.pm # once (9µs+7µs) by Variable::Magic::BEGIN@6 at line 6 of Variable/Magic.pm # once (7µs+9µs) by IO::Compress::Base::Common::BEGIN@4 at line 4 of IO/Compress/Base/Common.pm # once (7µs+8µs) by IO::Compress::Base::Common::BEGIN@522 at line 522 of IO/Compress/Base/Common.pm # once (7µs+7µs) by Moo::_Utils::BEGIN@3 at line 3 of Moo/_Utils.pm # once (7µs+7µs) by File::GlobMapper::BEGIN@4 at line 4 of File/GlobMapper.pm # once (9µs+4µs) by Scalar::Util::BEGIN@10 at line 10 of Scalar/Util.pm
{
36022681µs my $invocant = shift;
361
362 # append 'all' when implied (empty import list or after a lone
363 # "FATAL" or "NONFATAL")
364226291µs push @_, 'all'
365 if !@_ || (@_==1 && ($_[0] eq 'FATAL' || $_[0] eq 'NONFATAL'));
366
367226130µs my @fatal = ();
3682261.02ms foreach my $warning (@_) {
36916013.91ms1601594µs if($warning =~ /^(NON)?FATAL$/) {
# spent 594µs making 1601 calls to warnings::CORE:match, avg 371ns/call
370 @fatal = ($warning);
371 } elsif(substr($warning, 0, 1) ne '-') {
3721576713µs my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
37315761.79ms157611.4ms ${^WARNING_BITS} = _bits($mask, @fatal, $warning);
# spent 11.4ms making 1576 calls to warnings::_bits, avg 7µs/call
374 } else {
375 $invocant->unimport(substr($warning, 1));
376 }
377 }
378}
379
380sub unimport
381
# spent 7.36ms (4.88+2.48) within warnings::unimport which was called 416 times, avg 18µs/call: # 54 times (381µs+117µs) by experimental::_enable at line 68 of experimental.pm, avg 9µs/call # 18 times (286µs+19µs) by strictures::_enable_2 at line 172 of strictures.pm, avg 17µs/call # 18 times (106µs+22µs) by strictures::_enable_2 at line 174 of strictures.pm, avg 7µs/call # 6 times (57µs+20µs) by Feature::Compat::Try::import at line 146 of Feature/Compat/Try.pm, avg 13µs/call # 2 times (13µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.59 or Type::Tiny::BEGIN@3.60 at line 3 of (eval 136)[Eval/TypeTiny.pm:8], avg 10µs/call # once (120µs+32µs) by JSON::Schema::Modern::Document::BEGIN@79 at line 79 of (eval 424)[Sub/Quote.pm:3] # once (122µs+7µs) by JSON::Schema::Modern::Annotation::BEGIN@5.86 at line 5 of (eval 232)[Sub/Quote.pm:3] # once (18µs+75µs) by Eval::TypeTiny::Sandbox::BEGIN@3.40 at line 3 of (eval 90)[Eval/TypeTiny.pm:8] # once (79µs+8µs) by JSON::Schema::Modern::BEGIN@5.225 at line 5 of (eval 366)[Sub/Quote.pm:3] # once (24µs+44µs) by OpenAPI::Modern::BEGIN@5.272 at line 5 of (eval 406)[Sub/Quote.pm:3] # once (55µs+11µs) by Sub::Defer::BEGIN@167 at line 167 of Sub/Defer.pm # once (46µs+13µs) by JSON::Schema::Modern::Document::BEGIN@8 at line 8 of (eval 263)[Sub/Quote.pm:3] # once (7µs+48µs) by JSON::Schema::Modern::Annotation::BEGIN@90 at line 90 of (eval 431)[Sub/Quote.pm:3] # once (30µs+23µs) by JSON::Schema::Modern::Document::BEGIN@11.328 at line 11 of (eval 424)[Sub/Quote.pm:3] # once (45µs+8µs) by Moo::_Utils::BEGIN@228 at line 228 of Moo/_Utils.pm # once (30µs+19µs) by Types::Standard::BEGIN@194 at line 194 of Types/Standard.pm # once (20µs+29µs) by Eval::TypeTiny::Sandbox::BEGIN@3.30 at line 3 of (eval 61)[Eval/TypeTiny.pm:8] # once (31µs+17µs) by IO::Compress::Base::BEGIN@278 at line 278 of IO/Compress/Base.pm # once (34µs+13µs) by JSON::Schema::Modern::BEGIN@7.210 at line 7 of (eval 355)[Sub/Quote.pm:3] # once (36µs+11µs) by IO::Uncompress::Base::BEGIN@90 at line 90 of IO/Uncompress/Base.pm # once (21µs+26µs) by Eval::TypeTiny::Sandbox::BEGIN@3.55 at line 3 of (eval 128)[Eval/TypeTiny.pm:8] # once (24µs+19µs) by JSON::Schema::Modern::Document::BEGIN@6 at line 6 of (eval 269)[Sub/Quote.pm:3] # once (24µs+18µs) by OpenAPI::Modern::BEGIN@5.274 at line 5 of (eval 407)[Sub/Quote.pm:3] # once (20µs+21µs) by JSON::Schema::Modern::Document::BEGIN@5.116 at line 5 of (eval 265)[Sub/Quote.pm:3] # once (24µs+14µs) by IO::Compress::RawDeflate::BEGIN@137 at line 137 of IO/Compress/RawDeflate.pm # once (25µs+11µs) by JSON::Schema::Modern::Document::BEGIN@5 at line 5 of (eval 261)[Sub/Quote.pm:3] # once (25µs+11µs) by JSON::Schema::Modern::BEGIN@7.219 at line 7 of (eval 360)[Sub/Quote.pm:3] # once (26µs+9µs) by Method::Generate::Accessor::_Generated::BEGIN@20.107 at line 20 of (eval 253)[Sub/Quote.pm:3] # once (19µs+16µs) by Types::Standard::ArrayRef::BEGIN@22 at line 22 of Types/Standard/ArrayRef.pm # once (20µs+14µs) by Method::Generate::Accessor::BEGIN@685 at line 685 of Method/Generate/Accessor.pm # once (21µs+13µs) by Method::Generate::Accessor::_Generated::BEGIN@44.114 at line 44 of (eval 263)[Sub/Quote.pm:3] # once (13µs+21µs) by JSON::Schema::Modern::BEGIN@5.229 at line 5 of (eval 368)[Sub/Quote.pm:3] # once (21µs+13µs) by Pod::Simple::BlackBox::BEGIN@1 at line 1 of (eval 9)[Pod/Simple/BlackBox.pm:40] # once (22µs+12µs) by JSON::Schema::Modern::BEGIN@7.182 at line 7 of (eval 325)[Sub/Quote.pm:3] # once (27µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.42 at line 3 of (eval 96)[Eval/TypeTiny.pm:8] # once (14µs+19µs) by JSON::Schema::Modern::Result::BEGIN@5 at line 5 of (eval 236)[Sub/Quote.pm:3] # once (21µs+12µs) by IO::Compress::Base::BEGIN@987 at line 987 of IO/Compress/Base.pm # once (26µs+7µs) by JSON::Schema::Modern::BEGIN@5.208 at line 5 of (eval 354)[Sub/Quote.pm:3] # once (18µs+14µs) by Eval::TypeTiny::Sandbox::BEGIN@3.52 at line 3 of (eval 122)[Eval/TypeTiny.pm:8] # once (22µs+10µs) by JSON::Schema::Modern::BEGIN@5.213 at line 5 of (eval 357)[Sub/Quote.pm:3] # once (19µs+12µs) by Eval::TypeTiny::Sandbox::BEGIN@3.28 at line 3 of (eval 53)[Eval/TypeTiny.pm:8] # once (18µs+13µs) by JSON::Schema::Modern::Document::BEGIN@84 at line 84 of (eval 424)[Sub/Quote.pm:3] # once (18µs+13µs) by JSON::Schema::Modern::Document::BEGIN@74 at line 74 of (eval 424)[Sub/Quote.pm:3] # once (18µs+13µs) by Type::Library::BEGIN@208 at line 208 of Type/Library.pm # once (21µs+10µs) by Type::Library::BEGIN@285 at line 285 of Type/Library.pm # once (20µs+11µs) by JSON::Schema::Modern::Annotation::BEGIN@11.334 at line 11 of (eval 431)[Sub/Quote.pm:3] # once (8µs+23µs) by Method::Generate::Accessor::_Generated::BEGIN@24.221 at line 24 of (eval 360)[Sub/Quote.pm:3] # once (22µs+8µs) by Types::Standard::Dict::BEGIN@32 at line 32 of Types/Standard/Dict.pm # once (22µs+7µs) by JSON::Schema::Modern::BEGIN@22.300 at line 22 of (eval 416)[Sub/Quote.pm:3] # once (17µs+12µs) by JSON::Schema::Modern::BEGIN@5.227 at line 5 of (eval 367)[Sub/Quote.pm:3] # once (18µs+11µs) by overload::BEGIN@5 at line 5 of overload.pm # once (16µs+13µs) by Type::Tiny::Class::BEGIN@93 at line 93 of Type/Tiny/Class.pm # once (19µs+10µs) by IO::Uncompress::Base::BEGIN@1500 at line 1500 of IO/Uncompress/Base.pm # once (19µs+10µs) by Types::Standard::Map::BEGIN@24 at line 24 of Types/Standard/Map.pm # once (19µs+9µs) by Path::Tiny::BEGIN@37 at line 37 of Path/Tiny.pm # once (17µs+11µs) by Mojo::Util::BEGIN@204 at line 204 of Mojo/Util.pm # once (19µs+9µs) by Eval::TypeTiny::Sandbox::BEGIN@3.57 at line 3 of (eval 133)[Eval/TypeTiny.pm:8] # once (18µs+10µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.302 at line 14 of (eval 417)[Sub/Quote.pm:3] # once (16µs+12µs) by JSON::Schema::Modern::Error::BEGIN@5 at line 5 of (eval 208)[Sub/Quote.pm:3] # once (17µs+11µs) by Eval::TypeTiny::Sandbox::BEGIN@3.29 at line 3 of (eval 56)[Eval/TypeTiny.pm:8] # once (20µs+8µs) by JSON::Schema::Modern::Result::BEGIN@8 at line 8 of (eval 237)[Sub/Quote.pm:3] # once (18µs+10µs) by JSON::Schema::Modern::Document::BEGIN@7 at line 7 of (eval 264)[Sub/Quote.pm:3] # once (18µs+10µs) by Sub::Quote::BEGIN@65 at line 65 of Sub/Quote.pm # once (18µs+10µs) by Eval::TypeTiny::Sandbox::BEGIN@3.54 at line 3 of (eval 126)[Eval/TypeTiny.pm:8] # once (15µs+12µs) by Type::Tiny::BEGIN@16.331 at line 16 of (eval 428)[Sub/Quote.pm:3] # once (5µs+22µs) by Pod::Simple::BlackBox::BEGIN@1.8 at line 1 of (eval 11)[Pod/Simple/BlackBox.pm:40] # once (16µs+11µs) by JSON::Schema::Modern::BEGIN@7.222 at line 7 of (eval 362)[Sub/Quote.pm:3] # once (16µs+11µs) by Pod::Simple::BlackBox::BEGIN@67 at line 67 of Pod/Simple/BlackBox.pm # once (17µs+10µs) by Eval::TypeTiny::Sandbox::BEGIN@3.53 at line 3 of (eval 124)[Eval/TypeTiny.pm:8] # once (16µs+11µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.247 at line 5 of (eval 387)[Sub/Quote.pm:3] # once (18µs+9µs) by Unicode::Normalize::BEGIN@8 at line 8 of Unicode/Normalize.pm # once (18µs+9µs) by JSON::Schema::Modern::Document::BEGIN@7.155 at line 7 of (eval 304)[Sub/Quote.pm:3] # once (14µs+13µs) by Eval::TypeTiny::Sandbox::BEGIN@3.63 at line 3 of (eval 143)[Eval/TypeTiny.pm:8] # once (17µs+9µs) by JSON::Schema::Modern::BEGIN@5.178 at line 5 of (eval 323)[Sub/Quote.pm:3] # once (15µs+11µs) by JSON::Schema::Modern::Result::BEGIN@6 at line 6 of (eval 253)[Sub/Quote.pm:3] # once (17µs+9µs) by IO::Uncompress::Base::BEGIN@429 at line 429 of IO/Uncompress/Base.pm # once (18µs+8µs) by Types::TypeTiny::BEGIN@623 at line 623 of Types/TypeTiny.pm # once (16µs+9µs) by OpenAPI::Modern::BEGIN@5.264 at line 5 of (eval 402)[Sub/Quote.pm:3] # once (18µs+7µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5 at line 5 of (eval 385)[Sub/Quote.pm:3] # once (15µs+10µs) by OpenAPI::Modern::BEGIN@5.266 at line 5 of (eval 403)[Sub/Quote.pm:3] # once (20µs+5µs) by JSON::Schema::Modern::BEGIN@5 at line 5 of (eval 310)[Sub/Quote.pm:3] # once (14µs+11µs) by OpenAPI::Modern::BEGIN@5.270 at line 5 of (eval 405)[Sub/Quote.pm:3] # once (16µs+9µs) by JSON::Schema::Modern::Document::BEGIN@5.121 at line 5 of (eval 268)[Sub/Quote.pm:3] # once (15µs+10µs) by Eval::TypeTiny::Sandbox::BEGIN@3 at line 3 of (eval 51)[Eval/TypeTiny.pm:8] # once (16µs+9µs) by Role::Tiny::BEGIN@484 at line 484 of Role/Tiny.pm # once (16µs+8µs) by JSON::Schema::Modern::BEGIN@111 at line 111 of (eval 416)[Sub/Quote.pm:3] # once (15µs+9µs) by JSON::Schema::Modern::BEGIN@106 at line 106 of (eval 416)[Sub/Quote.pm:3] # once (14µs+10µs) by Eval::TypeTiny::Sandbox::BEGIN@3.44 at line 3 of (eval 102)[Eval/TypeTiny.pm:8] # once (13µs+11µs) by Eval::TypeTiny::Sandbox::BEGIN@3.56 at line 3 of (eval 131)[Eval/TypeTiny.pm:8] # once (15µs+9µs) by Type::Tiny::BEGIN@16.333 at line 16 of (eval 430)[Sub/Quote.pm:3] # once (14µs+10µs) by JSON::Schema::Modern::Annotation::BEGIN@5 at line 5 of (eval 230)[Sub/Quote.pm:3] # once (15µs+9µs) by JSON::PP::BEGIN@457 at line 457 of JSON/PP.pm # once (14µs+10µs) by Eval::TypeTiny::Sandbox::BEGIN@3.51 at line 3 of (eval 120)[Eval/TypeTiny.pm:8] # once (16µs+8µs) by OpenAPI::Modern::BEGIN@5 at line 5 of (eval 401)[Sub/Quote.pm:3] # once (16µs+8µs) by JSON::Schema::Modern::Annotation::BEGIN@5.92 at line 5 of (eval 235)[Sub/Quote.pm:3] # once (15µs+9µs) by OpenAPI::Modern::BEGIN@5.276 at line 5 of (eval 408)[Sub/Quote.pm:3] # once (15µs+9µs) by Eval::TypeTiny::Sandbox::BEGIN@3.41 at line 3 of (eval 93)[Eval/TypeTiny.pm:8] # once (16µs+8µs) by JSON::Schema::Modern::BEGIN@5.165 at line 5 of (eval 313)[Sub/Quote.pm:3] # once (17µs+7µs) by YAML::PP::Parser::BEGIN@97 at line 97 of YAML/PP/Parser.pm # once (16µs+8µs) by Method::Generate::Accessor::_Generated::BEGIN@20.124 at line 20 of (eval 269)[Sub/Quote.pm:3] # once (15µs+8µs) by Sub::Defer::BEGIN@34 at line 34 of Sub/Defer.pm # once (19µs+4µs) by Data::Perl::Role::Collection::Hash::BEGIN@77 at line 77 of Data/Perl/Role/Collection/Hash.pm # once (16µs+7µs) by JSON::Schema::Modern::Result::BEGIN@5.99 at line 5 of (eval 249)[Sub/Quote.pm:3] # once (15µs+7µs) by IO::Compress::Gzip::BEGIN@170 at line 170 of IO/Compress/Gzip.pm # once (11µs+11µs) by Pod::Simple::BlackBox::BEGIN@273 at line 273 of Pod/Simple/BlackBox.pm # once (15µs+7µs) by Type::Library::BEGIN@315 at line 315 of Type/Library.pm # once (12µs+10µs) by Type::Library::BEGIN@233 at line 233 of Type/Library.pm # once (14µs+8µs) by JSON::Schema::Modern::Result::BEGIN@5.108 at line 5 of (eval 254)[Sub/Quote.pm:3] # once (16µs+6µs) by OpenAPI::Modern::BEGIN@5.278 at line 5 of (eval 409)[Sub/Quote.pm:3] # once (13µs+9µs) by Method::Generate::Accessor::_Generated::BEGIN@19 at line 19 of (eval 269)[Sub/Quote.pm:3] # once (17µs+4µs) by Exporter::Tiny::BEGIN@5.25 at line 5 of Exporter/Tiny.pm # once (15µs+6µs) by JSON::Schema::Modern::BEGIN@7.231 at line 7 of (eval 369)[Sub/Quote.pm:3] # once (12µs+9µs) by Storable::BEGIN@66 at line 66 of Storable.pm # once (11µs+10µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.256 at line 5 of (eval 391)[Sub/Quote.pm:3] # once (14µs+7µs) by OpenAPI::Modern::BEGIN@7 at line 7 of (eval 415)[Sub/Quote.pm:3] # once (13µs+8µs) by JSON::Schema::Modern::Document::BEGIN@7.142 at line 7 of (eval 299)[Sub/Quote.pm:3] # once (14µs+7µs) by JSON::Schema::Modern::BEGIN@7.201 at line 7 of (eval 344)[Sub/Quote.pm:3] # once (19µs+2µs) by Moo::_Utils::BEGIN@235 at line 235 of Moo/_Utils.pm # once (14µs+7µs) by JSON::Schema::Modern::BEGIN@5.180 at line 5 of (eval 324)[Sub/Quote.pm:3] # once (14µs+7µs) by JSON::Schema::Modern::Result::BEGIN@5.95 at line 5 of (eval 245)[Sub/Quote.pm:3] # once (18µs+3µs) by Carp::BEGIN@6 at line 24 of Carp.pm # once (13µs+8µs) by OpenAPI::Modern::BEGIN@5.268 at line 5 of (eval 404)[Sub/Quote.pm:3] # once (11µs+9µs) by Eval::TypeTiny::Sandbox::BEGIN@3.62 at line 3 of (eval 141)[Eval/TypeTiny.pm:8] # once (12µs+8µs) by JSON::Schema::Modern::Result::BEGIN@13.338 at line 13 of (eval 433)[Sub/Quote.pm:3] # once (12µs+8µs) by JSON::Schema::Modern::Document::BEGIN@7.118 at line 7 of (eval 266)[Sub/Quote.pm:3] # once (14µs+6µs) by JSON::Schema::Modern::BEGIN@5.215 at line 5 of (eval 358)[Sub/Quote.pm:3] # once (12µs+8µs) by Pod::Simple::BlackBox::BEGIN@1.23 at line 1 of (eval 26)[Pod/Simple/BlackBox.pm:40] # once (13µs+7µs) by JSON::Schema::Modern::BEGIN@5.185 at line 5 of (eval 336)[Sub/Quote.pm:3] # once (14µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.65 at line 3 of (eval 147)[Eval/TypeTiny.pm:8] # once (12µs+8µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7 at line 7 of (eval 388)[Sub/Quote.pm:3] # once (14µs+6µs) by Types::Standard::HashRef::BEGIN@22 at line 22 of Types/Standard/HashRef.pm # once (15µs+4µs) by Exporter::Tiny::BEGIN@382 at line 382 of Exporter/Tiny.pm # once (11µs+8µs) by JSON::Schema::Modern::Document::BEGIN@7.137 at line 7 of (eval 297)[Sub/Quote.pm:3] # once (12µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.43 at line 3 of (eval 99)[Eval/TypeTiny.pm:8] # once (13µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.48 at line 3 of (eval 114)[Eval/TypeTiny.pm:8] # once (12µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.45 at line 3 of (eval 105)[Eval/TypeTiny.pm:8] # once (12µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.31 at line 3 of (eval 64)[Eval/TypeTiny.pm:8] # once (13µs+6µs) by JSON::Schema::Modern::Error::BEGIN@14.336 at line 14 of (eval 432)[Sub/Quote.pm:3] # once (10µs+9µs) by JSON::Schema::Modern::Annotation::BEGIN@74 at line 74 of (eval 431)[Sub/Quote.pm:3] # once (15µs+4µs) by Moo::Object::BEGIN@67 at line 67 of Moo/Object.pm # once (10µs+9µs) by JSON::Schema::Modern::BEGIN@5.204 at line 5 of (eval 352)[Sub/Quote.pm:3] # once (12µs+7µs) by JSON::Schema::Modern::BEGIN@5.217 at line 5 of (eval 359)[Sub/Quote.pm:3] # once (12µs+7µs) by JSON::Schema::Modern::Error::BEGIN@5.77 at line 5 of (eval 213)[Sub/Quote.pm:3] # once (14µs+5µs) by Carp::BEGIN@744 at line 744 of Carp.pm # once (13µs+6µs) by Method::Generate::Constructor::BEGIN@5.68 at line 5 of (eval 207)[Sub/Quote.pm:3] # once (11µs+7µs) by JSON::Schema::Modern::BEGIN@65 at line 65 of (eval 416)[Sub/Quote.pm:3] # once (13µs+5µs) by Types::Standard::Tuple::BEGIN@25 at line 25 of Types/Standard/Tuple.pm # once (12µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.49 at line 3 of (eval 116)[Eval/TypeTiny.pm:8] # once (10µs+8µs) by JSON::Schema::Modern::Error::BEGIN@5.75 at line 5 of (eval 212)[Sub/Quote.pm:3] # once (13µs+5µs) by Role::Tiny::BEGIN@242 at line 242 of Role/Tiny.pm # once (12µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.64 at line 3 of (eval 145)[Eval/TypeTiny.pm:8] # once (14µs+3µs) by Exporter::Tiny::BEGIN@137 at line 137 of Exporter/Tiny.pm # once (11µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.50 at line 3 of (eval 118)[Eval/TypeTiny.pm:8] # once (11µs+6µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@6 at line 6 of (eval 386)[Sub/Quote.pm:3] # once (11µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.32 at line 3 of (eval 67)[Eval/TypeTiny.pm:8] # once (12µs+5µs) by JSON::Schema::Modern::Document::BEGIN@5.125 at line 5 of (eval 291)[Sub/Quote.pm:3] # once (11µs+6µs) by JSON::Schema::Modern::BEGIN@5.167 at line 5 of (eval 314)[Sub/Quote.pm:3] # once (11µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.58 at line 3 of (eval 135)[Eval/TypeTiny.pm:8] # once (10µs+7µs) by JSON::Schema::Modern::Document::BEGIN@6.145 at line 6 of (eval 300)[Sub/Quote.pm:3] # once (11µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24.212 at line 24 of (eval 355)[Sub/Quote.pm:3] # once (10µs+7µs) by JSON::Schema::Modern::Annotation::BEGIN@5.90 at line 5 of (eval 234)[Sub/Quote.pm:3] # once (12µs+5µs) by Exporter::Heavy::BEGIN@202 at line 202 of Exporter/Heavy.pm # once (10µs+7µs) by Method::Generate::Accessor::_Generated::BEGIN@44 at line 44 of (eval 237)[Sub/Quote.pm:3] # once (10µs+7µs) by Moo::Role::BEGIN@360 at line 360 of Moo/Role.pm # once (12µs+5µs) by JSON::Schema::Modern::Annotation::BEGIN@5.84 at line 5 of (eval 231)[Sub/Quote.pm:3] # once (11µs+6µs) by Role::Tiny::BEGIN@29 at line 29 of Role/Tiny.pm # once (13µs+4µs) by Types::TypeTiny::BEGIN@45 at line 45 of Types/TypeTiny.pm # once (11µs+5µs) by JSON::Schema::Modern::BEGIN@145 at line 145 of (eval 416)[Sub/Quote.pm:3] # once (9µs+7µs) by Type::Tiny::BEGIN@16 at line 16 of (eval 419)[Sub/Quote.pm:3] # once (9µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.47 at line 3 of (eval 111)[Eval/TypeTiny.pm:8] # once (11µs+5µs) by JSON::Schema::Modern::BEGIN@5.161 at line 5 of (eval 311)[Sub/Quote.pm:3] # once (11µs+5µs) by JSON::Schema::Modern::Error::BEGIN@6 at line 6 of (eval 217)[Sub/Quote.pm:3] # once (10µs+6µs) by JSON::Schema::Modern::Result::BEGIN@5.97 at line 5 of (eval 246)[Sub/Quote.pm:3] # once (10µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.35 at line 3 of (eval 76)[Eval/TypeTiny.pm:8] # once (10µs+6µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 at line 77 of (eval 417)[Sub/Quote.pm:3] # once (10µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@39 at line 39 of (eval 264)[Sub/Quote.pm:3] # once (11µs+5µs) by MooX::HandlesVia::BEGIN@26 at line 26 of MooX/HandlesVia.pm # once (11µs+5µs) by JSON::Schema::Modern::Result::BEGIN@7.103 at line 7 of (eval 251)[Sub/Quote.pm:3] # once (9µs+6µs) by JSON::Schema::Modern::BEGIN@5.206 at line 5 of (eval 353)[Sub/Quote.pm:3] # once (10µs+5µs) by File::Glob::BEGIN@50 at line 50 of File/Glob.pm # once (11µs+4µs) by JSON::Schema::Modern::BEGIN@55 at line 55 of (eval 416)[Sub/Quote.pm:3] # once (10µs+5µs) by JSON::Schema::Modern::BEGIN@85 at line 85 of (eval 416)[Sub/Quote.pm:3] # once (12µs+3µs) by strictures::BEGIN@97 at line 97 of strictures.pm # once (9µs+6µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.251 at line 5 of (eval 389)[Sub/Quote.pm:3] # once (12µs+3µs) by JSON::Schema::Modern::Document::BEGIN@87 at line 87 of (eval 424)[Sub/Quote.pm:3] # once (10µs+5µs) by File::GlobMapper::BEGIN@341 at line 341 of File/GlobMapper.pm # once (11µs+4µs) by Module::Implementation::BEGIN@129 at line 129 of Module/Implementation.pm # once (7µs+8µs) by JSON::Schema::Modern::Annotation::BEGIN@98 at line 98 of (eval 431)[Sub/Quote.pm:3] # once (13µs+2µs) by Moo::_Utils::BEGIN@7 at line 7 of Moo/_Utils.pm # once (9µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24.240 at line 24 of (eval 378)[Sub/Quote.pm:3] # once (9µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24.157 at line 24 of (eval 304)[Sub/Quote.pm:3] # once (14µs+1µs) by Moo::BEGIN@4 at line 4 of Moo.pm # once (11µs+4µs) by Type::Tiny::BEGIN@72 at line 72 of Type/Tiny.pm # once (9µs+6µs) by JSON::Schema::Modern::BEGIN@5.234 at line 5 of (eval 376)[Sub/Quote.pm:3] # once (8µs+6µs) by Type::Tiny::BEGIN@16.323 at line 16 of (eval 421)[Sub/Quote.pm:3] # once (9µs+5µs) by Type::Tiny::Enum::BEGIN@54 at line 54 of Type/Tiny/Enum.pm # once (11µs+3µs) by Eval::TypeTiny::BEGIN@81 at line 81 of Eval/TypeTiny.pm # once (8µs+6µs) by JSON::Schema::Modern::Document::BEGIN@5.127 at line 5 of (eval 292)[Sub/Quote.pm:3] # once (9µs+5µs) by Class::Method::Modifiers::BEGIN@146 at line 146 of Class/Method/Modifiers.pm # once (2µs+12µs) by Sub::Defer::BEGIN@89 at line 89 of Sub/Defer.pm # once (10µs+4µs) by JSON::Schema::Modern::Document::BEGIN@108 at line 108 of (eval 424)[Sub/Quote.pm:3] # once (7µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.36 at line 3 of (eval 78)[Eval/TypeTiny.pm:8] # once (9µs+5µs) by JSON::Schema::Modern::Annotation::BEGIN@5.88 at line 5 of (eval 233)[Sub/Quote.pm:3] # once (9µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.46 at line 3 of (eval 108)[Eval/TypeTiny.pm:8] # once (7µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.39 at line 3 of (eval 87)[Eval/TypeTiny.pm:8] # once (11µs+3µs) by URI::Escape::BEGIN@191 at line 191 of URI/Escape.pm # once (9µs+5µs) by JSON::Schema::Modern::Error::BEGIN@5.79 at line 5 of (eval 215)[Sub/Quote.pm:3] # once (7µs+6µs) by JSON::Schema::Modern::BEGIN@116 at line 116 of (eval 416)[Sub/Quote.pm:3] # once (8µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@24.233 at line 24 of (eval 369)[Sub/Quote.pm:3] # once (10µs+3µs) by Types::Standard::Tuple::BEGIN@338 at line 338 of Types/Standard/Tuple.pm # once (9µs+4µs) by JSON::Schema::Modern::Document::BEGIN@5.153 at line 5 of (eval 303)[Sub/Quote.pm:3] # once (7µs+6µs) by JSON::Schema::Modern::BEGIN@5.197 at line 5 of (eval 342)[Sub/Quote.pm:3] # once (8µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 at line 82 of (eval 417)[Sub/Quote.pm:3] # once (8µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.38 at line 3 of (eval 84)[Eval/TypeTiny.pm:8] # once (7µs+6µs) by JSON::Schema::Modern::BEGIN@5.174 at line 5 of (eval 317)[Sub/Quote.pm:3] # once (8µs+5µs) by JSON::Schema::Modern::Document::BEGIN@6.148 at line 6 of (eval 301)[Sub/Quote.pm:3] # once (8µs+5µs) by JSON::Schema::Modern::BEGIN@7 at line 7 of (eval 312)[Sub/Quote.pm:3] # once (10µs+3µs) by Sub::Exporter::Progressive::BEGIN@21 at line 21 of Sub/Exporter/Progressive.pm # once (6µs+6µs) by JSON::Schema::Modern::BEGIN@140 at line 140 of (eval 416)[Sub/Quote.pm:3] # once (6µs+6µs) by JSON::Schema::Modern::BEGIN@158 at line 158 of (eval 416)[Sub/Quote.pm:3] # once (8µs+4µs) by JSON::Schema::Modern::BEGIN@60 at line 60 of (eval 416)[Sub/Quote.pm:3] # once (9µs+3µs) by JSON::Schema::Modern::BEGIN@70 at line 70 of (eval 416)[Sub/Quote.pm:3] # once (8µs+4µs) by JSON::Schema::Modern::BEGIN@7.169 at line 7 of (eval 315)[Sub/Quote.pm:3] # once (7µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 at line 87 of (eval 417)[Sub/Quote.pm:3] # once (8µs+4µs) by JSON::Schema::Modern::Error::BEGIN@77 at line 77 of (eval 432)[Sub/Quote.pm:3] # once (6µs+6µs) by JSON::Schema::Modern::Error::BEGIN@5.70 at line 5 of (eval 209)[Sub/Quote.pm:3] # once (7µs+5µs) by Type::Tiny::Class::BEGIN@164.74 at line 164 of Type/Tiny/Class.pm # once (7µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.7 at line 1 of (eval 10)[Pod/Simple/BlackBox.pm:44] # once (9µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.184 at line 24 of (eval 325)[Sub/Quote.pm:3] # once (6µs+6µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.258 at line 5 of (eval 392)[Sub/Quote.pm:3] # once (6µs+5µs) by JSON::Schema::Modern::BEGIN@80 at line 80 of (eval 416)[Sub/Quote.pm:3] # once (7µs+4µs) by JSON::Schema::Modern::BEGIN@150 at line 150 of (eval 416)[Sub/Quote.pm:3] # once (5µs+6µs) by JSON::Schema::Modern::BEGIN@90 at line 90 of (eval 416)[Sub/Quote.pm:3] # once (6µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7.260 at line 7 of (eval 393)[Sub/Quote.pm:3] # once (6µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@39.120 at line 39 of (eval 266)[Sub/Quote.pm:3] # once (10µs+1000ns) by Method::Generate::Accessor::_Generated::BEGIN@24.224 at line 24 of (eval 362)[Sub/Quote.pm:3] # once (7µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.33 at line 3 of (eval 70)[Eval/TypeTiny.pm:8] # once (6µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 at line 138 of (eval 417)[Sub/Quote.pm:3] # once (8µs+3µs) by JSON::Schema::Modern::BEGIN@7.238 at line 7 of (eval 378)[Sub/Quote.pm:3] # once (7µs+4µs) by JSON::Schema::Modern::BEGIN@5.187 at line 5 of (eval 337)[Sub/Quote.pm:3] # once (6µs+5µs) by JSON::Schema::Modern::Document::BEGIN@5.151 at line 5 of (eval 302)[Sub/Quote.pm:3] # once (8µs+3µs) by JSON::Schema::Modern::BEGIN@5.199 at line 5 of (eval 343)[Sub/Quote.pm:3] # once (8µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.37 at line 3 of (eval 81)[Eval/TypeTiny.pm:8] # once (8µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@39.250 at line 39 of (eval 388)[Sub/Quote.pm:3] # once (7µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.61 at line 3 of (eval 139)[Eval/TypeTiny.pm:8] # once (7µs+4µs) by JSON::Schema::Modern::Result::BEGIN@7 at line 7 of (eval 247)[Sub/Quote.pm:3] # once (5µs+5µs) by JSON::Schema::Modern::BEGIN@98 at line 98 of (eval 416)[Sub/Quote.pm:3] # once (7µs+3µs) by JSON::Schema::Modern::Result::BEGIN@54 at line 54 of (eval 433)[Sub/Quote.pm:3] # once (10µs+0s) by Data::Perl::Role::Collection::Array::BEGIN@24 at line 24 of Data/Perl/Role/Collection/Array.pm # once (7µs+3µs) by Sub::Defer::BEGIN@41 at line 41 of Sub/Defer.pm # once (6µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@20.147 at line 20 of (eval 300)[Sub/Quote.pm:3] # once (5µs+5µs) by JSON::Schema::Modern::Error::BEGIN@5.72 at line 5 of (eval 210)[Sub/Quote.pm:3] # once (5µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 at line 143 of (eval 417)[Sub/Quote.pm:3] # once (4µs+6µs) by JSON::Schema::Modern::Document::BEGIN@5.133 at line 5 of (eval 295)[Sub/Quote.pm:3] # once (6µs+4µs) by JSON::Schema::Modern::BEGIN@5.193 at line 5 of (eval 340)[Sub/Quote.pm:3] # once (6µs+4µs) by JSON::Schema::Modern::BEGIN@5.236 at line 5 of (eval 377)[Sub/Quote.pm:3] # once (10µs+0s) by Moo::sification::BEGIN@4 at line 4 of Moo/sification.pm # once (7µs+3µs) by Type::Tiny::BEGIN@16.327 at line 16 of (eval 423)[Sub/Quote.pm:3] # once (6µs+4µs) by JSON::Schema::Modern::BEGIN@5.195 at line 5 of (eval 341)[Sub/Quote.pm:3] # once (7µs+3µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7.253 at line 7 of (eval 390)[Sub/Quote.pm:3] # once (6µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@24.105 at line 24 of (eval 251)[Sub/Quote.pm:3] # once (9µs+1µs) by U64::BEGIN@1046 at line 1046 of IO/Compress/Base/Common.pm # once (6µs+3µs) by Ref::Util::BEGIN@24 at line 24 of Ref/Util.pm # once (6µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.139 at line 24 of (eval 297)[Sub/Quote.pm:3] # once (6µs+3µs) by JSON::Schema::Modern::BEGIN@5.191 at line 5 of (eval 339)[Sub/Quote.pm:3] # once (7µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@19.245 at line 19 of (eval 386)[Sub/Quote.pm:3] # once (6µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.34 at line 3 of (eval 73)[Eval/TypeTiny.pm:8] # once (6µs+3µs) by JSON::Schema::Modern::BEGIN@5.189 at line 5 of (eval 338)[Sub/Quote.pm:3] # once (6µs+3µs) by JSON::Schema::Modern::Document::BEGIN@5.131 at line 5 of (eval 294)[Sub/Quote.pm:3] # once (6µs+3µs) by Pod::Simple::BlackBox::BEGIN@1.13 at line 1 of (eval 16)[Pod/Simple/BlackBox.pm:44] # once (5µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@24.164 at line 24 of (eval 312)[Sub/Quote.pm:3] # once (4µs+5µs) by JSON::Schema::Modern::Document::BEGIN@5.140 at line 5 of (eval 298)[Sub/Quote.pm:3] # once (5µs+4µs) by Type::Tiny::BEGIN@16.325 at line 16 of (eval 422)[Sub/Quote.pm:3] # once (7µs+2µs) by JSON::Schema::Modern::BEGIN@5.172 at line 5 of (eval 316)[Sub/Quote.pm:3] # once (4µs+4µs) by JSON::Schema::Modern::Result::BEGIN@83 at line 83 of (eval 433)[Sub/Quote.pm:3] # once (4µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@24.262 at line 24 of (eval 393)[Sub/Quote.pm:3] # once (5µs+3µs) by JSON::Schema::Modern::Result::BEGIN@5.101 at line 5 of (eval 250)[Sub/Quote.pm:3] # once (4µs+4µs) by Pod::Simple::BlackBox::BEGIN@1.15 at line 1 of (eval 18)[Pod/Simple/BlackBox.pm:40] # once (4µs+4µs) by Pod::Simple::BlackBox::BEGIN@1.16 at line 1 of (eval 19)[Pod/Simple/BlackBox.pm:44] # once (4µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@24.171 at line 24 of (eval 315)[Sub/Quote.pm:3] # once (5µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@20 at line 20 of (eval 217)[Sub/Quote.pm:3] # once (6µs+2µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 at line 90 of (eval 417)[Sub/Quote.pm:3] # once (3µs+5µs) by JSON::Schema::Modern::Error::BEGIN@106 at line 106 of (eval 432)[Sub/Quote.pm:3] # once (6µs+2µs) by JSON::Schema::Modern::BEGIN@5.176 at line 5 of (eval 318)[Sub/Quote.pm:3] # once (4µs+4µs) by JSON::Schema::Modern::Document::BEGIN@5.129 at line 5 of (eval 293)[Sub/Quote.pm:3] # once (3µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.14 at line 1 of (eval 17)[Pod/Simple/BlackBox.pm:74] # once (5µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@39.255 at line 39 of (eval 390)[Sub/Quote.pm:3] # once (6µs+2µs) by JSON::Schema::Modern::Document::BEGIN@5.135 at line 5 of (eval 296)[Sub/Quote.pm:3] # once (4µs+4µs) by Types::TypeTiny::BEGIN@69 at line 69 of Types/TypeTiny.pm # once (4µs+4µs) by Types::TypeTiny::BEGIN@630 at line 630 of Types/TypeTiny.pm # once (6µs+1000ns) by JSON::Schema::Modern::BEGIN@75 at line 75 of (eval 416)[Sub/Quote.pm:3] # once (5µs+2µs) by Class::Method::Modifiers::BEGIN@200 at line 200 of Class/Method/Modifiers.pm # once (5µs+2µs) by OpenAPI::Modern::BEGIN@43 at line 43 of (eval 415)[Sub/Quote.pm:3] # once (4µs+3µs) by OpenAPI::Modern::BEGIN@48 at line 48 of (eval 415)[Sub/Quote.pm:3] # once (5µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@24.144 at line 24 of (eval 299)[Sub/Quote.pm:3] # once (6µs+1000ns) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 at line 111 of (eval 417)[Sub/Quote.pm:3] # once (5µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@24.203 at line 24 of (eval 344)[Sub/Quote.pm:3] # once (4µs+3µs) by JSON::Schema::Modern::Error::BEGIN@121 at line 121 of (eval 432)[Sub/Quote.pm:3] # once (4µs+3µs) by JSON::Schema::Modern::Error::BEGIN@111 at line 111 of (eval 432)[Sub/Quote.pm:3] # once (4µs+3µs) by JSON::Schema::Modern::Annotation::BEGIN@85 at line 85 of (eval 431)[Sub/Quote.pm:3] # once (5µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.20 at line 1 of (eval 23)[Pod/Simple/BlackBox.pm:44] # once (6µs+1000ns) by Method::Generate::Accessor::_Generated::BEGIN@19.150 at line 19 of (eval 301)[Sub/Quote.pm:3] # once (4µs+3µs) by Pod::Simple::BlackBox::BEGIN@1.24 at line 1 of (eval 27)[Pod/Simple/BlackBox.pm:44] # once (4µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24 at line 24 of (eval 247)[Sub/Quote.pm:3] # once (5µs+1000ns) by Pod::Simple::BlackBox::BEGIN@1.19 at line 1 of (eval 22)[Pod/Simple/BlackBox.pm:40] # once (4µs+2µs) by JSON::Schema::Modern::Result::BEGIN@123 at line 123 of (eval 433)[Sub/Quote.pm:3] # once (4µs+2µs) by JSON::Schema::Modern::Result::BEGIN@59 at line 59 of (eval 433)[Sub/Quote.pm:3] # once (4µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@20.246 at line 20 of (eval 386)[Sub/Quote.pm:3] # once (5µs+1000ns) by Pod::Simple::BlackBox::BEGIN@1.21 at line 1 of (eval 24)[Pod/Simple/BlackBox.pm:40] # once (3µs+3µs) by JSON::Schema::Modern::Error::BEGIN@116 at line 116 of (eval 432)[Sub/Quote.pm:3] # once (3µs+3µs) by JSON::Schema::Modern::Annotation::BEGIN@80 at line 80 of (eval 431)[Sub/Quote.pm:3] # once (5µs+1000ns) by Pod::Simple::BlackBox::BEGIN@1.22 at line 1 of (eval 25)[Pod/Simple/BlackBox.pm:44] # once (3µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.10 at line 1 of (eval 13)[Pod/Simple/BlackBox.pm:40] # once (3µs+2µs) by Class::Method::Modifiers::BEGIN@147 at line 147 of Class/Method/Modifiers.pm # once (4µs+1µs) by JSON::Schema::Modern::Error::BEGIN@82 at line 82 of (eval 432)[Sub/Quote.pm:3] # once (5µs+0s) by Pod::Simple::BlackBox::BEGIN@1.9 at line 1 of (eval 12)[Pod/Simple/BlackBox.pm:44] # once (4µs+1µs) by Pod::Simple::BlackBox::BEGIN@1.17 at line 1 of (eval 20)[Pod/Simple/BlackBox.pm:40] # once (3µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.11 at line 1 of (eval 14)[Pod/Simple/BlackBox.pm:44] # once (2µs+2µs) by JSON::Schema::Modern::Result::BEGIN@91 at line 91 of (eval 433)[Sub/Quote.pm:3] # once (3µs+1000ns) by Pod::Simple::BlackBox::BEGIN@1.18 at line 1 of (eval 21)[Pod/Simple/BlackBox.pm:44] # once (2µs+1µs) by JSON::Schema::Modern::Result::BEGIN@99 at line 99 of (eval 433)[Sub/Quote.pm:3] # once (2µs+1µs) by JSON::Schema::Modern::Error::BEGIN@126 at line 126 of (eval 432)[Sub/Quote.pm:3] # once (1µs+1µs) by Pod::Simple::BlackBox::BEGIN@1.12 at line 1 of (eval 15)[Pod/Simple/BlackBox.pm:40]
{
38241663µs shift;
383
38441655µs my $catmask ;
385416464µs my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
386
387 # append 'all' when implied (empty import list or after a lone "FATAL")
388416494µs push @_, 'all' if !@_ || @_==1 && $_[0] eq 'FATAL';
389
390416657µs4162.48ms $mask = _expand_bits($mask);
# spent 2.48ms making 416 calls to warnings::_expand_bits, avg 6µs/call
391416238µs foreach my $word ( @_ ) {
3925691.46ms if ($word eq 'FATAL') {
3931812µs next;
394 }
395 elsif ($catmask = $Bits{$word}) {
396 $mask = ~(~$mask | $catmask | $DeadBits{$word});
397 }
398 else
399 { Croaker("Unknown warnings category '$word'")}
400 }
401
4024161.67ms ${^WARNING_BITS} = $mask ;
403}
404
40529µsmy %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = ();
406
407sub LEVEL () { 8 };
408sub MESSAGE () { 4 };
409sub FATAL () { 2 };
410sub NORMAL () { 1 };
411
412sub __chk
413{
414 my $category ;
415 my $offset ;
416 my $isobj = 0 ;
417 my $wanted = shift;
418 my $has_message = $wanted & MESSAGE;
419 my $has_level = $wanted & LEVEL ;
420
421 if ($has_level) {
422 if (@_ != ($has_message ? 3 : 2)) {
423 my $sub = (caller 1)[3];
424 my $syntax = $has_message
425 ? "category, level, 'message'"
426 : 'category, level';
427 Croaker("Usage: $sub($syntax)");
428 }
429 }
430 elsif (not @_ == 1 || @_ == ($has_message ? 2 : 0)) {
431 my $sub = (caller 1)[3];
432 my $syntax = $has_message ? "[category,] 'message'" : '[category]';
433 Croaker("Usage: $sub($syntax)");
434 }
435
436 my $message = pop if $has_message;
437
438 if (@_) {
439 # check the category supplied.
440 $category = shift ;
441 if (my $type = ref $category) {
442 Croaker("not an object")
443 if exists $builtin_type{$type};
444 $category = $type;
445 $isobj = 1 ;
446 }
447 $offset = $Offsets{$category};
448 Croaker("Unknown warnings category '$category'")
449 unless defined $offset;
450 }
451 else {
452 $category = (caller(1))[0] ;
453 $offset = $Offsets{$category};
454 Croaker("package '$category' not registered for warnings")
455 unless defined $offset ;
456 }
457
458 my $i;
459
460 if ($isobj) {
461 my $pkg;
462 $i = 2;
463 while (do { { package DB; $pkg = (caller($i++))[0] } } ) {
464 last unless @DB::args && $DB::args[0] =~ /^$category=/ ;
465 }
466 $i -= 2 ;
467 }
468 elsif ($has_level) {
469 $i = 2 + shift;
470 }
471 else {
472 $i = _error_loc(); # see where Carp will allocate the error
473 }
474
475 # Default to 0 if caller returns nothing. Default to $DEFAULT if it
476 # explicitly returns undef.
477 my(@callers_bitmask) = (caller($i))[9] ;
478 my $callers_bitmask =
479 @callers_bitmask ? $callers_bitmask[0] // $DEFAULT : 0 ;
480 length($callers_bitmask) > ($offset >> 3) or $offset = $Offsets{all};
481
482 my @results;
483 foreach my $type (FATAL, NORMAL) {
484 next unless $wanted & $type;
485
486 push @results, vec($callers_bitmask, $offset + $type - 1, 1);
487 }
488
489 # &enabled and &fatal_enabled
490 return $results[0] unless $has_message;
491
492 # &warnif, and the category is neither enabled as warning nor as fatal
493 return if ($wanted & (NORMAL | FATAL | MESSAGE))
494 == (NORMAL | FATAL | MESSAGE)
495 && !($results[0] || $results[1]);
496
497 # If we have an explicit level, bypass Carp.
498 if ($has_level and @callers_bitmask) {
499 # logic copied from util.c:mess_sv
500 my $stuff = " at " . join " line ", (caller $i)[1,2];
501 $stuff .= sprintf ", <%s> %s %d",
502 *${^LAST_FH}{NAME},
503 ($/ eq "\n" ? "line" : "chunk"), $.
504 if $. && ${^LAST_FH};
505 die "$message$stuff.\n" if $results[0];
506 return warn "$message$stuff.\n";
507 }
508
509 require Carp;
510 Carp::croak($message) if $results[0];
511 # will always get here for &warn. will only get here for &warnif if the
512 # category is enabled
513 Carp::carp($message);
514}
515
516sub _mkMask
517
# spent 59µs within warnings::_mkMask which was called 14 times, avg 4µs/call: # 7 times (47µs+0s) by warnings::register_categories at line 532, avg 7µs/call # 7 times (12µs+0s) by warnings::register_categories at line 533, avg 2µs/call
{
518142µs my ($bit) = @_;
519144µs my $mask = "";
520
5211428µs vec($mask, $bit, 1) = 1;
52214108µs return $mask;
523}
524
525sub register_categories
526
# spent 274µs (215+59) within warnings::register_categories which was called 8 times, avg 34µs/call: # 7 times (201µs+59µs) by warnings::register::import at line 23 of warnings/register.pm, avg 37µs/call # once (14µs+0s) by experimental::BEGIN@5 at line 7 of version.pm
{
527812µs my @names = @_;
528
529837µs for my $name (@names) {
53089µs if (! defined $Bits{$name}) {
531710µs $Offsets{$name} = $LAST_BIT;
532750µs747µs $Bits{$name} = _mkMask($LAST_BIT++);
# spent 47µs making 7 calls to warnings::_mkMask, avg 7µs/call
533714µs712µs $DeadBits{$name} = _mkMask($LAST_BIT++);
# spent 12µs making 7 calls to warnings::_mkMask, avg 2µs/call
534711µs if (length($Bits{$name}) > length($Bits{all})) {
53522µs $Bits{all} .= "\x55";
53622µs $DeadBits{all} .= "\xaa";
537 }
538 }
539 }
540}
541
542sub _error_loc {
543 require Carp;
544 goto &Carp::short_error_loc; # don't introduce another stack frame
545}
546
547sub enabled
548{
549 return __chk(NORMAL, @_);
550}
551
552sub fatal_enabled
553{
554 return __chk(FATAL, @_);
555}
556
557sub warn
558{
559 return __chk(FATAL | MESSAGE, @_);
560}
561
562sub warnif
563{
564 return __chk(NORMAL | FATAL | MESSAGE, @_);
565}
566
567sub enabled_at_level
568{
569 return __chk(NORMAL | LEVEL, @_);
570}
571
572sub fatal_enabled_at_level
573{
574 return __chk(FATAL | LEVEL, @_);
575}
576
577sub warn_at_level
578{
579 return __chk(FATAL | MESSAGE | LEVEL, @_);
580}
581
582sub warnif_at_level
583{
584 return __chk(NORMAL | FATAL | MESSAGE | LEVEL, @_);
585}
586
587# These are not part of any public interface, so we can delete them to save
588# space.
589112µsdelete @warnings::{qw(NORMAL FATAL MESSAGE LEVEL)};
590
591154µs1;
592__END__
 
# spent 613µs within warnings::CORE:match which was called 1602 times, avg 383ns/call: # 1601 times (594µs+0s) by warnings::import at line 369, avg 371ns/call # once (19µs+0s) by main::BEGIN@1.1 at line 14
sub warnings::CORE:match; # opcode