← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 16:10:05 2022
Reported on Wed Dec 14 16:12:56 2022

Filename/Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/warnings.pm
StatementsExecuted 42686 statements in 27.2ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1576117.94ms10.7mswarnings::::_bitswarnings::_bits
2261481407.51ms18.8mswarnings::::importwarnings::import
1986215.08ms5.08mswarnings::::_expand_bitswarnings::_expand_bits
4103172194.15ms6.51mswarnings::::unimportwarnings::unimport
160221601µs601µswarnings::::CORE:matchwarnings::CORE:match (opcode)
822174µs230µswarnings::::register_categorieswarnings::register_categories
142156µs56µ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
810sour $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.
14124µs112µsdie sprintf "Incorrect use of pragma '%s' at %s line %d.\n", __PACKAGE__, +(caller)[1,2]
# spent 12µ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
18167µ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
124117µ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]
29310sour $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.08ms within warnings::_expand_bits which was called 1986 times, avg 3µs/call: # 1576 times (2.72ms+0s) by warnings::_bits at line 329, avg 2µs/call # 410 times (2.36ms+0s) by warnings::unimport at line 390, avg 6µs/call
sub _expand_bits {
3051986386µs my $bits = shift;
3061986540µs my $want_len = ($LAST_BIT + 7) >> 3;
3071986302µs my $len = length($bits);
3081986373µs if ($len != $want_len) {
309488447µ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 {
314488559µs my $x = vec($bits, $Offsets{all} >> 1, 2);
315488199µs $x |= $x << 2;
316488107µs $x |= $x << 4;
317488687µs $bits .= chr($x) x ($want_len - $len);
318 }
319 }
32019863.34ms return $bits;
321}
322
323
# spent 10.7ms (7.94+2.72) within warnings::_bits which was called 1576 times, avg 7µs/call: # 1576 times (7.94ms+2.72ms) by warnings::import at line 373, avg 7µs/call
sub _bits {
3241576321µs my $mask = shift ;
3251576128µs my $catmask ;
3261576186µs my $fatal = 0 ;
3271576131µs my $no_fatal = 0 ;
328
32915761.09ms15762.72ms $mask = _expand_bits($mask);
# spent 2.72ms making 1576 calls to warnings::_expand_bits, avg 2µs/call
3301576548µs foreach my $word ( @_ ) {
33128252.09ms if ($word eq 'FATAL') {
3321249124µs $fatal = 1;
3331249119µs $no_fatal = 0;
334 }
335 elsif ($word eq 'NONFATAL') {
336 $fatal = 0;
337 $no_fatal = 1;
338 }
339 elsif ($catmask = $Bits{$word}) {
3401576284µs $mask |= $catmask ;
3411576559µs $mask |= $DeadBits{$word} if $fatal ;
3421576106µs $mask = ~(~$mask | $DeadBits{$word}) if $no_fatal ;
343 }
344 else
345 { Croaker("Unknown warnings category '$word'")}
346 }
347
34815762.22ms 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 18.8ms (7.51+11.3) within warnings::import which was called 226 times, avg 83µs/call: # 18 times (4.32ms+7.45ms) by strictures::_enable_2 at line 171 of strictures.pm, avg 654µs/call # 18 times (531µs+589µs) by strictures::_enable_2 at line 173 of strictures.pm, avg 62µs/call # 18 times (144µs+187µs) by strictures::_enable_2 at line 170 of strictures.pm, avg 18µs/call # 17 times (170µs+226µs) by Moo::import at line 47 of Moo.pm, avg 23µs/call # 6 times (96µs+125µs) by Mojo::Base::import at line 102 of Mojo/Base.pm, avg 37µs/call # 4 times (66µs+96µs) by strictures::_enable_1 at line 140 of strictures.pm, avg 40µs/call # 4 times (42µs+43µs) by Role::Tiny::import at line 85 of Role/Tiny.pm, avg 21µs/call # once (78µs+22µs) by Symbol::BEGIN@4 at line 4 of Symbol.pm # once (53µs+17µs) by mro::BEGIN@11 at line 11 of mro.pm # once (40µs+27µs) by Module::Load::BEGIN@2 at line 2 of YAML/PP/Schema/Core.pm # once (29µs+36µs) by Type::Coercion::BEGIN@5 at line 5 of Type/Coercion.pm # once (43µs+19µs) by File::ShareDir::BEGIN@122 at line 122 of File/ShareDir.pm # once (46µs+16µs) by YAML::PP::BEGIN@2.284 at line 2 of YAML/PP/Schema/JSON.pm # once (17µs+44µs) by Method::Generate::Accessor::BEGIN@3 at line 3 of Method/Generate/Accessor.pm # once (13µs+47µs) by JSON::Schema::Modern::BEGIN@2.82 at line 2 of JSON/Schema/Modern/Result.pm # once (13µs+44µs) by main::BEGIN@3.282 at line 3 of YAML/PP.pm # once (29µs+26µs) by Feature::Compat::Try::BEGIN@9 at line 9 of Feature/Compat/Try.pm # once (18µs+35µs) by Safe::Isa::BEGIN@4 at line 4 of Safe/Isa.pm # once (38µs+15µs) by JSON::Schema::Modern::BEGIN@3 at line 3 of Path/Tiny.pm # once (19µs+29µs) by Encode::Encoding::BEGIN@5 at line 5 of Encode/Encoding.pm # once (35µs+12µs) by JSON::Schema::Modern::BEGIN@2.160 at line 2 of JSON/Schema/Modern/Utilities.pm # once (16µs+31µs) by Role::Tiny::With::BEGIN@4 at line 4 of Role/Tiny/With.pm # once (20µs+26µs) by IO::Compress::Gzip::Constants::BEGIN@4 at line 4 of IO/Compress/Gzip/Constants.pm # once (28µs+17µs) by Sub::Util::BEGIN@8 at line 8 of Sub/Util.pm # once (28µs+17µs) by Moo::Role::BEGIN@3 at line 3 of Moo/Role.pm # once (20µs+25µs) by Moo::_Utils::BEGIN@2.27 at line 2 of Class/Method/Modifiers.pm # once (19µs+25µs) by Module::Runtime::BEGIN@2.312 at line 2 of JSON/Schema/Modern/Vocabulary/Validation.pm # once (15µs+29µs) by Exporter::Tiny::BEGIN@5 at line 5 of Exporter/Tiny.pm # once (21µs+23µs) by Types::Standard::Dict::BEGIN@7 at line 7 of Types/Standard/Dict.pm # once (13µs+31µs) by OpenAPI::Modern::BEGIN@2 at line 2 of JSON/Schema/Modern.pm # once (18µs+26µs) by Ref::Util::XS::BEGIN@5 at line 5 of Ref/Util/XS.pm # once (19µs+24µs) by Mojo::Base::BEGIN@4 at line 4 of Mojo/Base.pm # once (14µs+29µs) by YAML::PP::Dumper::BEGIN@2.296 at line 2 of YAML/PP/Representer.pm # once (15µs+27µs) by Types::Standard::Map::BEGIN@7 at line 7 of Types/Standard/Map.pm # once (18µs+24µs) by IO::Compress::Adapter::Deflate::BEGIN@4 at line 4 of IO/Compress/Adapter/Deflate.pm # once (17µs+24µs) by MooX::TypeTiny::BEGIN@3 at line 3 of MooX/TypeTiny.pm # once (19µs+22µs) by YAML::PP::Dumper::BEGIN@2.299 at line 2 of YAML/PP/Writer/File.pm # once (18µs+23µs) by Encode::MIME::Name::BEGIN@3 at line 3 of Encode/MIME/Name.pm # once (14µs+26µs) by YAML::PP::Parser::BEGIN@3.290 at line 3 of YAML/PP/Reader.pm # once (16µs+23µs) by Type::Tiny::Duck::BEGIN@5 at line 5 of Type/Tiny/Duck.pm # once (17µs+22µs) by Params::Util::BEGIN@60 at line 60 of Params/Util.pm # once (19µs+20µs) by File::Basename::BEGIN@52 at line 52 of File/Basename.pm # once (11µs+28µs) by Unicode::Normalize::BEGIN@5 at line 5 of Unicode/Normalize.pm # once (15µs+24µs) by IO::Compress::Zlib::Extra::BEGIN@6 at line 6 of IO/Compress/Zlib/Extra.pm # once (13µs+26µs) by Ref::Util::BEGIN@5 at line 5 of Ref/Util.pm # once (20µs+19µs) by YAML::PP::Parser::BEGIN@2.288 at line 2 of YAML/PP/Exception.pm # once (14µs+25µs) by IO::BEGIN@8 at line 8 of IO.pm # once (16µs+23µs) by Digest::MD5::BEGIN@4 at line 4 of Digest/MD5.pm # once (19µs+19µs) by Pod::Text::BEGIN@19 at line 19 of Pod/Text.pm # once (17µs+21µs) by YAML::PP::Dumper::BEGIN@3 at line 3 of YAML/PP/Writer.pm # once (12µs+24µs) by JSON::MaybeXS::BEGIN@4 at line 4 of JSON/MaybeXS.pm # once (16µs+20µs) by YAML::PP::Dumper::BEGIN@2 at line 2 of YAML/PP/Emitter.pm # once (16µs+20µs) by List::MoreUtils::BEGIN@5 at line 5 of List/MoreUtils.pm # once (15µs+21µs) by YAML::PP::Loader::BEGIN@3.292 at line 3 of YAML/PP/Constructor.pm # once (19µs+17µs) by Encode::BEGIN@6 at line 6 of Encode.pm # once (15µs+19µs) by Digest::SHA::BEGIN@6 at line 6 of Digest/SHA.pm # once (9µs+25µs) by YAML::PP::BEGIN@2.294 at line 2 of YAML/PP/Dumper.pm # once (11µs+23µs) by Type::Tiny::Class::BEGIN@5 at line 5 of Type/Tiny/Class.pm # once (13µs+21µs) by Moo::_Utils::BEGIN@2.306 at line 2 of JSON/Schema/Modern/Vocabulary.pm # once (15µs+19µs) by List::MoreUtils::XS::BEGIN@5 at line 5 of List/MoreUtils/XS.pm # once (15µs+19µs) by Method::Generate::Constructor::BEGIN@3 at line 3 of Method/Generate/Constructor.pm # once (14µs+20µs) by Module::Runtime::BEGIN@2.320 at line 2 of JSON/Schema/Modern/Vocabulary/MetaData.pm # once (15µs+18µs) by strictures::BEGIN@4 at line 4 of strictures.pm # once (14µs+19µs) by Pod::Escapes::BEGIN@3 at line 3 of Pod/Escapes.pm # once (14µs+19µs) by Encode::Alias::BEGIN@3 at line 3 of Encode/Alias.pm # once (20µs+13µs) by main::BEGIN@1.1 at line 1 of /Users/ether/git/fastly/Heavenly/profiling/jsm-0.558-om-0.037/../prof.pl # once (13µs+20µs) by Types::Standard::ArrayRef::BEGIN@7 at line 7 of Types/Standard/ArrayRef.pm # once (16µs+17µs) by Encode::Config::BEGIN@8 at line 8 of Encode/Config.pm # once (13µs+20µs) by namespace::clean::BEGIN@3 at line 3 of namespace/clean.pm # once (14µs+19µs) by IO::Compress::Base::Common::BEGIN@522 at line 522 of IO/Compress/Base/Common.pm # once (13µs+19µs) by Module::Runtime::BEGIN@2.308 at line 2 of JSON/Schema/Modern/Vocabulary/Applicator.pm # once (13µs+19µs) by IO::Uncompress::Base::BEGIN@5 at line 5 of IO/Uncompress/Base.pm # once (17µs+15µs) by Type::Tiny::ConstrainedObject::BEGIN@5 at line 5 of Type/Tiny/ConstrainedObject.pm # once (15µs+17µs) by Module::Runtime::BEGIN@2.314 at line 2 of JSON/Schema/Modern/Vocabulary/FormatAssertion.pm # once (14µs+18µs) by IO::Compress::Gzip::BEGIN@6 at line 6 of IO/Compress/Gzip.pm # once (12µs+20µs) by JSON::Schema::Modern::BEGIN@2.67 at line 2 of JSON/Schema/Modern/Error.pm # once (12µs+19µs) by Module::Runtime::BEGIN@2.322 at line 2 of JSON/Schema/Modern/Vocabulary/OpenAPI.pm # once (14µs+17µs) by Config::BEGIN@6 at line 6 of Config_heavy.pl # once (14µs+17µs) by Type::Tiny::Union::BEGIN@5 at line 5 of Type/Tiny/Union.pm # once (17µs+14µs) by Config::BEGIN@10 at line 10 of Config.pm # once (12µs+18µs) by Type::Tiny::BEGIN@5 at line 5 of Type/Tiny.pm # once (11µs+19µs) by Sub::Exporter::Progressive::BEGIN@4 at line 4 of Sub/Exporter/Progressive.pm # once (10µs+20µs) by utf8::BEGIN@4 at line 4 of utf8.pm # once (14µs+16µs) by Method::Generate::BuildAll::BEGIN@3 at line 3 of Method/Generate/BuildAll.pm # once (14µs+16µs) by IO::Uncompress::RawInflate::BEGIN@5 at line 5 of IO/Uncompress/RawInflate.pm # once (11µs+19µs) by IO::Uncompress::Adapter::Inflate::BEGIN@4 at line 4 of IO/Uncompress/Adapter/Inflate.pm # once (14µs+16µs) by Compress::Raw::Zlib::BEGIN@9 at line 9 of Compress/Raw/Zlib.pm # once (16µs+14µs) by B::Hooks::EndOfScope::BEGIN@6 at line 6 of B/Hooks/EndOfScope.pm # once (15µs+14µs) by YAML::PP::BEGIN@3 at line 3 of YAML/PP/Loader.pm # once (12µs+17µs) by MIME::Base64::BEGIN@4 at line 4 of MIME/Base64.pm # once (14µs+15µs) by JSON::Schema::Modern::BEGIN@2.114 at line 2 of JSON/Schema/Modern/Document.pm # once (13µs+16µs) by Role::Tiny::BEGIN@3 at line 3 of Role/Tiny.pm # once (13µs+15µs) by Types::Standard::HashRef::BEGIN@7 at line 7 of Types/Standard/HashRef.pm # once (11µs+17µs) by Digest::base::BEGIN@4 at line 4 of Digest/base.pm # once (12µs+16µs) by B::Hooks::EndOfScope::XS::BEGIN@5 at line 5 of B/Hooks/EndOfScope/XS.pm # once (13µs+14µs) by MooX::HandlesVia::BEGIN@5 at line 5 of MooX/HandlesVia.pm # once (13µs+14µs) by Module::Implementation::BEGIN@6 at line 6 of Module/Implementation.pm # once (11µs+16µs) by Package::Stash::BEGIN@3 at line 3 of Package/Stash.pm # once (10µs+17µs) by Types::Standard::BEGIN@5 at line 5 of Types/Standard.pm # once (12µs+15µs) by bytes::BEGIN@4 at line 4 of bytes.pm # once (10µs+17µs) by IO::Uncompress::Gunzip::BEGIN@9 at line 9 of IO/Uncompress/Gunzip.pm # once (12µs+15µs) by Type::Library::BEGIN@5 at line 5 of Type/Library.pm # once (12µs+15µs) by OpenAPI::Modern::BEGIN@2.243 at line 2 of JSON/Schema/Modern/Document/OpenAPI.pm # once (11µs+15µs) by YAML::PP::Loader::BEGIN@3 at line 3 of YAML/PP/Parser.pm # once (12µs+14µs) by POSIX::BEGIN@3 at line 3 of POSIX.pm # once (10µs+16µs) by Module::Runtime::BEGIN@2.316 at line 2 of JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm # once (11µs+15µs) by YAML::PP::Schema::BEGIN@2 at line 2 of YAML/PP/Common.pm # once (11µs+15µs) by YAML::PP::Parser::BEGIN@2.286 at line 2 of YAML/PP/Lexer.pm # once (13µs+13µs) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@2 at line 2 of Sub/Install.pm # once (13µs+13µs) by URI::Escape::BEGIN@4 at line 4 of URI/Escape.pm # once (10µs+15µs) by experimental::BEGIN@4 at line 4 of experimental.pm # once (12µs+13µs) by Types::Standard::Tuple::BEGIN@7 at line 7 of Types/Standard/Tuple.pm # once (9µs+16µs) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@2.310 at line 2 of JSON/Schema/Modern/Vocabulary/Unevaluated.pm # once (11µs+13µs) by Scalar::Util::BEGIN@10 at line 10 of Scalar/Util.pm # once (9µs+15µs) by YAML::PP::BEGIN@2 at line 2 of YAML/PP/Schema.pm # once (13µs+11µs) by Data::Dumper::BEGIN@13 at line 13 of Data/Dumper.pm # once (10µs+14µs) by JSON::Schema::Modern::Result::BEGIN@2 at line 2 of JSON/Schema/Modern/Annotation.pm # once (10µs+14µs) by Type::Tiny::Enum::BEGIN@5 at line 5 of Type/Tiny/Enum.pm # once (13µs+11µs) by Variable::Magic::BEGIN@6 at line 6 of Variable/Magic.pm # once (10µs+13µs) by Params::Util::PP::BEGIN@4 at line 4 of Params/Util/PP.pm # once (13µs+10µs) by Moo::sification::BEGIN@3 at line 3 of Moo/sification.pm # once (12µs+11µs) by Moo::_Utils::BEGIN@3 at line 3 of Moo/_Utils.pm # once (11µs+11µs) by Eval::TypeTiny::BEGIN@13 at line 13 of Eval/TypeTiny.pm # once (9µs+13µs) by Class::Inspector::BEGIN@7 at line 7 of Class/Inspector.pm # once (11µs+11µs) by Mojo::Util::BEGIN@16 at line 16 of Getopt/Long.pm # once (9µs+13µs) by Module::Runtime::BEGIN@2 at line 2 of JSON/Schema/Modern/Vocabulary/Core.pm # once (11µs+10µs) by namespace::clean::_Util::BEGIN@12 at line 12 of namespace/clean/_Util.pm # once (10µs+11µs) by YAML::PP::Parser::BEGIN@3 at line 3 of YAML/PP/Render.pm # once (9µs+12µs) by Module::Runtime::BEGIN@2.318 at line 2 of JSON/Schema/Modern/Vocabulary/Content.pm # once (11µs+10µs) by YAML::PP::Lexer::BEGIN@2 at line 2 of YAML/PP/Grammar.pm # once (9µs+11µs) by List::MoreUtils::PP::BEGIN@5 at line 5 of List/MoreUtils/PP.pm # once (10µs+10µs) by IO::Compress::Base::BEGIN@7 at line 7 of IO/Compress/Base.pm # once (9µs+11µs) by File::GlobMapper::BEGIN@4 at line 4 of File/GlobMapper.pm # once (7µs+13µs) by IO::Compress::Base::Common::BEGIN@4 at line 4 of IO/Compress/Base/Common.pm # once (7µs+12µs) by Module::Load::BEGIN@4 at line 4 of Module/Load.pm # once (11µs+8µs) by List::Util::BEGIN@10 at line 10 of List/Util.pm # once (8µs+10µs) by Types::TypeTiny::BEGIN@5 at line 5 of Types/TypeTiny.pm # once (11µs+7µs) by main::BEGIN@2.3 at line 2 of OpenAPI/Modern.pm # once (8µs+9µs) by Package::Stash::XS::BEGIN@3 at line 3 of Package/Stash/XS.pm # once (9µs+8µs) by Moo::BEGIN@3 at line 3 of Moo.pm # once (8µs+9µs) by Sub::Quote::BEGIN@6 at line 6 of Sub/Quote.pm # once (8µs+8µs) by Sub::Defer::BEGIN@3 at line 3 of Sub/Defer.pm # once (9µs+7µs) by Moo::Object::BEGIN@3 at line 3 of Moo/Object.pm # once (8µs+7µs) by overloading::BEGIN@2 at line 2 of overloading.pm # once (6µs+9µs) by re::BEGIN@5 at line 5 of re.pm # once (7µs+7µs) by IO::Compress::RawDeflate::BEGIN@6 at line 6 of IO/Compress/RawDeflate.pm # once (6µs+7µs) by Carp::BEGIN@5 at line 5 of Carp.pm # once (8µs+4µs) by Try::Tiny::BEGIN@8 at line 8 of Try/Tiny.pm
{
36022689µs my $invocant = shift;
361
362 # append 'all' when implied (empty import list or after a lone
363 # "FATAL" or "NONFATAL")
364226262µs push @_, 'all'
365 if !@_ || (@_==1 && ($_[0] eq 'FATAL' || $_[0] eq 'NONFATAL'));
366
367226136µs my @fatal = ();
368226937µs foreach my $warning (@_) {
36916013.64ms1601589µs if($warning =~ /^(NON)?FATAL$/) {
# spent 589µs making 1601 calls to warnings::CORE:match, avg 368ns/call
370 @fatal = ($warning);
371 } elsif(substr($warning, 0, 1) ne '-') {
3721576670µs my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
37315761.60ms157610.7ms ${^WARNING_BITS} = _bits($mask, @fatal, $warning);
# spent 10.7ms making 1576 calls to warnings::_bits, avg 7µs/call
374 } else {
375 $invocant->unimport(substr($warning, 1));
376 }
377 }
378}
379
380sub unimport
381
# spent 6.51ms (4.15+2.36) within warnings::unimport which was called 410 times, avg 16µs/call: # 54 times (344µs+101µs) by experimental::_enable at line 68 of experimental.pm, avg 8µs/call # 18 times (238µs+24µs) by strictures::_enable_2 at line 172 of strictures.pm, avg 15µs/call # 18 times (71µs+17µs) by strictures::_enable_2 at line 174 of strictures.pm, avg 5µs/call # 6 times (57µs+24µs) by Feature::Compat::Try::import at line 146 of Feature/Compat/Try.pm, avg 14µs/call # 2 times (13µs+64µ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 38µs/call # once (31µs+101µs) by IO::Uncompress::Base::BEGIN@429 at line 429 of IO/Uncompress/Base.pm # once (10µs+53µs) by OpenAPI::Modern::BEGIN@5.271 at line 5 of (eval 409)[Sub/Quote.pm:3] # once (21µs+40µs) by Role::Tiny::BEGIN@242 at line 242 of Role/Tiny.pm # once (15µs+38µs) by JSON::Schema::Modern::Document::BEGIN@5.127 at line 5 of (eval 295)[Sub/Quote.pm:3] # once (32µs+20µs) by Moo::Role::BEGIN@360 at line 360 of Moo/Role.pm # once (27µs+23µs) by Role::Tiny::BEGIN@484 at line 484 of Role/Tiny.pm # once (48µs+2µs) by JSON::Schema::Modern::Document::BEGIN@5.131 at line 5 of (eval 297)[Sub/Quote.pm:3] # once (16µs+32µs) by Eval::TypeTiny::Sandbox::BEGIN@3.29 at line 3 of (eval 56)[Eval/TypeTiny.pm:8] # once (40µs+4µs) by Eval::TypeTiny::Sandbox::BEGIN@3.49 at line 3 of (eval 116)[Eval/TypeTiny.pm:8] # once (39µs+4µs) by JSON::Schema::Modern::Document::BEGIN@7 at line 7 of (eval 268)[Sub/Quote.pm:3] # once (33µs+9µs) by IO::Compress::RawDeflate::BEGIN@137 at line 137 of IO/Compress/RawDeflate.pm # once (6µs+36µs) by JSON::Schema::Modern::Document::BEGIN@5.133 at line 5 of (eval 298)[Sub/Quote.pm:3] # once (8µs+34µs) by Eval::TypeTiny::Sandbox::BEGIN@3.61 at line 3 of (eval 139)[Eval/TypeTiny.pm:8] # once (27µs+14µs) by Method::Generate::Accessor::BEGIN@685 at line 685 of Method/Generate/Accessor.pm # once (37µs+2µs) by JSON::Schema::Modern::Annotation::BEGIN@5.86 at line 5 of (eval 232)[Sub/Quote.pm:3] # once (28µs+11µs) by JSON::Schema::Modern::Result::BEGIN@6 at line 6 of (eval 257)[Sub/Quote.pm:3] # once (24µs+14µs) by JSON::PP::BEGIN@457 at line 457 of JSON/PP.pm # once (23µs+14µs) by Pod::Simple::BlackBox::BEGIN@1 at line 1 of (eval 9)[Pod/Simple/BlackBox.pm:40] # once (32µs+4µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 at line 87 of (eval 421)[Sub/Quote.pm:3] # once (33µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@24.158 at line 24 of (eval 308)[Sub/Quote.pm:3] # once (21µs+13µs) by IO::Compress::Base::BEGIN@278 at line 278 of IO/Compress/Base.pm # once (24µs+9µs) by JSON::Schema::Modern::Document::BEGIN@7.143 at line 7 of (eval 303)[Sub/Quote.pm:3] # once (16µs+17µs) by Pod::Simple::BlackBox::BEGIN@1.23 at line 1 of (eval 26)[Pod/Simple/BlackBox.pm:40] # once (20µs+12µs) by OpenAPI::Modern::BEGIN@7 at line 7 of (eval 419)[Sub/Quote.pm:3] # once (19µs+13µs) by JSON::Schema::Modern::Result::BEGIN@8 at line 8 of (eval 241)[Sub/Quote.pm:3] # once (19µs+13µs) by YAML::PP::Parser::BEGIN@97 at line 97 of YAML/PP/Parser.pm # once (19µs+12µs) by IO::Compress::Base::BEGIN@987 at line 987 of IO/Compress/Base.pm # once (20µs+11µs) by Types::Standard::BEGIN@194 at line 194 of Types/Standard.pm # once (21µs+9µs) by Method::Generate::Constructor::BEGIN@5.68 at line 5 of (eval 207)[Sub/Quote.pm:3] # once (20µs+9µs) by JSON::Schema::Modern::Result::BEGIN@8.99 at line 8 of (eval 251)[Sub/Quote.pm:3] # once (17µs+12µs) by Pod::Simple::BlackBox::BEGIN@67 at line 67 of Pod/Simple/BlackBox.pm # once (17µs+11µs) by JSON::Schema::Modern::Error::BEGIN@5 at line 5 of (eval 208)[Sub/Quote.pm:3] # once (15µs+13µs) by Mojo::Util::BEGIN@204 at line 204 of Mojo/Util.pm # once (18µs+10µs) by JSON::Schema::Modern::BEGIN@5 at line 5 of (eval 314)[Sub/Quote.pm:3] # once (18µs+10µs) by Eval::TypeTiny::Sandbox::BEGIN@3.32 at line 3 of (eval 67)[Eval/TypeTiny.pm:8] # once (18µs+10µs) by Pod::Simple::BlackBox::BEGIN@273 at line 273 of Pod/Simple/BlackBox.pm # once (18µs+10µs) by JSON::Schema::Modern::BEGIN@5.226 at line 5 of (eval 370)[Sub/Quote.pm:3] # once (17µs+11µs) by JSON::Schema::Modern::Result::BEGIN@5 at line 5 of (eval 240)[Sub/Quote.pm:3] # once (17µs+10µs) by JSON::Schema::Modern::Document::BEGIN@11.329 at line 11 of (eval 428)[Sub/Quote.pm:3] # once (19µs+8µs) by JSON::Schema::Modern::BEGIN@5.186 at line 5 of (eval 340)[Sub/Quote.pm:3] # once (13µs+14µs) by JSON::Schema::Modern::Error::BEGIN@5.72 at line 5 of (eval 210)[Sub/Quote.pm:3] # once (17µs+10µs) by JSON::Schema::Modern::Result::BEGIN@5.102 at line 5 of (eval 253)[Sub/Quote.pm:3] # once (18µs+9µs) by Exporter::Heavy::BEGIN@202 at line 202 of Exporter/Heavy.pm # once (16µs+11µs) by JSON::Schema::Modern::BEGIN@5.235 at line 5 of (eval 380)[Sub/Quote.pm:3] # once (19µs+8µs) by File::Glob::BEGIN@50 at line 50 of File/Glob.pm # once (17µs+10µs) by Type::Tiny::BEGIN@16.332 at line 16 of (eval 432)[Sub/Quote.pm:3] # once (18µs+9µs) by IO::Uncompress::Base::BEGIN@1500 at line 1500 of IO/Uncompress/Base.pm # once (16µs+11µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.248 at line 5 of (eval 391)[Sub/Quote.pm:3] # once (19µs+7µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5 at line 5 of (eval 389)[Sub/Quote.pm:3] # once (16µs+10µs) by JSON::Schema::Modern::Result::BEGIN@5.97 at line 5 of (eval 250)[Sub/Quote.pm:3] # once (17µs+9µs) by Method::Generate::Accessor::_Generated::BEGIN@20.110 at line 20 of (eval 257)[Sub/Quote.pm:3] # once (17µs+9µs) by JSON::Schema::Modern::BEGIN@7.239 at line 7 of (eval 382)[Sub/Quote.pm:3] # once (12µs+14µs) by Sub::Defer::BEGIN@89 at line 89 of Sub/Defer.pm # once (17µs+8µs) by JSON::Schema::Modern::Result::BEGIN@15.337 at line 15 of (eval 436)[Sub/Quote.pm:3] # once (12µs+13µs) by Method::Generate::Accessor::_Generated::BEGIN@44 at line 44 of (eval 241)[Sub/Quote.pm:3] # once (18µs+7µs) by Types::Standard::Map::BEGIN@24 at line 24 of Types/Standard/Map.pm # once (16µs+9µs) by Eval::TypeTiny::Sandbox::BEGIN@3.58 at line 3 of (eval 135)[Eval/TypeTiny.pm:8] # once (16µs+9µs) by Storable::BEGIN@66 at line 66 of Storable.pm # once (16µs+9µs) by Eval::TypeTiny::Sandbox::BEGIN@3.31 at line 3 of (eval 64)[Eval/TypeTiny.pm:8] # once (17µs+8µs) by IO::Uncompress::Base::BEGIN@90 at line 90 of IO/Uncompress/Base.pm # once (15µs+9µs) by IO::Compress::Gzip::BEGIN@170 at line 170 of IO/Compress/Gzip.pm # once (15µs+9µs) by JSON::Schema::Modern::BEGIN@7.170 at line 7 of (eval 319)[Sub/Quote.pm:3] # once (15µs+9µs) by JSON::Schema::Modern::Annotation::BEGIN@5 at line 5 of (eval 230)[Sub/Quote.pm:3] # once (18µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.30 at line 3 of (eval 61)[Eval/TypeTiny.pm:8] # once (15µs+9µs) by File::GlobMapper::BEGIN@341 at line 341 of File/GlobMapper.pm # once (14µs+10µs) by Data::Perl::Role::Collection::Hash::BEGIN@77 at line 77 of Data/Perl/Role/Collection/Hash.pm # once (16µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.39 at line 3 of (eval 87)[Eval/TypeTiny.pm:8] # once (5µs+19µs) by JSON::Schema::Modern::BEGIN@75 at line 75 of (eval 420)[Sub/Quote.pm:3] # once (17µs+7µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7 at line 7 of (eval 392)[Sub/Quote.pm:3] # once (17µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@20.148 at line 20 of (eval 304)[Sub/Quote.pm:3] # once (13µs+10µs) by Path::Tiny::BEGIN@37 at line 37 of Path/Tiny.pm # once (16µs+7µs) by JSON::Schema::Modern::BEGIN@7.211 at line 7 of (eval 359)[Sub/Quote.pm:3] # once (12µs+11µs) by Eval::TypeTiny::Sandbox::BEGIN@3.33 at line 3 of (eval 70)[Eval/TypeTiny.pm:8] # once (17µs+6µs) by JSON::Schema::Modern::BEGIN@5.237 at line 5 of (eval 381)[Sub/Quote.pm:3] # once (13µs+10µs) by Eval::TypeTiny::Sandbox::BEGIN@3.37 at line 3 of (eval 81)[Eval/TypeTiny.pm:8] # once (14µs+9µs) by JSON::Schema::Modern::BEGIN@5.230 at line 5 of (eval 372)[Sub/Quote.pm:3] # once (14µs+8µs) by Type::Tiny::BEGIN@16.334 at line 16 of (eval 434)[Sub/Quote.pm:3] # once (15µs+7µs) by JSON::Schema::Modern::BEGIN@5.200 at line 5 of (eval 347)[Sub/Quote.pm:3] # once (11µs+11µs) by Pod::Simple::BlackBox::BEGIN@1.24 at line 1 of (eval 27)[Pod/Simple/BlackBox.pm:44] # once (10µs+12µs) by JSON::Schema::Modern::BEGIN@5.168 at line 5 of (eval 318)[Sub/Quote.pm:3] # once (14µs+8µs) by JSON::Schema::Modern::BEGIN@5.175 at line 5 of (eval 321)[Sub/Quote.pm:3] # once (13µs+9µs) by JSON::Schema::Modern::BEGIN@7.232 at line 7 of (eval 373)[Sub/Quote.pm:3] # once (15µs+7µs) by Types::TypeTiny::BEGIN@623 at line 623 of Types/TypeTiny.pm # once (13µs+8µs) by JSON::Schema::Modern::Document::BEGIN@74 at line 74 of (eval 428)[Sub/Quote.pm:3] # once (12µs+9µs) by Type::Library::BEGIN@208 at line 208 of Type/Library.pm # once (13µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.34 at line 3 of (eval 73)[Eval/TypeTiny.pm:8] # once (16µs+5µs) by JSON::Schema::Modern::Result::BEGIN@5.95 at line 5 of (eval 249)[Sub/Quote.pm:3] # once (13µs+8µs) by Role::Tiny::BEGIN@29 at line 29 of Role/Tiny.pm # once (14µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.38 at line 3 of (eval 84)[Eval/TypeTiny.pm:8] # once (11µs+9µs) by JSON::Schema::Modern::Document::BEGIN@5.152 at line 5 of (eval 306)[Sub/Quote.pm:3] # once (11µs+9µs) by JSON::Schema::Modern::BEGIN@5.162 at line 5 of (eval 315)[Sub/Quote.pm:3] # once (13µs+7µs) by JSON::Schema::Modern::BEGIN@5.205 at line 5 of (eval 356)[Sub/Quote.pm:3] # once (12µs+8µs) by Method::Generate::Accessor::_Generated::BEGIN@20.247 at line 20 of (eval 390)[Sub/Quote.pm:3] # once (13µs+7µs) by JSON::Schema::Modern::Error::BEGIN@5.75 at line 5 of (eval 212)[Sub/Quote.pm:3] # once (13µs+7µs) by JSON::Schema::Modern::Error::BEGIN@5.70 at line 5 of (eval 209)[Sub/Quote.pm:3] # once (13µs+7µs) by overload::BEGIN@5 at line 5 of overload.pm # once (12µs+8µs) by JSON::Schema::Modern::BEGIN@5.228 at line 5 of (eval 371)[Sub/Quote.pm:3] # once (13µs+7µs) by JSON::Schema::Modern::BEGIN@22.301 at line 22 of (eval 420)[Sub/Quote.pm:3] # once (11µs+8µs) by JSON::Schema::Modern::Document::BEGIN@6.149 at line 6 of (eval 305)[Sub/Quote.pm:3] # once (9µs+10µs) by Type::Library::BEGIN@285 at line 285 of Type/Library.pm # once (13µs+6µs) by Ref::Util::BEGIN@24 at line 24 of Ref/Util.pm # once (11µs+8µs) by JSON::Schema::Modern::BEGIN@7.223 at line 7 of (eval 366)[Sub/Quote.pm:3] # once (12µs+7µs) by JSON::Schema::Modern::BEGIN@5.173 at line 5 of (eval 320)[Sub/Quote.pm:3] # once (10µs+9µs) by JSON::Schema::Modern::BEGIN@5.188 at line 5 of (eval 341)[Sub/Quote.pm:3] # once (14µs+5µs) by Class::Method::Modifiers::BEGIN@146 at line 146 of Class/Method/Modifiers.pm # once (11µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.28 at line 3 of (eval 53)[Eval/TypeTiny.pm:8] # once (11µs+8µs) by JSON::Schema::Modern::BEGIN@7.202 at line 7 of (eval 348)[Sub/Quote.pm:3] # once (12µs+7µs) by JSON::Schema::Modern::Error::BEGIN@5.79 at line 5 of (eval 215)[Sub/Quote.pm:3] # once (12µs+7µs) by Types::Standard::Tuple::BEGIN@338 at line 338 of Types/Standard/Tuple.pm # once (12µs+7µs) by JSON::Schema::Modern::BEGIN@5.179 at line 5 of (eval 327)[Sub/Quote.pm:3] # once (13µs+6µs) by Types::Standard::ArrayRef::BEGIN@22 at line 22 of Types/Standard/ArrayRef.pm # once (13µs+6µs) by JSON::Schema::Modern::Document::BEGIN@8 at line 8 of (eval 267)[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 (13µs+5µs) by JSON::Schema::Modern::Error::BEGIN@14.335 at line 14 of (eval 435)[Sub/Quote.pm:3] # once (14µs+4µs) by Moo::_Utils::BEGIN@228 at line 228 of Moo/_Utils.pm # once (13µs+5µs) by JSON::Schema::Modern::Document::BEGIN@79 at line 79 of (eval 428)[Sub/Quote.pm:3] # once (10µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.40 at line 3 of (eval 90)[Eval/TypeTiny.pm:8] # once (12µs+6µs) by URI::Escape::BEGIN@191 at line 191 of URI/Escape.pm # once (12µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.48 at line 3 of (eval 114)[Eval/TypeTiny.pm:8] # once (11µs+7µs) by JSON::Schema::Modern::Document::BEGIN@5 at line 5 of (eval 265)[Sub/Quote.pm:3] # once (10µs+8µs) by JSON::Schema::Modern::BEGIN@7 at line 7 of (eval 316)[Sub/Quote.pm:3] # once (12µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.64 at line 3 of (eval 145)[Eval/TypeTiny.pm:8] # once (11µs+7µs) by JSON::Schema::Modern::BEGIN@5.214 at line 5 of (eval 361)[Sub/Quote.pm:3] # once (13µs+5µs) by U64::BEGIN@1046 at line 1046 of IO/Compress/Base/Common.pm # once (11µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3 at line 3 of (eval 51)[Eval/TypeTiny.pm:8] # once (10µs+8µs) by Types::Standard::Dict::BEGIN@32 at line 32 of Types/Standard/Dict.pm # once (12µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@39.251 at line 39 of (eval 392)[Sub/Quote.pm:3] # once (10µs+7µs) by JSON::Schema::Modern::Error::BEGIN@6 at line 6 of (eval 217)[Sub/Quote.pm:3] # once (9µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.50 at line 3 of (eval 118)[Eval/TypeTiny.pm:8] # once (9µs+8µs) by Method::Generate::Accessor::_Generated::BEGIN@24.172 at line 24 of (eval 319)[Sub/Quote.pm:3] # once (12µs+5µs) by Type::Tiny::Class::BEGIN@93 at line 93 of Type/Tiny/Class.pm # once (11µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@44.101 at line 44 of (eval 251)[Sub/Quote.pm:3] # once (10µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.47 at line 3 of (eval 111)[Eval/TypeTiny.pm:8] # once (10µs+7µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@6 at line 6 of (eval 390)[Sub/Quote.pm:3] # once (9µs+8µs) by Eval::TypeTiny::Sandbox::BEGIN@3.36 at line 3 of (eval 78)[Eval/TypeTiny.pm:8] # once (11µs+6µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.252 at line 5 of (eval 393)[Sub/Quote.pm:3] # once (11µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24.234 at line 24 of (eval 373)[Sub/Quote.pm:3] # once (13µs+4µs) by Data::Perl::Role::Collection::Array::BEGIN@24 at line 24 of Data/Perl/Role/Collection/Array.pm # once (13µs+4µs) by Eval::TypeTiny::BEGIN@81 at line 81 of Eval/TypeTiny.pm # once (11µs+6µs) by Type::Tiny::BEGIN@72 at line 72 of Type/Tiny.pm # once (11µs+6µs) by JSON::Schema::Modern::Document::BEGIN@5.123 at line 5 of (eval 272)[Sub/Quote.pm:3] # once (10µs+7µs) by Sub::Defer::BEGIN@34 at line 34 of Sub/Defer.pm # once (14µs+3µs) by Exporter::Tiny::BEGIN@5.25 at line 5 of Exporter/Tiny.pm # once (14µs+3µs) by Exporter::Tiny::BEGIN@137 at line 137 of Exporter/Tiny.pm # once (8µs+8µs) by Type::Library::BEGIN@233 at line 233 of Type/Library.pm # once (10µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24.145 at line 24 of (eval 303)[Sub/Quote.pm:3] # once (10µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24.225 at line 24 of (eval 366)[Sub/Quote.pm:3] # once (10µs+6µs) by OpenAPI::Modern::BEGIN@5 at line 5 of (eval 405)[Sub/Quote.pm:3] # once (11µs+5µs) by Sub::Quote::BEGIN@65 at line 65 of Sub/Quote.pm # once (9µs+7µs) by JSON::Schema::Modern::BEGIN@5.166 at line 5 of (eval 317)[Sub/Quote.pm:3] # once (9µs+7µs) by Method::Generate::Accessor::_Generated::BEGIN@44.108 at line 44 of (eval 255)[Sub/Quote.pm:3] # once (13µs+3µs) by Exporter::Tiny::BEGIN@382 at line 382 of Exporter/Tiny.pm # once (10µs+6µs) by JSON::Schema::Modern::Document::BEGIN@7.139 at line 7 of (eval 301)[Sub/Quote.pm:3] # once (12µs+4µs) by Carp::BEGIN@744 at line 744 of Carp.pm # once (9µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.45 at line 3 of (eval 105)[Eval/TypeTiny.pm:8] # once (11µs+4µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.303 at line 14 of (eval 421)[Sub/Quote.pm:3] # once (10µs+5µs) by JSON::Schema::Modern::Document::BEGIN@6.146 at line 6 of (eval 304)[Sub/Quote.pm:3] # once (9µs+6µs) by Type::Library::BEGIN@315 at line 315 of Type/Library.pm # once (9µs+6µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7.254 at line 7 of (eval 394)[Sub/Quote.pm:3] # once (12µs+3µs) by OpenAPI::Modern::BEGIN@43 at line 43 of (eval 419)[Sub/Quote.pm:3] # once (11µs+4µs) by JSON::Schema::Modern::Result::BEGIN@5.104 at line 5 of (eval 254)[Sub/Quote.pm:3] # once (9µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.35 at line 3 of (eval 76)[Eval/TypeTiny.pm:8] # once (10µs+5µs) by MooX::HandlesVia::BEGIN@26 at line 26 of MooX/HandlesVia.pm # once (9µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24.165 at line 24 of (eval 316)[Sub/Quote.pm:3] # once (8µs+7µs) by JSON::Schema::Modern::Result::BEGIN@8.106 at line 8 of (eval 255)[Sub/Quote.pm:3] # once (9µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@39.122 at line 39 of (eval 270)[Sub/Quote.pm:3] # once (12µs+3µs) by JSON::Schema::Modern::BEGIN@5.194 at line 5 of (eval 344)[Sub/Quote.pm:3] # once (8µs+7µs) by JSON::Schema::Modern::Result::BEGIN@5.111 at line 5 of (eval 258)[Sub/Quote.pm:3] # once (9µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.46 at line 3 of (eval 108)[Eval/TypeTiny.pm:8] # once (9µs+6µs) by JSON::Schema::Modern::BEGIN@5.198 at line 5 of (eval 346)[Sub/Quote.pm:3] # once (9µs+6µs) by JSON::Schema::Modern::Document::BEGIN@6 at line 6 of (eval 273)[Sub/Quote.pm:3] # once (11µs+4µs) by Types::TypeTiny::BEGIN@45 at line 45 of Types/TypeTiny.pm # once (8µs+7µs) by Eval::TypeTiny::Sandbox::BEGIN@3.65 at line 3 of (eval 147)[Eval/TypeTiny.pm:8] # once (9µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.42 at line 3 of (eval 96)[Eval/TypeTiny.pm:8] # once (10µs+5µs) by Sub::Defer::BEGIN@167 at line 167 of Sub/Defer.pm # once (8µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.41 at line 3 of (eval 93)[Eval/TypeTiny.pm:8] # once (11µs+3µs) by JSON::Schema::Modern::Error::BEGIN@106 at line 106 of (eval 435)[Sub/Quote.pm:3] # once (9µs+5µs) by Type::Tiny::Enum::BEGIN@54 at line 54 of Type/Tiny/Enum.pm # once (12µs+2µs) by Moo::Object::BEGIN@67 at line 67 of Moo/Object.pm # once (9µs+5µs) by JSON::Schema::Modern::BEGIN@5.192 at line 5 of (eval 343)[Sub/Quote.pm:3] # once (9µs+5µs) by JSON::Schema::Modern::Annotation::BEGIN@5.90 at line 5 of (eval 234)[Sub/Quote.pm:3] # once (9µs+5µs) by Method::Generate::Accessor::_Generated::BEGIN@19.246 at line 19 of (eval 390)[Sub/Quote.pm:3] # once (8µs+6µs) by JSON::Schema::Modern::BEGIN@7.183 at line 7 of (eval 329)[Sub/Quote.pm:3] # once (10µs+4µs) by Types::Standard::HashRef::BEGIN@22 at line 22 of Types/Standard/HashRef.pm # once (9µs+4µs) by JSON::Schema::Modern::BEGIN@5.190 at line 5 of (eval 342)[Sub/Quote.pm:3] # once (8µs+5µs) by JSON::Schema::Modern::BEGIN@5.196 at line 5 of (eval 345)[Sub/Quote.pm:3] # once (12µs+1000ns) by Moo::_Utils::BEGIN@235 at line 235 of Moo/_Utils.pm # once (6µs+7µs) by OpenAPI::Modern::BEGIN@5.277 at line 5 of (eval 412)[Sub/Quote.pm:3] # once (8µs+5µs) by JSON::Schema::Modern::Document::BEGIN@7.120 at line 7 of (eval 270)[Sub/Quote.pm:3] # once (10µs+3µs) by Pod::Simple::BlackBox::BEGIN@1.7 at line 1 of (eval 10)[Pod/Simple/BlackBox.pm:44] # once (7µs+6µs) by Type::Tiny::BEGIN@16 at line 16 of (eval 423)[Sub/Quote.pm:3] # once (11µs+2µs) by strictures::BEGIN@97 at line 97 of strictures.pm # once (8µs+5µs) by Type::Tiny::BEGIN@16.326 at line 16 of (eval 426)[Sub/Quote.pm:3] # once (7µs+6µs) by JSON::Schema::Modern::BEGIN@65 at line 65 of (eval 420)[Sub/Quote.pm:3] # once (8µs+5µs) by OpenAPI::Modern::BEGIN@5.273 at line 5 of (eval 410)[Sub/Quote.pm:3] # once (10µs+2µs) by Unicode::Normalize::BEGIN@8 at line 8 of Unicode/Normalize.pm # once (7µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@7.261 at line 7 of (eval 397)[Sub/Quote.pm:3] # once (7µs+5µs) by JSON::Schema::Modern::Document::BEGIN@84 at line 84 of (eval 428)[Sub/Quote.pm:3] # once (8µs+4µs) by JSON::Schema::Modern::Document::BEGIN@108 at line 108 of (eval 428)[Sub/Quote.pm:3] # once (7µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.53 at line 3 of (eval 124)[Eval/TypeTiny.pm:8] # once (7µs+5µs) by Class::Method::Modifiers::BEGIN@200 at line 200 of Class/Method/Modifiers.pm # once (9µs+3µs) by JSON::Schema::Modern::Annotation::BEGIN@5.84 at line 5 of (eval 231)[Sub/Quote.pm:3] # once (8µs+4µs) by JSON::Schema::Modern::BEGIN@5.177 at line 5 of (eval 322)[Sub/Quote.pm:3] # once (7µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.22 at line 1 of (eval 25)[Pod/Simple/BlackBox.pm:44] # once (6µs+6µs) by Types::Standard::Tuple::BEGIN@25 at line 25 of Types/Standard/Tuple.pm # once (6µs+6µs) by JSON::Schema::Modern::Document::BEGIN@5.154 at line 5 of (eval 307)[Sub/Quote.pm:3] # once (8µs+4µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.257 at line 5 of (eval 395)[Sub/Quote.pm:3] # once (6µs+6µs) by Eval::TypeTiny::Sandbox::BEGIN@3.44 at line 3 of (eval 102)[Eval/TypeTiny.pm:8] # once (9µs+3µs) by Module::Implementation::BEGIN@129 at line 129 of Module/Implementation.pm # once (7µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.17 at line 1 of (eval 20)[Pod/Simple/BlackBox.pm:40] # once (6µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.57 at line 3 of (eval 133)[Eval/TypeTiny.pm:8] # once (6µs+5µs) by JSON::Schema::Modern::Error::BEGIN@77 at line 77 of (eval 435)[Sub/Quote.pm:3] # once (10µs+1000ns) by Moo::_Utils::BEGIN@7 at line 7 of Moo/_Utils.pm # once (8µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@19.151 at line 19 of (eval 305)[Sub/Quote.pm:3] # once (8µs+3µs) by Type::Tiny::BEGIN@16.328 at line 16 of (eval 427)[Sub/Quote.pm:3] # once (9µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@39.256 at line 39 of (eval 394)[Sub/Quote.pm:3] # once (6µs+5µs) by OpenAPI::Modern::BEGIN@48 at line 48 of (eval 419)[Sub/Quote.pm:3] # once (6µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.10 at line 1 of (eval 13)[Pod/Simple/BlackBox.pm:40] # once (9µs+2µs) by Sub::Exporter::Progressive::BEGIN@21 at line 21 of Sub/Exporter/Progressive.pm # once (6µs+5µs) by JSON::Schema::Modern::Document::BEGIN@5.118 at line 5 of (eval 269)[Sub/Quote.pm:3] # once (10µs+1000ns) by Moo::BEGIN@4 at line 4 of Moo.pm # once (6µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.51 at line 3 of (eval 120)[Eval/TypeTiny.pm:8] # once (8µs+3µs) by JSON::Schema::Modern::Document::BEGIN@5.141 at line 5 of (eval 302)[Sub/Quote.pm:3] # once (7µs+4µs) by Method::Generate::Accessor::_Generated::BEGIN@19 at line 19 of (eval 273)[Sub/Quote.pm:3] # once (5µs+6µs) by Types::TypeTiny::BEGIN@69 at line 69 of Types/TypeTiny.pm # once (6µs+5µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@5.259 at line 5 of (eval 396)[Sub/Quote.pm:3] # once (6µs+5µs) by JSON::Schema::Modern::BEGIN@85 at line 85 of (eval 420)[Sub/Quote.pm:3] # once (6µs+5µs) by JSON::Schema::Modern::BEGIN@60 at line 60 of (eval 420)[Sub/Quote.pm:3] # once (6µs+4µs) by JSON::Schema::Modern::BEGIN@5.207 at line 5 of (eval 357)[Sub/Quote.pm:3] # once (6µs+4µs) by JSON::Schema::Modern::Result::BEGIN@75 at line 75 of (eval 436)[Sub/Quote.pm:3] # once (5µs+5µs) by OpenAPI::Modern::BEGIN@5.279 at line 5 of (eval 413)[Sub/Quote.pm:3] # once (5µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.9 at line 1 of (eval 12)[Pod/Simple/BlackBox.pm:44] # once (6µs+4µs) by JSON::Schema::Modern::Document::BEGIN@5.129 at line 5 of (eval 296)[Sub/Quote.pm:3] # once (7µs+3µs) by JSON::Schema::Modern::Annotation::BEGIN@5.92 at line 5 of (eval 235)[Sub/Quote.pm:3] # once (9µs+1µs) by Moo::sification::BEGIN@4 at line 4 of Moo/sification.pm # once (4µs+6µs) by Method::Generate::Accessor::_Generated::BEGIN@24.241 at line 24 of (eval 382)[Sub/Quote.pm:3] # once (6µs+4µs) by JSON::Schema::Modern::Document::BEGIN@5.135 at line 5 of (eval 299)[Sub/Quote.pm:3] # once (4µs+6µs) by JSON::Schema::Modern::BEGIN@5.209 at line 5 of (eval 358)[Sub/Quote.pm:3] # once (5µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.19 at line 1 of (eval 22)[Pod/Simple/BlackBox.pm:40] # once (5µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.56 at line 3 of (eval 131)[Eval/TypeTiny.pm:8] # once (7µs+3µs) by Pod::Simple::BlackBox::BEGIN@1.16 at line 1 of (eval 19)[Pod/Simple/BlackBox.pm:44] # once (7µs+3µs) by OpenAPI::Modern::BEGIN@5.275 at line 5 of (eval 411)[Sub/Quote.pm:3] # once (3µs+7µs) by Method::Generate::Accessor::_Generated::BEGIN@24 at line 24 of (eval 301)[Sub/Quote.pm:3] # once (5µs+5µs) by JSON::Schema::Modern::BEGIN@70 at line 70 of (eval 420)[Sub/Quote.pm:3] # once (5µs+5µs) by JSON::Schema::Modern::BEGIN@80 at line 80 of (eval 420)[Sub/Quote.pm:3] # once (4µs+5µs) by Pod::Simple::BlackBox::BEGIN@1.12 at line 1 of (eval 15)[Pod/Simple/BlackBox.pm:40] # once (7µs+2µs) by JSON::Schema::Modern::Document::BEGIN@5.137 at line 5 of (eval 300)[Sub/Quote.pm:3] # once (5µs+4µs) by Pod::Simple::BlackBox::BEGIN@1.8 at line 1 of (eval 11)[Pod/Simple/BlackBox.pm:40] # once (5µs+4µs) by JSON::Schema::Modern::Error::BEGIN@111 at line 111 of (eval 435)[Sub/Quote.pm:3] # once (8µs+1µs) by JSON::Schema::Modern::Document::BEGIN@87 at line 87 of (eval 428)[Sub/Quote.pm:3] # once (4µs+5µs) by Eval::TypeTiny::Sandbox::BEGIN@3.55 at line 3 of (eval 128)[Eval/TypeTiny.pm:8] # once (7µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@24.204 at line 24 of (eval 348)[Sub/Quote.pm:3] # once (7µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@44.117 at line 44 of (eval 267)[Sub/Quote.pm:3] # once (7µs+2µs) by JSON::Schema::Modern::Document::BEGIN@7.156 at line 7 of (eval 308)[Sub/Quote.pm:3] # once (3µs+6µs) by Pod::Simple::BlackBox::BEGIN@1.18 at line 1 of (eval 21)[Pod/Simple/BlackBox.pm:44] # once (6µs+3µs) by OpenAPI::Modern::BEGIN@5.269 at line 5 of (eval 408)[Sub/Quote.pm:3] # once (7µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.14 at line 1 of (eval 17)[Pod/Simple/BlackBox.pm:74] # once (6µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@20.126 at line 20 of (eval 273)[Sub/Quote.pm:3] # once (7µs+2µs) by JSON::Schema::Modern::BEGIN@55 at line 55 of (eval 420)[Sub/Quote.pm:3] # once (5µs+4µs) by JSON::Schema::Modern::BEGIN@111 at line 111 of (eval 420)[Sub/Quote.pm:3] # once (6µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.43 at line 3 of (eval 99)[Eval/TypeTiny.pm:8] # once (5µs+3µs) by JSON::Schema::Modern::Result::BEGIN@139 at line 139 of (eval 436)[Sub/Quote.pm:3] # once (6µs+2µs) by JSON::Schema::Modern::Result::BEGIN@163 at line 163 of (eval 436)[Sub/Quote.pm:3] # once (5µs+3µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 at line 90 of (eval 421)[Sub/Quote.pm:3] # once (3µs+5µs) by JSON::Schema::Modern::Error::BEGIN@116 at line 116 of (eval 435)[Sub/Quote.pm:3] # once (6µs+2µs) by Class::Method::Modifiers::BEGIN@147 at line 147 of Class/Method/Modifiers.pm # once (6µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@24.213 at line 24 of (eval 359)[Sub/Quote.pm:3] # once (5µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@39 at line 39 of (eval 268)[Sub/Quote.pm:3] # once (6µs+2µs) by JSON::Schema::Modern::BEGIN@5.216 at line 5 of (eval 362)[Sub/Quote.pm:3] # once (6µs+2µs) by JSON::Schema::Modern::BEGIN@7.220 at line 7 of (eval 364)[Sub/Quote.pm:3] # once (6µs+2µs) by OpenAPI::Modern::BEGIN@5.267 at line 5 of (eval 407)[Sub/Quote.pm:3] # once (4µs+4µs) by JSON::Schema::Modern::BEGIN@5.181 at line 5 of (eval 328)[Sub/Quote.pm:3] # once (6µs+2µs) by Eval::TypeTiny::Sandbox::BEGIN@3.63 at line 3 of (eval 143)[Eval/TypeTiny.pm:8] # once (7µs+1000ns) by Carp::BEGIN@6 at line 24 of Carp.pm # once (5µs+3µs) by JSON::Schema::Modern::BEGIN@116 at line 116 of (eval 420)[Sub/Quote.pm:3] # once (5µs+3µs) by JSON::Schema::Modern::BEGIN@145 at line 145 of (eval 420)[Sub/Quote.pm:3] # once (5µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.62 at line 3 of (eval 141)[Eval/TypeTiny.pm:8] # once (6µs+1000ns) by Method::Generate::Accessor::_Generated::BEGIN@20 at line 20 of (eval 217)[Sub/Quote.pm:3] # once (4µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.263 at line 24 of (eval 397)[Sub/Quote.pm:3] # once (5µs+2µs) by JSON::Schema::Modern::Result::BEGIN@99 at line 99 of (eval 436)[Sub/Quote.pm:3] # once (4µs+3µs) by JSON::Schema::Modern::Error::BEGIN@126 at line 126 of (eval 435)[Sub/Quote.pm:3] # once (5µs+2µs) by JSON::Schema::Modern::Error::BEGIN@121 at line 121 of (eval 435)[Sub/Quote.pm:3] # once (4µs+3µs) by JSON::Schema::Modern::Error::BEGIN@82 at line 82 of (eval 435)[Sub/Quote.pm:3] # once (5µs+2µs) by Type::Tiny::Class::BEGIN@164.74 at line 164 of Type/Tiny/Class.pm # once (5µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.21 at line 1 of (eval 24)[Pod/Simple/BlackBox.pm:40] # once (6µs+1000ns) by JSON::Schema::Modern::BEGIN@5.218 at line 5 of (eval 363)[Sub/Quote.pm:3] # once (4µs+3µs) by Method::Generate::Accessor::_Generated::BEGIN@24.222 at line 24 of (eval 364)[Sub/Quote.pm:3] # once (5µs+2µs) by Method::Generate::Accessor::_Generated::BEGIN@24.185 at line 24 of (eval 329)[Sub/Quote.pm:3] # once (6µs+1000ns) by Pod::Simple::BlackBox::BEGIN@1.15 at line 1 of (eval 18)[Pod/Simple/BlackBox.pm:40] # once (5µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.20 at line 1 of (eval 23)[Pod/Simple/BlackBox.pm:44] # once (5µs+2µs) by Types::TypeTiny::BEGIN@630 at line 630 of Types/TypeTiny.pm # once (7µs+0s) by Sub::Defer::BEGIN@41 at line 41 of Sub/Defer.pm # once (5µs+2µs) by Pod::Simple::BlackBox::BEGIN@1.11 at line 1 of (eval 14)[Pod/Simple/BlackBox.pm:44] # once (4µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.54 at line 3 of (eval 126)[Eval/TypeTiny.pm:8] # once (5µs+2µs) by JSON::Schema::Modern::BEGIN@140 at line 140 of (eval 420)[Sub/Quote.pm:3] # once (4µs+3µs) by Eval::TypeTiny::Sandbox::BEGIN@3.52 at line 3 of (eval 122)[Eval/TypeTiny.pm:8] # once (5µs+1000ns) by Type::Tiny::BEGIN@16.324 at line 16 of (eval 425)[Sub/Quote.pm:3] # once (4µs+2µs) by JSON::Schema::Modern::Result::BEGIN@123 at line 123 of (eval 436)[Sub/Quote.pm:3] # once (4µs+2µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 at line 138 of (eval 421)[Sub/Quote.pm:3] # once (4µs+2µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 at line 143 of (eval 421)[Sub/Quote.pm:3] # once (4µs+2µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 at line 111 of (eval 421)[Sub/Quote.pm:3] # once (4µs+2µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 at line 77 of (eval 421)[Sub/Quote.pm:3] # once (5µs+1000ns) by JSON::Schema::Modern::Annotation::BEGIN@5.88 at line 5 of (eval 233)[Sub/Quote.pm:3] # once (5µs+1000ns) by OpenAPI::Modern::BEGIN@5.265 at line 5 of (eval 406)[Sub/Quote.pm:3] # once (4µs+2µs) by JSON::Schema::Modern::BEGIN@158 at line 158 of (eval 420)[Sub/Quote.pm:3] # once (3µs+3µs) by JSON::Schema::Modern::BEGIN@90 at line 90 of (eval 420)[Sub/Quote.pm:3] # once (4µs+2µs) by JSON::Schema::Modern::BEGIN@150 at line 150 of (eval 420)[Sub/Quote.pm:3] # once (3µs+2µs) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 at line 82 of (eval 421)[Sub/Quote.pm:3] # once (4µs+1µs) by Pod::Simple::BlackBox::BEGIN@1.13 at line 1 of (eval 16)[Pod/Simple/BlackBox.pm:44] # once (3µs+2µs) by JSON::Schema::Modern::BEGIN@106 at line 106 of (eval 420)[Sub/Quote.pm:3] # once (3µs+2µs) by JSON::Schema::Modern::BEGIN@98 at line 98 of (eval 420)[Sub/Quote.pm:3] # once (2µs+0s) by JSON::Schema::Modern::Result::BEGIN@131 at line 131 of (eval 436)[Sub/Quote.pm:3]
{
38241073µs shift;
383
384410103µs my $catmask ;
385410428µs my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
386
387 # append 'all' when implied (empty import list or after a lone "FATAL")
388410422µs push @_, 'all' if !@_ || @_==1 && $_[0] eq 'FATAL';
389
390410567µs4102.36ms $mask = _expand_bits($mask);
# spent 2.36ms making 410 calls to warnings::_expand_bits, avg 6µs/call
391410248µs foreach my $word ( @_ ) {
3925631.07ms if ($word eq 'FATAL') {
3931820µ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
4024101.64ms ${^WARNING_BITS} = $mask ;
403}
404
40527µ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 56µs within warnings::_mkMask which was called 14 times, avg 4µs/call: # 7 times (46µs+0s) by warnings::register_categories at line 532, avg 7µs/call # 7 times (10µs+0s) by warnings::register_categories at line 533, avg 1µs/call
{
518146µs my ($bit) = @_;
519144µs my $mask = "";
520
5211428µs vec($mask, $bit, 1) = 1;
5221493µs return $mask;
523}
524
525sub register_categories
526
# spent 230µs (174+56) within warnings::register_categories which was called 8 times, avg 29µs/call: # 7 times (170µs+56µs) by warnings::register::import at line 23 of warnings/register.pm, avg 32µs/call # once (4µs+0s) by experimental::BEGIN@5 at line 7 of version.pm
{
52787µs my @names = @_;
528
529830µs for my $name (@names) {
530810µs if (! defined $Bits{$name}) {
531715µs $Offsets{$name} = $LAST_BIT;
532718µs746µs $Bits{$name} = _mkMask($LAST_BIT++);
# spent 46µs making 7 calls to warnings::_mkMask, avg 7µs/call
533712µs710µs $DeadBits{$name} = _mkMask($LAST_BIT++);
# spent 10µs making 7 calls to warnings::_mkMask, avg 1µs/call
534710µs if (length($Bits{$name}) > length($Bits{all})) {
53522µs $Bits{all} .= "\x55";
53621µ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.
589110µsdelete @warnings::{qw(NORMAL FATAL MESSAGE LEVEL)};
590
591166µs1;
592__END__
 
# spent 601µs within warnings::CORE:match which was called 1602 times, avg 375ns/call: # 1601 times (589µs+0s) by warnings::import at line 369, avg 368ns/call # once (12µs+0s) by main::BEGIN@1.1 at line 14
sub warnings::CORE:match; # opcode