← Index
NYTProf Performance Profile   « line view »
For ./view
  Run on Fri Jul 31 19:05:14 2015
Reported on Fri Jul 31 19:08:09 2015

Filename/usr/lib64/perl5/Errno.pm
StatementsExecuted 285 statements in 960µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
111182µs182µsErrno::::BEGIN@21Errno::BEGIN@21
11116µs34µsErrno::::BEGIN@8Errno::BEGIN@8
1118µs21µsErrno::::BEGIN@9Errno::BEGIN@9
1117µs7µsErrno::::TIEHASHErrno::TIEHASH
0000s0sErrno::::EXISTSErrno::EXISTS
0000s0sErrno::::FETCHErrno::FETCH
0000s0sErrno::::FIRSTKEYErrno::FIRSTKEY
0000s0sErrno::::NEXTKEYErrno::NEXTKEY
0000s0sErrno::::STOREErrno::STORE
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#
3# This file is auto-generated. ***ANY*** changes here will be lost
4#
5
6package Errno;
71700nsrequire Exporter;
8229µs253µs
# spent 34µs (16+18) within Errno::BEGIN@8 which was called: # once (16µs+18µs) by Foswiki::Meta::BEGIN@117 at line 8
use Config;
# spent 34µs making 1 call to Errno::BEGIN@8 # spent 18µs making 1 call to Config::import
92369µs235µs
# spent 21µs (8+14) within Errno::BEGIN@9 which was called: # once (8µs+14µs) by Foswiki::Meta::BEGIN@117 at line 9
use strict;
# spent 21µs making 1 call to Errno::BEGIN@9 # spent 14µs making 1 call to strict::import
10
11112µs27µs"$Config{'archname'}-$Config{'osvers'}" eq
# spent 7µs making 2 calls to Config::FETCH, avg 4µs/call
12"x86_64-linux-thread-multi-2.6.32-220.17.1.el6.x86_64" or
13 die "Errno architecture (x86_64-linux-thread-multi-2.6.32-220.17.1.el6.x86_64) does not match executable architecture ($Config{'archname'}-$Config{'osvers'})";
14
151400nsour $VERSION = "1.15";
16117µs$VERSION = eval $VERSION;
# spent 2µs executing statements in string eval
1717µsour @ISA = 'Exporter';
18
191200nsmy %err;
20
21
# spent 182µs within Errno::BEGIN@21 which was called: # once (182µs+0s) by Foswiki::Meta::BEGIN@117 at line 177
BEGIN {
22139µs %err = (
23 EPERM => 1,
24 ENOENT => 2,
25 ESRCH => 3,
26 EINTR => 4,
27 EIO => 5,
28 ENXIO => 6,
29 E2BIG => 7,
30 ENOEXEC => 8,
31 EBADF => 9,
32 ECHILD => 10,
33 EWOULDBLOCK => 11,
34 EAGAIN => 11,
35 ENOMEM => 12,
36 EACCES => 13,
37 EFAULT => 14,
38 ENOTBLK => 15,
39 EBUSY => 16,
40 EEXIST => 17,
41 EXDEV => 18,
42 ENODEV => 19,
43 ENOTDIR => 20,
44 EISDIR => 21,
45 EINVAL => 22,
46 ENFILE => 23,
47 EMFILE => 24,
48 ENOTTY => 25,
49 ETXTBSY => 26,
50 EFBIG => 27,
51 ENOSPC => 28,
52 ESPIPE => 29,
53 EROFS => 30,
54 EMLINK => 31,
55 EPIPE => 32,
56 EDOM => 33,
57 ERANGE => 34,
58 EDEADLOCK => 35,
59 EDEADLK => 35,
60 ENAMETOOLONG => 36,
61 ENOLCK => 37,
62 ENOSYS => 38,
63 ENOTEMPTY => 39,
64 ELOOP => 40,
65 ENOMSG => 42,
66 EIDRM => 43,
67 ECHRNG => 44,
68 EL2NSYNC => 45,
69 EL3HLT => 46,
70 EL3RST => 47,
71 ELNRNG => 48,
72 EUNATCH => 49,
73 ENOCSI => 50,
74 EL2HLT => 51,
75 EBADE => 52,
76 EBADR => 53,
77 EXFULL => 54,
78 ENOANO => 55,
79 EBADRQC => 56,
80 EBADSLT => 57,
81 EBFONT => 59,
82 ENOSTR => 60,
83 ENODATA => 61,
84 ETIME => 62,
85 ENOSR => 63,
86 ENONET => 64,
87 ENOPKG => 65,
88 EREMOTE => 66,
89 ENOLINK => 67,
90 EADV => 68,
91 ESRMNT => 69,
92 ECOMM => 70,
93 EPROTO => 71,
94 EMULTIHOP => 72,
95 EDOTDOT => 73,
96 EBADMSG => 74,
97 EOVERFLOW => 75,
98 ENOTUNIQ => 76,
99 EBADFD => 77,
100 EREMCHG => 78,
101 ELIBACC => 79,
102 ELIBBAD => 80,
103 ELIBSCN => 81,
104 ELIBMAX => 82,
105 ELIBEXEC => 83,
106 EILSEQ => 84,
107 ERESTART => 85,
108 ESTRPIPE => 86,
109 EUSERS => 87,
110 ENOTSOCK => 88,
111 EDESTADDRREQ => 89,
112 EMSGSIZE => 90,
113 EPROTOTYPE => 91,
114 ENOPROTOOPT => 92,
115 EPROTONOSUPPORT => 93,
116 ESOCKTNOSUPPORT => 94,
117 ENOTSUP => 95,
118 EOPNOTSUPP => 95,
119 EPFNOSUPPORT => 96,
120 EAFNOSUPPORT => 97,
121 EADDRINUSE => 98,
122 EADDRNOTAVAIL => 99,
123 ENETDOWN => 100,
124 ENETUNREACH => 101,
125 ENETRESET => 102,
126 ECONNABORTED => 103,
127 ECONNRESET => 104,
128 ENOBUFS => 105,
129 EISCONN => 106,
130 ENOTCONN => 107,
131 ESHUTDOWN => 108,
132 ETOOMANYREFS => 109,
133 ETIMEDOUT => 110,
134 ECONNREFUSED => 111,
135 EHOSTDOWN => 112,
136 EHOSTUNREACH => 113,
137 EALREADY => 114,
138 EINPROGRESS => 115,
139 ESTALE => 116,
140 EUCLEAN => 117,
141 ENOTNAM => 118,
142 ENAVAIL => 119,
143 EISNAM => 120,
144 EREMOTEIO => 121,
145 EDQUOT => 122,
146 ENOMEDIUM => 123,
147 EMEDIUMTYPE => 124,
148 ECANCELED => 125,
149 ENOKEY => 126,
150 EKEYEXPIRED => 127,
151 EKEYREVOKED => 128,
152 EKEYREJECTED => 129,
153 EOWNERDEAD => 130,
154 ENOTRECOVERABLE => 131,
155 ERFKILL => 132,
156 EHWPOISON => 133,
157 );
158 # Generate proxy constant subroutines for all the values.
159 # Well, almost all the values. Unfortunately we can't assume that at this
160 # point that our symbol table is empty, as code such as if the parser has
161 # seen code such as C<exists &Errno::EINVAL>, it will have created the
162 # typeglob.
163 # Doing this before defining @EXPORT_OK etc means that even if a platform is
164 # crazy enough to define EXPORT_OK as an error constant, everything will
165 # still work, because the parser will upgrade the PCS to a real typeglob.
166 # We rely on the subroutine definitions below to update the internal caches.
167 # Don't use %each, as we don't want a copy of the value.
168116µs foreach my $name (keys %err) {
16913460µs if ($Errno::{$name}) {
170 # We expect this to be reached fairly rarely, so take an approach
171 # which uses the least compile time effort in the common case:
172 eval "sub $name() { $err{$name} }; 1" or die $@;
173 } else {
17413468µs $Errno::{$name} = \$err{$name};
175 }
176 }
1771275µs1182µs}
# spent 182µs making 1 call to Errno::BEGIN@21
178
179122µsour @EXPORT_OK = keys %err;
180
181112µsour %EXPORT_TAGS = (
182 POSIX => [qw(
183 E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY
184 EBADF EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK
185 EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH
186 EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
187 EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS
188 ENODEV ENOENT ENOEXEC ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTBLK
189 ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
190 EPFNOSUPPORT EPIPE EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE ERESTART
191 EROFS ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT
192 ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV
193 )]
194);
195
196111µs
# spent 7µs within Errno::TIEHASH which was called: # once (7µs+0s) by Foswiki::Meta::BEGIN@117 at line 226
sub TIEHASH { bless \%err }
197
198sub FETCH {
199 my (undef, $errname) = @_;
200 return "" unless exists $err{$errname};
201 my $errno = $err{$errname};
202 return $errno == $! ? $errno : 0;
203}
204
205sub STORE {
206 require Carp;
207 Carp::confess("ERRNO hash is read only!");
208}
209
21012µs*CLEAR = *DELETE = \*STORE; # Typeglob aliasing uses less space
211
212sub NEXTKEY {
213 each %err;
214}
215
216sub FIRSTKEY {
217 my $s = scalar keys %err; # initialize iterator
218 each %err;
219}
220
221sub EXISTS {
222 my (undef, $errname) = @_;
223 exists $err{$errname};
224}
225
226120µs17µstie %!, __PACKAGE__; # Returns an object, objects are true.
# spent 7µs making 1 call to Errno::TIEHASH
227
228__END__