Bug Summary

File:obj/gnu/usr.bin/perl/ext/B/B.c
Warning:line 2321, column 6
Value stored to 'sv' is never read

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple amd64-unknown-openbsd7.0 -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name B.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 1 -fhalf-no-semantic-interposition -fno-delete-null-pointer-checks -mframe-pointer=all -relaxed-aliasing -fno-rounding-math -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-feature +retpoline-indirect-calls -target-feature +retpoline-indirect-branches -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/usr/obj/gnu/usr.bin/perl/ext/B -resource-dir /usr/local/lib/clang/13.0.0 -D NO_LOCALE_NUMERIC -D NO_LOCALE_COLLATE -D VERSION="1.80" -D XS_VERSION="1.80" -D PIC -I ../.. -internal-isystem /usr/local/lib/clang/13.0.0/include -internal-externc-isystem /usr/include -O2 -Wwrite-strings -fconst-strings -fdebug-compilation-dir=/usr/obj/gnu/usr.bin/perl/ext/B -ferror-limit 19 -fwrapv -D_RET_PROTECTOR -ret-protector -fgnuc-version=4.2.1 -vectorize-loops -vectorize-slp -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-valloc -fno-builtin-free -fno-builtin-strdup -fno-builtin-strndup -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /home/ben/Projects/vmm/scan-build/2022-01-12-194120-40624-1 -x c B.c
1/*
2 * This file was generated automatically by ExtUtils::ParseXS version 3.40 from the
3 * contents of B.xs. Do not edit this file, edit B.xs instead.
4 *
5 * ANY CHANGES MADE HERE WILL BE LOST!
6 *
7 */
8
9#line 1 "B.xs"
10/* B.xs
11 *
12 * Copyright (c) 1996 Malcolm Beattie
13 *
14 * You may distribute under the terms of either the GNU General Public
15 * License or the Artistic License, as specified in the README file.
16 *
17 */
18
19#define PERL_NO_GET_CONTEXT
20#define PERL_EXT
21#include "EXTERN.h"
22#include "perl.h"
23#include "XSUB.h"
24
25#ifdef PerlIOPerlIO
26typedef PerlIOPerlIO * InputStream;
27#else
28typedef FILE * InputStream;
29#endif
30
31
32static const char* const svclassnames[] = {
33 "B::NULL",
34 "B::IV",
35 "B::NV",
36 "B::PV",
37 "B::INVLIST",
38 "B::PVIV",
39 "B::PVNV",
40 "B::PVMG",
41 "B::REGEXP",
42 "B::GV",
43 "B::PVLV",
44 "B::AV",
45 "B::HV",
46 "B::CV",
47 "B::FM",
48 "B::IO",
49};
50
51
52static const char* const opclassnames[] = {
53 "B::NULL",
54 "B::OP",
55 "B::UNOP",
56 "B::BINOP",
57 "B::LOGOP",
58 "B::LISTOP",
59 "B::PMOP",
60 "B::SVOP",
61 "B::PADOP",
62 "B::PVOP",
63 "B::LOOP",
64 "B::COP",
65 "B::METHOP",
66 "B::UNOP_AUX"
67};
68
69static const size_t opsizes[] = {
70 0,
71 sizeof(OP),
72 sizeof(UNOP),
73 sizeof(BINOP),
74 sizeof(LOGOP),
75 sizeof(LISTOP),
76 sizeof(PMOP),
77 sizeof(SVOP),
78 sizeof(PADOP),
79 sizeof(PVOP),
80 sizeof(LOOP),
81 sizeof(COP),
82 sizeof(METHOP),
83 sizeof(UNOP_AUX),
84};
85
86#define MY_CXT_KEY"B::_guts" "1.80" "B::_guts" XS_VERSION"1.80"
87
88typedef struct {
89 SV * x_specialsv_list[8];
90 int x_walkoptree_debug; /* Flag for walkoptree debug hook */
91} my_cxt_t;
92
93START_MY_CXTstatic my_cxt_t my_cxt;
94
95#define walkoptree_debug(my_cxt.x_walkoptree_debug) (MY_CXTmy_cxt.x_walkoptree_debug)
96#define specialsv_list(my_cxt.x_specialsv_list) (MY_CXTmy_cxt.x_specialsv_list)
97
98
99static void B_init_my_cxt(pTHX_ my_cxt_t * cxt) {
100 cxt->x_specialsv_list[0] = Nullsv((SV*)((void*)0));
101 cxt->x_specialsv_list[1] = &PL_sv_undef(PL_sv_immortals[1]);
102 cxt->x_specialsv_list[2] = &PL_sv_yes(PL_sv_immortals[0]);
103 cxt->x_specialsv_list[3] = &PL_sv_no(PL_sv_immortals[2]);
104 cxt->x_specialsv_list[4] = (SV *) pWARN_ALL(STRLEN *) &PL_WARN_ALL;
105 cxt->x_specialsv_list[5] = (SV *) pWARN_NONE(STRLEN *) &PL_WARN_NONE;
106 cxt->x_specialsv_list[6] = (SV *) pWARN_STD((void*)0);
107 cxt->x_specialsv_list[7] = &PL_sv_zero(PL_sv_immortals[3]);
108}
109
110
111static SV *
112make_op_object(pTHX_ const OP *o)
113{
114 SV *opsv = sv_newmortal()Perl_sv_newmortal();
115 sv_setiv(newSVrv(opsv, opclassnames[op_class(o)]), PTR2IV(o))Perl_sv_setiv( Perl_newSVrv( opsv,opclassnames[Perl_op_class(
o)]),(IV)(o))
;
116 return opsv;
117}
118
119
120static SV *
121get_overlay_object(pTHX_ const OP *o, const char * const name, U32 namelen)
122{
123 HE *he;
124 SV **svp;
125 SV *key;
126 SV *sv =get_sv("B::overlay", 0)Perl_get_sv( "B::overlay",0);
127 if (!sv || !SvROK(sv)((sv)->sv_flags & 0x00000800))
128 return NULL((void*)0);
129 sv = SvRV(sv)((sv)->sv_u.svu_rv);
130 if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) != SVt_PVHV)
131 return NULL((void*)0);
132 key = newSViv(PTR2IV(o))Perl_newSViv( (IV)(o));
133 he = hv_fetch_ent((HV*)sv, key, 0, 0)((HE *) Perl_hv_common( ((HV*)sv),(key),((void*)0),0,0,((0) ?
0x10 : 0),((void*)0),(0)))
;
134 SvREFCNT_dec(key)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (key); _p; })));
135 if (!he)
136 return NULL((void*)0);
137 sv = HeVAL(he)(he)->he_valu.hent_val;
138 if (!sv || !SvROK(sv)((sv)->sv_flags & 0x00000800))
139 return NULL((void*)0);
140 sv = SvRV(sv)((sv)->sv_u.svu_rv);
141 if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) != SVt_PVHV)
142 return NULL((void*)0);
143 svp = hv_fetch((HV*)sv, name, namelen, 0)((SV**) Perl_hv_common_key_len( ((HV*)sv),(name),(namelen),(0
) ? (0x20 | 0x10) : 0x20,((void*)0),0))
;
144 if (!svp)
145 return NULL((void*)0);
146 sv = *svp;
147 return sv;
148}
149
150
151static SV *
152make_sv_object(pTHX_ SV *sv)
153{
154 SV *const arg = sv_newmortal()Perl_sv_newmortal();
155 const char *type = 0;
156 IV iv;
157 dMY_CXTstruct Perl___notused_struct;
158
159 for (iv = 0; iv < (IV)(sizeof(specialsv_list(my_cxt.x_specialsv_list))/sizeof(SV*)); iv++) {
160 if (sv == specialsv_list(my_cxt.x_specialsv_list)[iv]) {
161 type = "B::SPECIAL";
162 break;
163 }
164 }
165 if (!type) {
166 type = svclassnames[SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff))];
167 iv = PTR2IV(sv)(IV)(sv);
168 }
169 sv_setiv(newSVrv(arg, type), iv)Perl_sv_setiv( Perl_newSVrv( arg,type),iv);
170 return arg;
171}
172
173static SV *
174make_temp_object(pTHX_ SV *temp)
175{
176 SV *target;
177 SV *arg = sv_newmortal()Perl_sv_newmortal();
178 const char *const type = svclassnames[SvTYPE(temp)((svtype)((temp)->sv_flags & 0xff))];
179 const IV iv = PTR2IV(temp)(IV)(temp);
180
181 target = newSVrv(arg, type)Perl_newSVrv( arg,type);
182 sv_setiv(target, iv)Perl_sv_setiv( target,iv);
183
184 /* Need to keep our "temp" around as long as the target exists.
185 Simplest way seems to be to hang it from magic, and let that clear
186 it up. No vtable, so won't actually get in the way of anything. */
187 sv_magicext(target, temp, PERL_MAGIC_sv, NULL, NULL, 0)Perl_sv_magicext( target,temp,'\0',((void*)0),((void*)0),0);
188 /* magic object has had its reference count increased, so we must drop
189 our reference. */
190 SvREFCNT_dec(temp)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (temp); _p; })));
191 return arg;
192}
193
194static SV *
195make_warnings_object(pTHX_ const COP *const cop)
196{
197 const STRLEN *const warnings = cop->cop_warnings;
198 const char *type = 0;
199 dMY_CXTstruct Perl___notused_struct;
200 IV iv = sizeof(specialsv_list(my_cxt.x_specialsv_list))/sizeof(SV*);
201
202 /* Counting down is deliberate. Before the split between make_sv_object
203 and make_warnings_obj there appeared to be a bug - Nullsv and pWARN_STD
204 were both 0, so you could never get a B::SPECIAL for pWARN_STD */
205
206 while (iv--) {
207 if ((SV*)warnings == specialsv_list(my_cxt.x_specialsv_list)[iv]) {
208 type = "B::SPECIAL";
209 break;
210 }
211 }
212 if (type) {
213 SV *arg = sv_newmortal()Perl_sv_newmortal();
214 sv_setiv(newSVrv(arg, type), iv)Perl_sv_setiv( Perl_newSVrv( arg,type),iv);
215 return arg;
216 } else {
217 /* B assumes that warnings are a regular SV. Seems easier to keep it
218 happy by making them into a regular SV. */
219 return make_temp_object(aTHX_ newSVpvn((char *)(warnings + 1), *warnings)Perl_newSVpvn( (char *)(warnings + 1),*warnings));
220 }
221}
222
223static SV *
224make_cop_io_object(pTHX_ COP *cop)
225{
226 SV *const value = newSV(0)Perl_newSV( 0);
227
228 Perl_emulate_cop_io(aTHX_ cop, value);
229
230 if(SvOK(value)((value)->sv_flags & (0x00000100|0x00000200|0x00000400
|0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000))
) {
231 return make_sv_object(aTHX_ value);
232 } else {
233 SvREFCNT_dec(value)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (value); _p; })));
234 return make_sv_object(aTHX_ NULL((void*)0));
235 }
236}
237
238static SV *
239make_mg_object(pTHX_ MAGIC *mg)
240{
241 SV *arg = sv_newmortal()Perl_sv_newmortal();
242 sv_setiv(newSVrv(arg, "B::MAGIC"), PTR2IV(mg))Perl_sv_setiv( Perl_newSVrv( arg,"B::MAGIC"),(IV)(mg));
243 return arg;
244}
245
246static SV *
247cstring(pTHX_ SV *sv, bool_Bool perlstyle)
248{
249 SV *sstr;
250
251 if (!SvOK(sv)((sv)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800
| 0x00001000|0x00002000|0x00004000|0x00008000))
)
252 return newSVpvs_flags("0", SVs_TEMP)Perl_newSVpvn_flags( ("" "0" ""), (sizeof("0")-1), 0x00080000
)
;
253
254 sstr = newSVpvs_flags("\"", SVs_TEMP)Perl_newSVpvn_flags( ("" "\"" ""), (sizeof("\"")-1), 0x00080000
)
;
255
256 if (perlstyle && SvUTF8(sv)((sv)->sv_flags & 0x20000000)) {
257 SV *tmpsv = sv_newmortal()Perl_sv_newmortal(); /* Temporary SV to feed sv_uni_display */
258 const STRLEN len = SvCUR(sv)((XPV*) (sv)->sv_any)->xpv_cur;
259 const char *s = sv_uni_display(tmpsv, sv, 8*len, UNI_DISPLAY_QQ)Perl_sv_uni_display( tmpsv,sv,8*len,(0x0001 |0x0002 |0x0004));
260 while (*s)
261 {
262 if (*s == '"')
263 sv_catpvs(sstr, "\\\"")Perl_sv_catpvn_flags( sstr, ("" "\\\"" ""), (sizeof("\\\"")-1
), 2)
;
264 else if (*s == '$')
265 sv_catpvs(sstr, "\\$")Perl_sv_catpvn_flags( sstr, ("" "\\$" ""), (sizeof("\\$")-1),
2)
;
266 else if (*s == '@')
267 sv_catpvs(sstr, "\\@")Perl_sv_catpvn_flags( sstr, ("" "\\@" ""), (sizeof("\\@")-1),
2)
;
268 else if (*s == '\\')
269 {
270 if (memCHRs("nrftaebx\\",*(s+1))((const char *) memchr("" "nrftaebx\\" "" , *(s+1), sizeof("nrftaebx\\"
)-1))
)
271 sv_catpvn(sstr, s++, 2)Perl_sv_catpvn_flags( sstr,s++,2,2);
272 else
273 sv_catpvs(sstr, "\\\\")Perl_sv_catpvn_flags( sstr, ("" "\\\\" ""), (sizeof("\\\\")-1
), 2)
;
274 }
275 else /* should always be printable */
276 sv_catpvn(sstr, s, 1)Perl_sv_catpvn_flags( sstr,s,1,2);
277 ++s;
278 }
279 }
280 else
281 {
282 /* XXX Optimise? */
283 STRLEN len;
284 const char *s = SvPV(sv, len)((((sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400
) ? ((len = ((XPV*) (sv)->sv_any)->xpv_cur), ((sv)->
sv_u.svu_pv)) : Perl_sv_2pv_flags( sv,&len,2))
;
285 for (; len; len--, s++)
286 {
287 /* At least try a little for readability */
288 if (*s == '"')
289 sv_catpvs(sstr, "\\\"")Perl_sv_catpvn_flags( sstr, ("" "\\\"" ""), (sizeof("\\\"")-1
), 2)
;
290 else if (*s == '\\')
291 sv_catpvs(sstr, "\\\\")Perl_sv_catpvn_flags( sstr, ("" "\\\\" ""), (sizeof("\\\\")-1
), 2)
;
292 /* trigraphs - bleagh */
293 else if (!perlstyle && *s == '?' && len>=3 && s[1] == '?') {
294 Perl_sv_catpvf(aTHX_ sstr, "\\%03o", '?');
295 }
296 else if (perlstyle && *s == '$')
297 sv_catpvs(sstr, "\\$")Perl_sv_catpvn_flags( sstr, ("" "\\$" ""), (sizeof("\\$")-1),
2)
;
298 else if (perlstyle && *s == '@')
299 sv_catpvs(sstr, "\\@")Perl_sv_catpvn_flags( sstr, ("" "\\@" ""), (sizeof("\\@")-1),
2)
;
300 else if (isPRINT(*s)( ( (sizeof(*s) == sizeof(U8)) ? ( (((U64) (((((U8) (*s)))) -
(((' ')) | 0))) <= (((U64) ((((0x7e) - (' '))) | 0))))) :
(sizeof(*s) == sizeof(U32)) ? ( (((U64) (((((U32) (*s)))) - (
((' ')) | 0))) <= (((U64) ((((0x7e) - (' '))) | 0))))) : (
( (((U64) (((((U64) (*s)))) - (((' ')) | 0))) <= (((U64) (
(((0x7e) - (' '))) | 0))))))))
)
301 sv_catpvn(sstr, s, 1)Perl_sv_catpvn_flags( sstr,s,1,2);
302 else if (*s == '\n')
303 sv_catpvs(sstr, "\\n")Perl_sv_catpvn_flags( sstr, ("" "\\n" ""), (sizeof("\\n")-1),
2)
;
304 else if (*s == '\r')
305 sv_catpvs(sstr, "\\r")Perl_sv_catpvn_flags( sstr, ("" "\\r" ""), (sizeof("\\r")-1),
2)
;
306 else if (*s == '\t')
307 sv_catpvs(sstr, "\\t")Perl_sv_catpvn_flags( sstr, ("" "\\t" ""), (sizeof("\\t")-1),
2)
;
308 else if (*s == '\a')
309 sv_catpvs(sstr, "\\a")Perl_sv_catpvn_flags( sstr, ("" "\\a" ""), (sizeof("\\a")-1),
2)
;
310 else if (*s == '\b')
311 sv_catpvs(sstr, "\\b")Perl_sv_catpvn_flags( sstr, ("" "\\b" ""), (sizeof("\\b")-1),
2)
;
312 else if (*s == '\f')
313 sv_catpvs(sstr, "\\f")Perl_sv_catpvn_flags( sstr, ("" "\\f" ""), (sizeof("\\f")-1),
2)
;
314 else if (!perlstyle && *s == '\v')
315 sv_catpvs(sstr, "\\v")Perl_sv_catpvn_flags( sstr, ("" "\\v" ""), (sizeof("\\v")-1),
2)
;
316 else
317 {
318 /* Don't want promotion of a signed -1 char in sprintf args */
319 const unsigned char c = (unsigned char) *s;
320 Perl_sv_catpvf(aTHX_ sstr, "\\%03o", c);
321 }
322 /* XXX Add line breaks if string is long */
323 }
324 }
325 sv_catpvs(sstr, "\"")Perl_sv_catpvn_flags( sstr, ("" "\"" ""), (sizeof("\"")-1), 2
)
;
326 return sstr;
327}
328
329static SV *
330cchar(pTHX_ SV *sv)
331{
332 SV *sstr = newSVpvs_flags("'", SVs_TEMP)Perl_newSVpvn_flags( ("" "'" ""), (sizeof("'")-1), 0x00080000
)
;
333 const char *s = SvPV_nolen(sv)((((sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400
) ? ((sv)->sv_u.svu_pv) : Perl_sv_2pv_flags( sv,0,2))
;
334 /* Don't want promotion of a signed -1 char in sprintf args */
335 const unsigned char c = (unsigned char) *s;
336
337 if (c == '\'')
338 sv_catpvs(sstr, "\\'")Perl_sv_catpvn_flags( sstr, ("" "\\'" ""), (sizeof("\\'")-1),
2)
;
339 else if (c == '\\')
340 sv_catpvs(sstr, "\\\\")Perl_sv_catpvn_flags( sstr, ("" "\\\\" ""), (sizeof("\\\\")-1
), 2)
;
341 else if (isPRINT(c)( ( (sizeof(c) == sizeof(U8)) ? ( (((U64) (((((U8) (c)))) - (
((' ')) | 0))) <= (((U64) ((((0x7e) - (' '))) | 0))))) : (
sizeof(c) == sizeof(U32)) ? ( (((U64) (((((U32) (c)))) - (((' '
)) | 0))) <= (((U64) ((((0x7e) - (' '))) | 0))))) : ( ( ((
(U64) (((((U64) (c)))) - (((' ')) | 0))) <= (((U64) ((((0x7e
) - (' '))) | 0))))))))
)
342 sv_catpvn(sstr, s, 1)Perl_sv_catpvn_flags( sstr,s,1,2);
343 else if (c == '\n')
344 sv_catpvs(sstr, "\\n")Perl_sv_catpvn_flags( sstr, ("" "\\n" ""), (sizeof("\\n")-1),
2)
;
345 else if (c == '\r')
346 sv_catpvs(sstr, "\\r")Perl_sv_catpvn_flags( sstr, ("" "\\r" ""), (sizeof("\\r")-1),
2)
;
347 else if (c == '\t')
348 sv_catpvs(sstr, "\\t")Perl_sv_catpvn_flags( sstr, ("" "\\t" ""), (sizeof("\\t")-1),
2)
;
349 else if (c == '\a')
350 sv_catpvs(sstr, "\\a")Perl_sv_catpvn_flags( sstr, ("" "\\a" ""), (sizeof("\\a")-1),
2)
;
351 else if (c == '\b')
352 sv_catpvs(sstr, "\\b")Perl_sv_catpvn_flags( sstr, ("" "\\b" ""), (sizeof("\\b")-1),
2)
;
353 else if (c == '\f')
354 sv_catpvs(sstr, "\\f")Perl_sv_catpvn_flags( sstr, ("" "\\f" ""), (sizeof("\\f")-1),
2)
;
355 else if (c == '\v')
356 sv_catpvs(sstr, "\\v")Perl_sv_catpvn_flags( sstr, ("" "\\v" ""), (sizeof("\\v")-1),
2)
;
357 else
358 Perl_sv_catpvf(aTHX_ sstr, "\\%03o", c);
359 sv_catpvs(sstr, "'")Perl_sv_catpvn_flags( sstr, ("" "'" ""), (sizeof("'")-1), 2);
360 return sstr;
361}
362
363#define PMOP_pmreplstart(o)o->op_pmstashstartu.op_pmreplstart o->op_pmstashstartu.op_pmreplstart
364#define PMOP_pmreplroot(o)o->op_pmreplrootu.op_pmreplroot o->op_pmreplrootu.op_pmreplroot
365
366static SV *
367walkoptree(pTHX_ OP *o, const char *method, SV *ref)
368{
369 dSPSV **sp = PL_stack_sp;
370 OP *kid;
371 SV *object;
372 const char *const classname = opclassnames[op_class(o)Perl_op_class( o)];
373 dMY_CXTstruct Perl___notused_struct;
374
375 /* Check that no-one has changed our reference, or is holding a reference
376 to it. */
377 if (SvREFCNT(ref)(ref)->sv_refcnt == 1 && SvROK(ref)((ref)->sv_flags & 0x00000800) && SvTYPE(ref)((svtype)((ref)->sv_flags & 0xff)) == SVt_RVSVt_IV
378 && (object = SvRV(ref)((ref)->sv_u.svu_rv)) && SvREFCNT(object)(object)->sv_refcnt == 1
379 && SvTYPE(object)((svtype)((object)->sv_flags & 0xff)) == SVt_PVMG && SvIOK_only(object)(( (object)->sv_flags &= ~((0x00000100|0x00000200|0x00000400
|0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000)| 0x80000000
|0x20000000), ((void)(((object)->sv_flags & 0x02000000
) && (Perl_sv_backoff(object),0)))), (object)->sv_flags
|= (0x00000100|0x00001000))
380 && !SvMAGICAL(object)((object)->sv_flags & (0x00200000|0x00400000|0x00800000
))
&& !SvMAGIC(object)((XPVMG*) (object)->sv_any)->xmg_u.xmg_magic && SvSTASH(object)((XPVMG*) (object)->sv_any)->xmg_stash) {
381 /* Looks good, so rebless it for the class we need: */
382 sv_bless(ref, gv_stashpv(classname, GV_ADD))Perl_sv_bless( ref,Perl_gv_stashpv( classname,0x01));
383 } else {
384 /* Need to make a new one. */
385 ref = sv_newmortal()Perl_sv_newmortal();
386 object = newSVrv(ref, classname)Perl_newSVrv( ref,classname);
387 }
388 sv_setiv(object, PTR2IV(o))Perl_sv_setiv( object,(IV)(o));
389
390 if (walkoptree_debug(my_cxt.x_walkoptree_debug)) {
391 PUSHMARK(sp)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry
= ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool
)0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry
= (I32)((sp) - PL_stack_base); ; } while (0)
;
392 XPUSHs(ref)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (ref); } while (0)
;
393 PUTBACKPL_stack_sp = sp;
394 perl_call_method("walkoptree_debug", G_DISCARD)Perl_call_method( "walkoptree_debug",0x4);
395 }
396 PUSHMARK(sp)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry
= ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool
)0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry
= (I32)((sp) - PL_stack_base); ; } while (0)
;
397 XPUSHs(ref)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (ref); } while (0)
;
398 PUTBACKPL_stack_sp = sp;
399 perl_call_method(method, G_DISCARD)Perl_call_method( method,0x4);
400 if (o && (o->op_flags & OPf_KIDS4)) {
401 for (kid = ((UNOP*)o)->op_first; kid; kid = OpSIBLING(kid)(0 + (kid)->op_moresib ? (kid)->op_sibparent : ((void*)
0))
) {
402 ref = walkoptree(aTHX_ kid, method, ref);
403 }
404 }
405 if (o && (op_class(o)Perl_op_class( o) == OPclass_PMOP) && o->op_type != OP_SPLIT
406 && (kid = PMOP_pmreplroot(cPMOPo)((PMOP*)(o))->op_pmreplrootu.op_pmreplroot))
407 {
408 ref = walkoptree(aTHX_ kid, method, ref);
409 }
410 return ref;
411}
412
413static SV **
414oplist(pTHX_ OP *o, SV **SPsp)
415{
416 for(; o; o = o->op_next) {
417 if (o->op_opt == 0)
418 break;
419 o->op_opt = 0;
420 XPUSHs(make_op_object(aTHX_ o))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (make_op_object( o)); } while (0)
;
421 switch (o->op_type) {
422 case OP_SUBST:
423 SPsp = oplist(aTHX_ PMOP_pmreplstart(cPMOPo)((PMOP*)(o))->op_pmstashstartu.op_pmreplstart, SPsp);
424 continue;
425 case OP_SORT:
426 if (o->op_flags & OPf_STACKED64 && o->op_flags & OPf_SPECIAL128) {
427 OP *kid = OpSIBLING(cLISTOPo->op_first)(0 + (((LISTOP*)(o))->op_first)->op_moresib ? (((LISTOP
*)(o))->op_first)->op_sibparent : ((void*)0))
; /* pass pushmark */
428 kid = kUNOP((UNOP*)(kid))->op_first; /* pass rv2gv */
429 kid = kUNOP((UNOP*)(kid))->op_first; /* pass leave */
430 SPsp = oplist(aTHX_ kid->op_next, SPsp);
431 }
432 continue;
433 }
434 switch (PL_opargs[o->op_type] & OA_CLASS_MASK(15 << 8)) {
435 case OA_LOGOP(3 << 8):
436 SPsp = oplist(aTHX_ cLOGOPo((LOGOP*)(o))->op_other, SPsp);
437 break;
438 case OA_LOOP(9 << 8):
439 SPsp = oplist(aTHX_ cLOOPo((LOOP*)(o))->op_lastop, SPsp);
440 SPsp = oplist(aTHX_ cLOOPo((LOOP*)(o))->op_nextop, SPsp);
441 SPsp = oplist(aTHX_ cLOOPo((LOOP*)(o))->op_redoop, SPsp);
442 break;
443 }
444 }
445 return SPsp;
446}
447
448typedef OP *B__OP;
449typedef UNOP *B__UNOP;
450typedef BINOP *B__BINOP;
451typedef LOGOP *B__LOGOP;
452typedef LISTOP *B__LISTOP;
453typedef PMOP *B__PMOP;
454typedef SVOP *B__SVOP;
455typedef PADOP *B__PADOP;
456typedef PVOP *B__PVOP;
457typedef LOOP *B__LOOP;
458typedef COP *B__COP;
459typedef METHOP *B__METHOP;
460
461typedef SV *B__SV;
462typedef SV *B__IV;
463typedef SV *B__PV;
464typedef SV *B__NV;
465typedef SV *B__PVMG;
466typedef SV *B__REGEXP;
467typedef SV *B__PVLV;
468typedef SV *B__BM;
469typedef SV *B__RV;
470typedef SV *B__FM;
471typedef AV *B__AV;
472typedef HV *B__HV;
473typedef CV *B__CV;
474typedef GV *B__GV;
475typedef IO *B__IO;
476
477typedef MAGIC *B__MAGIC;
478typedef HE *B__HE;
479typedef struct refcounted_he *B__RHE;
480typedef PADLIST *B__PADLIST;
481typedef PADNAMELIST *B__PADNAMELIST;
482typedef PADNAME *B__PADNAME;
483
484
485#ifdef MULTIPLICITY
486# define ASSIGN_COMMON_ALIAS(prefix, var)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_var; } while (0)
\
487 STMT_STARTdo { XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = STRUCT_OFFSET(struct interpreter, prefix##var)__builtin_offsetof(struct interpreter, prefix##var); } STMT_ENDwhile (0)
488#else
489# define ASSIGN_COMMON_ALIAS(prefix, var)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_var; } while (0)
\
490 STMT_STARTdo { XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_ptr = (void *)&PL_##var; } STMT_ENDwhile (0)
491#endif
492
493/* This needs to be ALIASed in a custom way, hence can't easily be defined as
494 a regular XSUB. */
495static XSPROTO(intrpvar_sv_common)void intrpvar_sv_common( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
496static XSPROTO(intrpvar_sv_common)void intrpvar_sv_common( CV* cv __attribute__((unused)))
497{
498 dVARstruct Perl___notused_struct;
499 dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
500 SV *ret;
501 if (items != 0)
502 croak_xs_usagePerl_croak_xs_usage(cv, "");
503#ifdef MULTIPLICITY
504 ret = *(SV **)(XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 + (char *)my_perl);
505#else
506 ret = *(SV **)(XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_ptr);
507#endif
508 ST(0)PL_stack_base[ax + (0)] = make_sv_object(aTHX_ ret);
509 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
510}
511
512
513
514#define SVp0x0 0x0
515#define U32p0x1 0x1
516#define line_tp0x2 0x2
517#define OPp0x3 0x3
518#define PADOFFSETp0x4 0x4
519#define U8p0x5 0x5
520#define IVp0x6 0x6
521#define char_pp0x7 0x7
522/* Keep this last: */
523#define op_offset_special0x8 0x8
524
525/* table that drives most of the B::*OP methods */
526
527static const struct OP_methods {
528 const char *name;
529 U8 namelen;
530 U8 type; /* if op_offset_special, access is handled on a case-by-case basis */
531 U16 offset;
532} op_methods[] = {
533 { STR_WITH_LEN("next")("" "next" ""), (sizeof("next")-1), OPp0x3, STRUCT_OFFSET(struct op, op_next)__builtin_offsetof(struct op, op_next), },/* 0*/
534 { STR_WITH_LEN("sibling")("" "sibling" ""), (sizeof("sibling")-1), op_offset_special0x8, 0, },/* 1*/
535 { STR_WITH_LEN("targ")("" "targ" ""), (sizeof("targ")-1), PADOFFSETp0x4, STRUCT_OFFSET(struct op, op_targ)__builtin_offsetof(struct op, op_targ), },/* 2*/
536 { STR_WITH_LEN("flags")("" "flags" ""), (sizeof("flags")-1), U8p0x5, STRUCT_OFFSET(struct op, op_flags)__builtin_offsetof(struct op, op_flags), },/* 3*/
537 { STR_WITH_LEN("private")("" "private" ""), (sizeof("private")-1), U8p0x5, STRUCT_OFFSET(struct op, op_private)__builtin_offsetof(struct op, op_private), },/* 4*/
538 { STR_WITH_LEN("first")("" "first" ""), (sizeof("first")-1), OPp0x3, STRUCT_OFFSET(struct unop, op_first)__builtin_offsetof(struct unop, op_first), },/* 5*/
539 { STR_WITH_LEN("last")("" "last" ""), (sizeof("last")-1), OPp0x3, STRUCT_OFFSET(struct binop, op_last)__builtin_offsetof(struct binop, op_last), },/* 6*/
540 { STR_WITH_LEN("other")("" "other" ""), (sizeof("other")-1), OPp0x3, STRUCT_OFFSET(struct logop, op_other)__builtin_offsetof(struct logop, op_other), },/* 7*/
541 { STR_WITH_LEN("pmreplstart")("" "pmreplstart" ""), (sizeof("pmreplstart")-1), op_offset_special0x8, 0, },/* 8*/
542 { STR_WITH_LEN("redoop")("" "redoop" ""), (sizeof("redoop")-1), OPp0x3, STRUCT_OFFSET(struct loop, op_redoop)__builtin_offsetof(struct loop, op_redoop), },/* 9*/
543 { STR_WITH_LEN("nextop")("" "nextop" ""), (sizeof("nextop")-1), OPp0x3, STRUCT_OFFSET(struct loop, op_nextop)__builtin_offsetof(struct loop, op_nextop), },/*10*/
544 { STR_WITH_LEN("lastop")("" "lastop" ""), (sizeof("lastop")-1), OPp0x3, STRUCT_OFFSET(struct loop, op_lastop)__builtin_offsetof(struct loop, op_lastop), },/*11*/
545 { STR_WITH_LEN("pmflags")("" "pmflags" ""), (sizeof("pmflags")-1), U32p0x1, STRUCT_OFFSET(struct pmop, op_pmflags)__builtin_offsetof(struct pmop, op_pmflags),},/*12*/
546 { STR_WITH_LEN("code_list")("" "code_list" ""), (sizeof("code_list")-1),OPp0x3, STRUCT_OFFSET(struct pmop, op_code_list)__builtin_offsetof(struct pmop, op_code_list),},/*13*/
547 { STR_WITH_LEN("sv")("" "sv" ""), (sizeof("sv")-1), SVp0x0, STRUCT_OFFSET(struct svop, op_sv)__builtin_offsetof(struct svop, op_sv), },/*14*/
548 { STR_WITH_LEN("gv")("" "gv" ""), (sizeof("gv")-1), SVp0x0, STRUCT_OFFSET(struct svop, op_sv)__builtin_offsetof(struct svop, op_sv), },/*15*/
549 { STR_WITH_LEN("padix")("" "padix" ""), (sizeof("padix")-1), PADOFFSETp0x4,STRUCT_OFFSET(struct padop, op_padix)__builtin_offsetof(struct padop, op_padix),},/*16*/
550 { STR_WITH_LEN("cop_seq")("" "cop_seq" ""), (sizeof("cop_seq")-1), U32p0x1, STRUCT_OFFSET(struct cop, cop_seq)__builtin_offsetof(struct cop, cop_seq), },/*17*/
551 { STR_WITH_LEN("line")("" "line" ""), (sizeof("line")-1), line_tp0x2, STRUCT_OFFSET(struct cop, cop_line)__builtin_offsetof(struct cop, cop_line), },/*18*/
552 { STR_WITH_LEN("hints")("" "hints" ""), (sizeof("hints")-1), U32p0x1, STRUCT_OFFSET(struct cop, cop_hints)__builtin_offsetof(struct cop, cop_hints), },/*19*/
553#ifdef USE_ITHREADS
554 { STR_WITH_LEN("pmoffset")("" "pmoffset" ""), (sizeof("pmoffset")-1),IVp0x6, STRUCT_OFFSET(struct pmop, op_pmoffset)__builtin_offsetof(struct pmop, op_pmoffset),},/*20*/
555 { STR_WITH_LEN("filegv")("" "filegv" ""), (sizeof("filegv")-1), op_offset_special0x8, 0, },/*21*/
556 { STR_WITH_LEN("file")("" "file" ""), (sizeof("file")-1), char_pp0x7, STRUCT_OFFSET(struct cop, cop_file)__builtin_offsetof(struct cop, cop_file), },/*22*/
557 { STR_WITH_LEN("stash")("" "stash" ""), (sizeof("stash")-1), op_offset_special0x8, 0, },/*23*/
558 { STR_WITH_LEN("stashpv")("" "stashpv" ""), (sizeof("stashpv")-1), op_offset_special0x8, 0, },/*24*/
559 { STR_WITH_LEN("stashoff")("" "stashoff" ""), (sizeof("stashoff")-1),PADOFFSETp0x4,STRUCT_OFFSET(struct cop,cop_stashoff)__builtin_offsetof(struct cop, cop_stashoff),},/*25*/
560#else
561 { STR_WITH_LEN("pmoffset")("" "pmoffset" ""), (sizeof("pmoffset")-1),op_offset_special0x8, 0, },/*20*/
562 { STR_WITH_LEN("filegv")("" "filegv" ""), (sizeof("filegv")-1), SVp0x0, STRUCT_OFFSET(struct cop, cop_filegv)__builtin_offsetof(struct cop, cop_filegv),},/*21*/
563 { STR_WITH_LEN("file")("" "file" ""), (sizeof("file")-1), op_offset_special0x8, 0, },/*22*/
564 { STR_WITH_LEN("stash")("" "stash" ""), (sizeof("stash")-1), SVp0x0, STRUCT_OFFSET(struct cop, cop_stash)__builtin_offsetof(struct cop, cop_stash), },/*23*/
565 { STR_WITH_LEN("stashpv")("" "stashpv" ""), (sizeof("stashpv")-1), op_offset_special0x8, 0, },/*24*/
566 { STR_WITH_LEN("stashoff")("" "stashoff" ""), (sizeof("stashoff")-1),op_offset_special0x8, 0, },/*25*/
567#endif
568 { STR_WITH_LEN("size")("" "size" ""), (sizeof("size")-1), op_offset_special0x8, 0, },/*26*/
569 { STR_WITH_LEN("name")("" "name" ""), (sizeof("name")-1), op_offset_special0x8, 0, },/*27*/
570 { STR_WITH_LEN("desc")("" "desc" ""), (sizeof("desc")-1), op_offset_special0x8, 0, },/*28*/
571 { STR_WITH_LEN("ppaddr")("" "ppaddr" ""), (sizeof("ppaddr")-1), op_offset_special0x8, 0, },/*29*/
572 { STR_WITH_LEN("type")("" "type" ""), (sizeof("type")-1), op_offset_special0x8, 0, },/*30*/
573 { STR_WITH_LEN("opt")("" "opt" ""), (sizeof("opt")-1), op_offset_special0x8, 0, },/*31*/
574 { STR_WITH_LEN("spare")("" "spare" ""), (sizeof("spare")-1), op_offset_special0x8, 0, },/*32*/
575 { STR_WITH_LEN("children")("" "children" ""), (sizeof("children")-1),op_offset_special0x8, 0, },/*33*/
576 { STR_WITH_LEN("pmreplroot")("" "pmreplroot" ""), (sizeof("pmreplroot")-1), op_offset_special0x8, 0, },/*34*/
577 { STR_WITH_LEN("pmstashpv")("" "pmstashpv" ""), (sizeof("pmstashpv")-1), op_offset_special0x8, 0, },/*35*/
578 { STR_WITH_LEN("pmstash")("" "pmstash" ""), (sizeof("pmstash")-1), op_offset_special0x8, 0, },/*36*/
579 { STR_WITH_LEN("precomp")("" "precomp" ""), (sizeof("precomp")-1), op_offset_special0x8, 0, },/*37*/
580 { STR_WITH_LEN("reflags")("" "reflags" ""), (sizeof("reflags")-1), op_offset_special0x8, 0, },/*38*/
581 { STR_WITH_LEN("sv")("" "sv" ""), (sizeof("sv")-1), op_offset_special0x8, 0, },/*39*/
582 { STR_WITH_LEN("gv")("" "gv" ""), (sizeof("gv")-1), op_offset_special0x8, 0, },/*40*/
583 { STR_WITH_LEN("pv")("" "pv" ""), (sizeof("pv")-1), op_offset_special0x8, 0, },/*41*/
584 { STR_WITH_LEN("label")("" "label" ""), (sizeof("label")-1), op_offset_special0x8, 0, },/*42*/
585 { STR_WITH_LEN("arybase")("" "arybase" ""), (sizeof("arybase")-1), op_offset_special0x8, 0, },/*43*/
586 { STR_WITH_LEN("warnings")("" "warnings" ""), (sizeof("warnings")-1),op_offset_special0x8, 0, },/*44*/
587 { STR_WITH_LEN("io")("" "io" ""), (sizeof("io")-1), op_offset_special0x8, 0, },/*45*/
588 { STR_WITH_LEN("hints_hash")("" "hints_hash" ""), (sizeof("hints_hash")-1),op_offset_special0x8, 0, },/*46*/
589 { STR_WITH_LEN("slabbed")("" "slabbed" ""), (sizeof("slabbed")-1), op_offset_special0x8, 0, },/*47*/
590 { STR_WITH_LEN("savefree")("" "savefree" ""), (sizeof("savefree")-1),op_offset_special0x8, 0, },/*48*/
591 { STR_WITH_LEN("static")("" "static" ""), (sizeof("static")-1), op_offset_special0x8, 0, },/*49*/
592 { STR_WITH_LEN("folded")("" "folded" ""), (sizeof("folded")-1), op_offset_special0x8, 0, },/*50*/
593 { STR_WITH_LEN("moresib")("" "moresib" ""), (sizeof("moresib")-1), op_offset_special0x8, 0, },/*51*/
594 { STR_WITH_LEN("parent")("" "parent" ""), (sizeof("parent")-1), op_offset_special0x8, 0, },/*52*/
595 { STR_WITH_LEN("first")("" "first" ""), (sizeof("first")-1), op_offset_special0x8, 0, },/*53*/
596 { STR_WITH_LEN("meth_sv")("" "meth_sv" ""), (sizeof("meth_sv")-1), op_offset_special0x8, 0, },/*54*/
597 { STR_WITH_LEN("pmregexp")("" "pmregexp" ""), (sizeof("pmregexp")-1),op_offset_special0x8, 0, },/*55*/
598# ifdef USE_ITHREADS
599 { STR_WITH_LEN("rclass")("" "rclass" ""), (sizeof("rclass")-1), op_offset_special0x8, 0, },/*56*/
600# else
601 { STR_WITH_LEN("rclass")("" "rclass" ""), (sizeof("rclass")-1), op_offset_special0x8, 0, },/*56*/
602# endif
603};
604
605#include "const-c.inc"
606
607#line 608 "B.c"
608#ifndef PERL_UNUSED_VAR
609# define PERL_UNUSED_VAR(var)((void)sizeof(var)) if (0) var = var
610#endif
611
612#ifndef dVARstruct Perl___notused_struct
613# define dVARstruct Perl___notused_struct dNOOPstruct Perl___notused_struct
614#endif
615
616
617/* This stuff is not part of the API! You have been warned. */
618#ifndef PERL_VERSION_DECIMAL
619# define PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s) (r*1000000 + v*1000 + s)
620#endif
621#ifndef PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1)
622# define PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) \
623 PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)(5*1000000 + 32*1000 + 1)
624#endif
625#ifndef PERL_VERSION_GE
626# define PERL_VERSION_GE(r,v,s)((5*1000000 + 32*1000 + 1) >= (r*1000000 + v*1000 + s)) \
627 (PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) >= PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s))
628#endif
629#ifndef PERL_VERSION_LE
630# define PERL_VERSION_LE(r,v,s)((5*1000000 + 32*1000 + 1) <= (r*1000000 + v*1000 + s)) \
631 (PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) <= PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s))
632#endif
633
634/* XS_INTERNAL is the explicit static-linkage variant of the default
635 * XS macro.
636 *
637 * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
638 * "STATIC", ie. it exports XSUB symbols. You probably don't want that
639 * for anything but the BOOT XSUB.
640 *
641 * See XSUB.h in core!
642 */
643
644
645/* TODO: This might be compatible further back than 5.10.0. */
646#if PERL_VERSION_GE(5, 10, 0)((5*1000000 + 32*1000 + 1) >= (5*1000000 + 10*1000 + 0)) && PERL_VERSION_LE(5, 15, 1)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 15*1000 + 1))
647# undef XS_EXTERNAL
648# undef XS_INTERNAL
649# if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
650# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) __declspec(dllexport) XSPROTO(name)void name( CV* cv __attribute__((unused)))
651# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused)))
652# endif
653# if defined(__SYMBIAN32__)
654# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) EXPORT_C XSPROTO(name)void name( CV* cv __attribute__((unused)))
655# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) EXPORT_C STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused)))
656# endif
657# ifndef XS_EXTERNAL
658# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
659# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) void name(pTHX_ CV* cv __attribute__unused____attribute__((unused)))
660# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic void name(pTHX_ CV* cv __attribute__unused____attribute__((unused)))
661# else
662# ifdef __cplusplus
663# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) extern "C" XSPROTO(name)void name( CV* cv __attribute__((unused)))
664# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) static XSPROTO(name)void name( CV* cv __attribute__((unused)))
665# else
666# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) XSPROTO(name)void name( CV* cv __attribute__((unused)))
667# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused)))
668# endif
669# endif
670# endif
671#endif
672
673/* perl >= 5.10.0 && perl <= 5.15.1 */
674
675
676/* The XS_EXTERNAL macro is used for functions that must not be static
677 * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
678 * macro defined, the best we can do is assume XS is the same.
679 * Dito for XS_INTERNAL.
680 */
681#ifndef XS_EXTERNAL
682# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) XS(name)void name( CV* cv __attribute__((unused)))
683#endif
684#ifndef XS_INTERNAL
685# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) XS(name)void name( CV* cv __attribute__((unused)))
686#endif
687
688/* Now, finally, after all this mess, we want an ExtUtils::ParseXS
689 * internal macro that we're free to redefine for varying linkage due
690 * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
691 * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
692 */
693
694#undef XS_EUPXS
695#if defined(PERL_EUPXS_ALWAYS_EXPORT)
696# define XS_EUPXS(name)static void name( CV* cv __attribute__((unused))) XS_EXTERNAL(name)void name( CV* cv __attribute__((unused)))
697#else
698 /* default to internal */
699# define XS_EUPXS(name)static void name( CV* cv __attribute__((unused))) XS_INTERNAL(name)static void name( CV* cv __attribute__((unused)))
700#endif
701
702#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0)
703#define PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0) assert(cv)((void)0); assert(params)((void)0)
704
705/* prototype to pass -Wmissing-prototypes */
706STATICstatic void
707S_croak_xs_usage(const CV *const cv, const char *const params);
708
709STATICstatic void
710S_croak_xs_usage(const CV *const cv, const char *const params)
711{
712 const GV *const gv = CvGV(cv)Perl_CvGV( (CV *)(cv));
713
714 PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0);
715
716 if (gv) {
717 const char *const gvname = GvNAME(gv)((((XPVGV*)(gv)->sv_any)->xiv_u.xivu_namehek))->hek_key;
718 const HV *const stash = GvSTASH(gv)(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash);
719 const char *const hvname = stash ? HvNAME(stash)((((stash)->sv_flags & 0x02000000) && ((struct
xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV*) (stash
)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name &&
( ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV
*) (stash)->sv_any)->xhv_max+1]))->xhv_name_count ? *
((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV
*) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names
: ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV
*) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name
)) ? (( ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash
)[((XPVHV*) (stash)->sv_any)->xhv_max+1]))->xhv_name_count
? *((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV
*) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names
: ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV
*) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name
))->hek_key : ((void*)0))
: NULL((void*)0);
720
721 if (hvname)
722 Perl_croak_nocontextPerl_croak("Usage: %s::%s(%s)", hvname, gvname, params);
723 else
724 Perl_croak_nocontextPerl_croak("Usage: %s(%s)", gvname, params);
725 } else {
726 /* Pants. I don't think that it should be possible to get here. */
727 Perl_croak_nocontextPerl_croak("Usage: CODE(0x%" UVxf"lx" ")(%s)", PTR2UV(cv)(UV)(cv), params);
728 }
729}
730#undef PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0)
731
732#define croak_xs_usagePerl_croak_xs_usage S_croak_xs_usage
733
734#endif
735
736/* NOTE: the prototype of newXSproto() is different in versions of perls,
737 * so we define a portable version of newXSproto()
738 */
739#ifdef newXS_flags
740#define newXSproto_portable(name, c_impl, file, proto)Perl_newXS_flags( name,c_impl,file,proto,0) newXS_flags(name, c_impl, file, proto, 0)Perl_newXS_flags( name,c_impl,file,proto,0)
741#else
742#define newXSproto_portable(name, c_impl, file, proto)Perl_newXS_flags( name,c_impl,file,proto,0) (PL_Sv=(SV*)newXS(name, c_impl, file)Perl_newXS( name,c_impl,file), sv_setpv(PL_Sv, proto)Perl_sv_setpv( PL_Sv,proto), (CV*)PL_Sv)
743#endif /* !defined(newXS_flags) */
744
745#if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5))
746# define newXS_deffile(a,b)Perl_newXS_deffile( a,b) Perl_newXS(aTHX_ a,b,file)
747#else
748# define newXS_deffile(a,b)Perl_newXS_deffile( a,b) Perl_newXS_deffile(aTHX_ a,b)
749#endif
750
751#line 752 "B.c"
752
753/* INCLUDE: Including 'const-xs.inc' from 'B.xs' */
754
755
756/* INCLUDE: Returning to 'B.xs' from 'const-xs.inc' */
757
758
759XS_EUPXS(XS_B_formfeed)static void XS_B_formfeed( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
760XS_EUPXS(XS_B_formfeed)static void XS_B_formfeed( CV* cv __attribute__((unused)))
761{
762 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
763 if (items != 0)
764 croak_xs_usagePerl_croak_xs_usage(cv, "");
765 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
766 SPsp -= items;
767 {
768#line 644 "B.xs"
769 PUSHs(make_sv_object(aTHX_ GvSV(gv_fetchpvs("\f", GV_ADD, SVt_PV))))(*++sp = (make_sv_object( ((0+(Perl_gv_fetchpvn_flags( ("" "\f"
""), (sizeof("\f")-1), 0x01, SVt_PV))->sv_u.svu_gp)->gp_sv
))))
;
770#line 771 "B.c"
771 PUTBACKPL_stack_sp = sp;
772 return;
773 }
774}
775
776
777XS_EUPXS(XS_B_amagic_generation)static void XS_B_amagic_generation( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
778XS_EUPXS(XS_B_amagic_generation)static void XS_B_amagic_generation( CV* cv __attribute__((unused
)))
779{
780 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
781 if (items != 0)
782 croak_xs_usagePerl_croak_xs_usage(cv, "");
783 {
784 long RETVAL;
785 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
786#line 649 "B.xs"
787 RETVAL = PL_amagic_generationPL_na;
788#line 789 "B.c"
789 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
790 }
791 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
792}
793
794
795XS_EUPXS(XS_B_comppadlist)static void XS_B_comppadlist( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
796XS_EUPXS(XS_B_comppadlist)static void XS_B_comppadlist( CV* cv __attribute__((unused)))
797{
798 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
799 if (items != 0)
800 croak_xs_usagePerl_croak_xs_usage(cv, "");
801 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
802 SPsp -= items;
803 {
804#line 656 "B.xs"
805 PADLIST *padlist = CvPADLIST(PL_main_cv ? PL_main_cv : PL_compcv)(*( &(((XPVCV*)({ void *_p = ((PL_main_cv ? PL_main_cv : PL_compcv
)->sv_any); _p; }))->xcv_padlist_u.xcv_padlist)))
;
806#line 807 "B.c"
807#line 658 "B.xs"
808 {
809 SV * const rv = sv_newmortal()Perl_sv_newmortal();
810 sv_setiv(newSVrv(rv, padlist ? "B::PADLIST" : "B::NULL"),Perl_sv_setiv( Perl_newSVrv( rv,padlist ? "B::PADLIST" : "B::NULL"
),(IV)(padlist))
811 PTR2IV(padlist))Perl_sv_setiv( Perl_newSVrv( rv,padlist ? "B::PADLIST" : "B::NULL"
),(IV)(padlist))
;
812 PUSHs(rv)(*++sp = (rv));
813 }
814#line 815 "B.c"
815 PUTBACKPL_stack_sp = sp;
816 return;
817 }
818}
819
820
821XS_EUPXS(XS_B_sv_undef)static void XS_B_sv_undef( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
822XS_EUPXS(XS_B_sv_undef)static void XS_B_sv_undef( CV* cv __attribute__((unused)))
823{
824 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
825 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
826 if (items != 0)
827 croak_xs_usagePerl_croak_xs_usage(cv, "");
828 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
829 SPsp -= items;
830 {
831#line 671 "B.xs"
832 PUSHs(make_sv_object(aTHX_ ix > 1 ? &PL_sv_yes(*++sp = (make_sv_object( ix > 1 ? &(PL_sv_immortals[0
]) : ix < 1 ? &(PL_sv_immortals[1]) : &(PL_sv_immortals
[2]))))
833 : ix < 1 ? &PL_sv_undef(*++sp = (make_sv_object( ix > 1 ? &(PL_sv_immortals[0
]) : ix < 1 ? &(PL_sv_immortals[1]) : &(PL_sv_immortals
[2]))))
834 : &PL_sv_no))(*++sp = (make_sv_object( ix > 1 ? &(PL_sv_immortals[0
]) : ix < 1 ? &(PL_sv_immortals[1]) : &(PL_sv_immortals
[2]))))
;
835#line 836 "B.c"
836 PUTBACKPL_stack_sp = sp;
837 return;
838 }
839}
840
841
842XS_EUPXS(XS_B_main_root)static void XS_B_main_root( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
843XS_EUPXS(XS_B_main_root)static void XS_B_main_root( CV* cv __attribute__((unused)))
844{
845 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
846 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
847 if (items != 0)
848 croak_xs_usagePerl_croak_xs_usage(cv, "");
849 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
850 SPsp -= items;
851 {
852#line 680 "B.xs"
853 PUSHs(make_op_object(aTHX_ ix ? PL_main_start : PL_main_root))(*++sp = (make_op_object( ix ? PL_main_start : PL_main_root))
)
;
854#line 855 "B.c"
855 PUTBACKPL_stack_sp = sp;
856 return;
857 }
858}
859
860
861XS_EUPXS(XS_B_sub_generation)static void XS_B_sub_generation( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
862XS_EUPXS(XS_B_sub_generation)static void XS_B_sub_generation( CV* cv __attribute__((unused
)))
863{
864 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
865 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
866 if (items != 0)
867 croak_xs_usagePerl_croak_xs_usage(cv, "");
868 {
869 UV RETVAL;
870 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
871#line 687 "B.xs"
872 RETVAL = ix ? PL_dowarn : PL_sub_generation;
873#line 874 "B.c"
874 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
875 }
876 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
877}
878
879
880XS_EUPXS(XS_B_walkoptree)static void XS_B_walkoptree( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
881XS_EUPXS(XS_B_walkoptree)static void XS_B_walkoptree( CV* cv __attribute__((unused)))
882{
883 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
884 if (items != 2)
885 croak_xs_usagePerl_croak_xs_usage(cv, "op, method");
886 {
887 B__OP op;
888 const char * method = (const char *)SvPV_nolen(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (1)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (1)],0,2))
889;
890
891 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
892 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
893 op = INT2PTR(B__OP,tmp)(B__OP)(tmp);
894 }
895 else
896 croakPerl_croak("op is not a reference")
897;
898#line 696 "B.xs"
899 (void) walkoptree(aTHX_ op, method, &PL_sv_undef(PL_sv_immortals[1]));
900#line 901 "B.c"
901 }
902 XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0); } while (0)
;
903}
904
905
906XS_EUPXS(XS_B_walkoptree_debug)static void XS_B_walkoptree_debug( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
907XS_EUPXS(XS_B_walkoptree_debug)static void XS_B_walkoptree_debug( CV* cv __attribute__((unused
)))
908{
909 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
910 PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */
911 PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */
912 {
913 int RETVAL;
914 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
915#line 701 "B.xs"
916 dMY_CXTstruct Perl___notused_struct;
917 RETVAL = walkoptree_debug(my_cxt.x_walkoptree_debug);
918 if (items > 0 && SvTRUE(ST(1))Perl_SvTRUE( PL_stack_base[ax + (1)]))
919 walkoptree_debug(my_cxt.x_walkoptree_debug) = 1;
920#line 921 "B.c"
921 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
922 }
923 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
924}
925
926#define address(sv)(IV)(sv) PTR2IV(sv)(IV)(sv)
927
928XS_EUPXS(XS_B_address)static void XS_B_address( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
929XS_EUPXS(XS_B_address)static void XS_B_address( CV* cv __attribute__((unused)))
930{
931 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
932 if (items != 1)
933 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
934 {
935 SV * sv = ST(0)PL_stack_base[ax + (0)]
936;
937 IV RETVAL;
938 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
939
940 RETVAL = address(sv)(IV)(sv);
941 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
942 }
943 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
944}
945
946
947XS_EUPXS(XS_B_svref_2object)static void XS_B_svref_2object( CV* cv __attribute__((unused)
))
; /* prototype to pass -Wmissing-prototypes */
948XS_EUPXS(XS_B_svref_2object)static void XS_B_svref_2object( CV* cv __attribute__((unused)
))
949{
950 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
951 if (items != 1)
952 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
953 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
954 SPsp -= items;
955 {
956 SV * sv = ST(0)PL_stack_base[ax + (0)]
957;
958#line 718 "B.xs"
959 if (!SvROK(sv)((sv)->sv_flags & 0x00000800))
960 croakPerl_croak("argument is not a reference");
961 PUSHs(make_sv_object(aTHX_ SvRV(sv)))(*++sp = (make_sv_object( ((sv)->sv_u.svu_rv))));
962#line 963 "B.c"
963 PUTBACKPL_stack_sp = sp;
964 return;
965 }
966}
967
968
969XS_EUPXS(XS_B_opnumber)static void XS_B_opnumber( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
970XS_EUPXS(XS_B_opnumber)static void XS_B_opnumber( CV* cv __attribute__((unused)))
971{
972 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
973 if (items != 1)
974 croak_xs_usagePerl_croak_xs_usage(cv, "name");
975 {
976 const char * name = (const char *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2))
977;
978#line 726 "B.xs"
979{
980 int i;
981 IV result = -1;
982 ST(0)PL_stack_base[ax + (0)] = sv_newmortal()Perl_sv_newmortal();
983 if (strBEGINs(name,"pp_")(strncmp(name,"" "pp_" "", sizeof("pp_")-1) == 0))
984 name += 3;
985 for (i = 0; i < PL_maxo400; i++)
986 {
987 if (strEQ(name, PL_op_name[i])(strcmp(name,PL_op_name[i]) == 0))
988 {
989 result = i;
990 break;
991 }
992 }
993 sv_setiv(ST(0),result)Perl_sv_setiv( PL_stack_base[ax + (0)],result);
994}
995#line 996 "B.c"
996 }
997 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
998}
999
1000
1001XS_EUPXS(XS_B_ppname)static void XS_B_ppname( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1002XS_EUPXS(XS_B_ppname)static void XS_B_ppname( CV* cv __attribute__((unused)))
1003{
1004 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1005 if (items != 1)
1006 croak_xs_usagePerl_croak_xs_usage(cv, "opnum");
1007 {
1008 int opnum = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
1009;
1010#line 747 "B.xs"
1011 ST(0)PL_stack_base[ax + (0)] = sv_newmortal()Perl_sv_newmortal();
1012 if (opnum >= 0 && opnum < PL_maxo400)
1013 Perl_sv_setpvf(aTHX_ ST(0)PL_stack_base[ax + (0)], "pp_%s", PL_op_name[opnum]);
1014#line 1015 "B.c"
1015 }
1016 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1017}
1018
1019
1020XS_EUPXS(XS_B_hash)static void XS_B_hash( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1021XS_EUPXS(XS_B_hash)static void XS_B_hash( CV* cv __attribute__((unused)))
1022{
1023 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1024 if (items != 1)
1025 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
1026 {
1027 SV * sv = ST(0)PL_stack_base[ax + (0)]
1028;
1029#line 755 "B.xs"
1030 STRLEN len;
1031 U32 hash = 0;
1032 const char *s = SvPVbyte(sv, len)((((sv)->sv_flags & (0x00000400|0x20000000|0x00200000)
) == 0x00000400) ? ((len = ((XPV*) (sv)->sv_any)->xpv_cur
), ((sv)->sv_u.svu_pv)) : Perl_sv_2pvbyte_flags( sv,&len
,2))
;
1033 PERL_HASH(hash, s, len)(hash) = (__builtin_expect(((((len)) <= 24) ? (_Bool)1 : (
_Bool)0),(1)) ? sbox32_hash_with_state(((((U8 *)PL_hash_state_w
)) + (sizeof(U64) * 4)),(U8*)((U8*)((U8*)(s))),(((len)))) : (
U32)stadtx_hash_with_state((((((U8 *)PL_hash_state_w)))),(U8*
)(((U8*)((U8*)(s)))),((((len))))))
;
1034 ST(0)PL_stack_base[ax + (0)] = sv_2mortal(Perl_newSVpvf(aTHX_ "0x%" UVxf, (UV)hash))Perl_sv_2mortal( Perl_newSVpvf( "0x%" "lx", (UV)hash));
1035#line 1036 "B.c"
1036 }
1037 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1038}
1039
1040#define cast_I32(foo)(I32)foo (I32)foo
1041
1042XS_EUPXS(XS_B_cast_I32)static void XS_B_cast_I32( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1043XS_EUPXS(XS_B_cast_I32)static void XS_B_cast_I32( CV* cv __attribute__((unused)))
1044{
1045 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1046 if (items != 1)
1047 croak_xs_usagePerl_croak_xs_usage(cv, "i");
1048 {
1049 IV i = (IV)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
1050;
1051 IV RETVAL;
1052 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1053
1054 RETVAL = cast_I32(i)(I32)i;
1055 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
1056 }
1057 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1058}
1059
1060
1061XS_EUPXS(XS_B_minus_c)static void XS_B_minus_c( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1062XS_EUPXS(XS_B_minus_c)static void XS_B_minus_c( CV* cv __attribute__((unused)))
1063{
1064 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1065 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
1066 if (items != 0)
1067 croak_xs_usagePerl_croak_xs_usage(cv, "");
1068 {
1069#line 771 "B.xs"
1070 if (ix)
1071 PL_savebegin = TRUE(1);
1072 else
1073 PL_minus_c = TRUE(1);
1074#line 1075 "B.c"
1075 }
1076 XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0); } while (0)
;
1077}
1078
1079
1080XS_EUPXS(XS_B_cstring)static void XS_B_cstring( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1081XS_EUPXS(XS_B_cstring)static void XS_B_cstring( CV* cv __attribute__((unused)))
1082{
1083 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1084 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
1085 if (items != 1)
1086 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
1087 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1088 SPsp -= items;
1089 {
1090 SV * sv = ST(0)PL_stack_base[ax + (0)]
1091;
1092#line 783 "B.xs"
1093 PUSHs(ix == 2 ? cchar(aTHX_ sv) : cstring(aTHX_ sv, (bool)ix))(*++sp = (ix == 2 ? cchar( sv) : cstring( sv, (_Bool)ix)));
1094#line 1095 "B.c"
1095 PUTBACKPL_stack_sp = sp;
1096 return;
1097 }
1098}
1099
1100
1101XS_EUPXS(XS_B_threadsv_names)static void XS_B_threadsv_names( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1102XS_EUPXS(XS_B_threadsv_names)static void XS_B_threadsv_names( CV* cv __attribute__((unused
)))
1103{
1104 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1105 if (items != 0)
1106 croak_xs_usagePerl_croak_xs_usage(cv, "");
1107 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1108 SPsp -= items;
1109 {
1110#line 787 "B.xs"
1111#line 1112 "B.c"
1112 PUTBACKPL_stack_sp = sp;
1113 return;
1114 }
1115}
1116
1117#ifdef USE_ITHREADS
1118#define XSubPPtmpAAAA 1
1119
1120
1121XS_EUPXS(XS_B_CLONE)static void XS_B_CLONE( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1122XS_EUPXS(XS_B_CLONE)static void XS_B_CLONE( CV* cv __attribute__((unused)))
1123{
1124 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1125 PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */
1126 PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */
1127 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1128 SPsp -= items;
1129 {
1130#line 794 "B.xs"
1131 PUTBACKPL_stack_sp = sp; /* some vars go out of scope now in machine code */
1132 {
1133 MY_CXT_CLONE(void)0;
1134 B_init_my_cxt(aTHX_ &(MY_CXTmy_cxt));
1135 }
1136 return; /* dont execute another implied XSPP PUTBACK */
1137#line 1138 "B.c"
1138 PUTBACKPL_stack_sp = sp;
1139 return;
1140 }
1141}
1142
1143#endif
1144
1145XS_EUPXS(XS_B__OP_next)static void XS_B__OP_next( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1146XS_EUPXS(XS_B__OP_next)static void XS_B__OP_next( CV* cv __attribute__((unused)))
1147{
1148 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1149 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
1150 if (items != 1)
1151 croak_xs_usagePerl_croak_xs_usage(cv, "o");
1152 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1153 SPsp -= items;
1154 {
1155 B__OP o;
1156#line 871 "B.xs"
1157 SV *ret;
1158#line 1159 "B.c"
1159
1160 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
1161 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1162 o = INT2PTR(B__OP,tmp)(B__OP)(tmp);
1163 }
1164 else
1165 croakPerl_croak("o is not a reference")
1166;
1167#line 873 "B.xs"
1168 if (ix < 0 || (U32)ix >= C_ARRAY_LENGTH(op_methods)(sizeof(op_methods)/sizeof((op_methods)[0])))
1169 croakPerl_croak("Illegal alias %d for B::*OP::next", (int)ix);
1170 ret = get_overlay_object(aTHX_ o,
1171 op_methods[ix].name, op_methods[ix].namelen);
1172 if (ret) {
1173 ST(0)PL_stack_base[ax + (0)] = ret;
1174 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1175 }
1176
1177 /* handle non-direct field access */
1178
1179 if (op_methods[ix].type == op_offset_special0x8)
1180 switch (ix) {
1181 case 1: /* B::OP::op_sibling */
1182 ret = make_op_object(aTHX_ OpSIBLING(o)(0 + (o)->op_moresib ? (o)->op_sibparent : ((void*)0)));
1183 break;
1184
1185 case 8: /* B::PMOP::pmreplstart */
1186 ret = make_op_object(aTHX_
1187 cPMOPo((PMOP*)(o))->op_type == OP_SUBST
1188 ? cPMOPo((PMOP*)(o))->op_pmstashstartu.op_pmreplstart
1189 : NULL((void*)0)
1190 );
1191 break;
1192#ifdef USE_ITHREADS
1193 case 21: /* B::COP::filegv */
1194 ret = make_sv_object(aTHX_ (SV *)CopFILEGV((COP*)o)(((COP*)o)->cop_filegv));
1195 break;
1196#endif
1197#ifndef USE_ITHREADS
1198 case 22: /* B::COP::file */
1199 ret = sv_2mortal(newSVpv(CopFILE((COP*)o), 0))Perl_sv_2mortal( Perl_newSVpv( ((((COP*)o)->cop_filegv) ? (
(((XPVGV*)((((COP*)o)->cop_filegv))->sv_any)->xiv_u.
xivu_namehek))->hek_key+2 : ((void*)0)),0))
;
1200 break;
1201#endif
1202#ifdef USE_ITHREADS
1203 case 23: /* B::COP::stash */
1204 ret = make_sv_object(aTHX_ (SV *)CopSTASH((COP*)o)(((COP*)o)->cop_stash));
1205 break;
1206#endif
1207 case 24: /* B::COP::stashpv */
1208 ret = sv_2mortal(CopSTASH((COP*)o)Perl_sv_2mortal( (((COP*)o)->cop_stash) && ((svtype
)(((((COP*)o)->cop_stash))->sv_flags & 0xff)) == SVt_PVHV
? Perl_newSVhek( ((((((COP*)o)->cop_stash))->sv_flags &
0x02000000) && ((struct xpvhv_aux*)&((((((COP*)o
)->cop_stash))->sv_u.svu_hash)[((XPVHV*) ((((COP*)o)->
cop_stash))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name
? ( ((struct xpvhv_aux*)&((((((COP*)o)->cop_stash))->
sv_u.svu_hash)[((XPVHV*) ((((COP*)o)->cop_stash))->sv_any
)->xhv_max+1]))->xhv_name_count ? *((struct xpvhv_aux*)
&((((((COP*)o)->cop_stash))->sv_u.svu_hash)[((XPVHV
*) ((((COP*)o)->cop_stash))->sv_any)->xhv_max+1]))->
xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)&((((((COP
*)o)->cop_stash))->sv_u.svu_hash)[((XPVHV*) ((((COP*)o)
->cop_stash))->sv_any)->xhv_max+1]))->xhv_name_u.
xhvnameu_name ) : ((void*)0))) : &(PL_sv_immortals[1]))
1209 && SvTYPE(CopSTASH((COP*)o)) == SVt_PVHVPerl_sv_2mortal( (((COP*)o)->cop_stash) && ((svtype
)(((((COP*)o)->cop_stash))->sv_flags & 0xff)) == SVt_PVHV
? Perl_newSVhek( ((((((COP*)o)->cop_stash))->sv_flags &
0x02000000) && ((struct xpvhv_aux*)&((((((COP*)o
)->cop_stash))->sv_u.svu_hash)[((XPVHV*) ((((COP*)o)->
cop_stash))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name
? ( ((struct xpvhv_aux*)&((((((COP*)o)->cop_stash))->
sv_u.svu_hash)[((XPVHV*) ((((COP*)o)->cop_stash))->sv_any
)->xhv_max+1]))->xhv_name_count ? *((struct xpvhv_aux*)
&((((((COP*)o)->cop_stash))->sv_u.svu_hash)[((XPVHV
*) ((((COP*)o)->cop_stash))->sv_any)->xhv_max+1]))->
xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)&((((((COP
*)o)->cop_stash))->sv_u.svu_hash)[((XPVHV*) ((((COP*)o)
->cop_stash))->sv_any)->xhv_max+1]))->xhv_name_u.
xhvnameu_name ) : ((void*)0))) : &(PL_sv_immortals[1]))
1210 ? newSVhek(HvNAME_HEK(CopSTASH((COP*)o)))Perl_sv_2mortal( (((COP*)o)->cop_stash) && ((svtype
)(((((COP*)o)->cop_stash))->sv_flags & 0xff)) == SVt_PVHV
? Perl_newSVhek( ((((((COP*)o)->cop_stash))->sv_flags &
0x02000000) && ((struct xpvhv_aux*)&((((((COP*)o
)->cop_stash))->sv_u.svu_hash)[((XPVHV*) ((((COP*)o)->
cop_stash))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name
? ( ((struct xpvhv_aux*)&((((((COP*)o)->cop_stash))->
sv_u.svu_hash)[((XPVHV*) ((((COP*)o)->cop_stash))->sv_any
)->xhv_max+1]))->xhv_name_count ? *((struct xpvhv_aux*)
&((((((COP*)o)->cop_stash))->sv_u.svu_hash)[((XPVHV
*) ((((COP*)o)->cop_stash))->sv_any)->xhv_max+1]))->
xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)&((((((COP
*)o)->cop_stash))->sv_u.svu_hash)[((XPVHV*) ((((COP*)o)
->cop_stash))->sv_any)->xhv_max+1]))->xhv_name_u.
xhvnameu_name ) : ((void*)0))) : &(PL_sv_immortals[1]))
1211 : &PL_sv_undef)Perl_sv_2mortal( (((COP*)o)->cop_stash) && ((svtype
)(((((COP*)o)->cop_stash))->sv_flags & 0xff)) == SVt_PVHV
? Perl_newSVhek( ((((((COP*)o)->cop_stash))->sv_flags &
0x02000000) && ((struct xpvhv_aux*)&((((((COP*)o
)->cop_stash))->sv_u.svu_hash)[((XPVHV*) ((((COP*)o)->
cop_stash))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name
? ( ((struct xpvhv_aux*)&((((((COP*)o)->cop_stash))->
sv_u.svu_hash)[((XPVHV*) ((((COP*)o)->cop_stash))->sv_any
)->xhv_max+1]))->xhv_name_count ? *((struct xpvhv_aux*)
&((((((COP*)o)->cop_stash))->sv_u.svu_hash)[((XPVHV
*) ((((COP*)o)->cop_stash))->sv_any)->xhv_max+1]))->
xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)&((((((COP
*)o)->cop_stash))->sv_u.svu_hash)[((XPVHV*) ((((COP*)o)
->cop_stash))->sv_any)->xhv_max+1]))->xhv_name_u.
xhvnameu_name ) : ((void*)0))) : &(PL_sv_immortals[1]))
;
1212 break;
1213 case 26: /* B::OP::size */
1214 ret = sv_2mortal(newSVuv((UV)(opsizes[op_class(o)])))Perl_sv_2mortal( Perl_newSVuv( (UV)(opsizes[Perl_op_class( o)
])))
;
1215 break;
1216 case 27: /* B::OP::name */
1217 case 28: /* B::OP::desc */
1218 ret = sv_2mortal(newSVpv(Perl_sv_2mortal( Perl_newSVpv( (char *)(ix == 28 ? ((o)->op_type
== OP_CUSTOM ? (Perl_custom_op_get_field( o, XOPe_xop_desc).
xop_desc) : PL_op_desc[(o)->op_type]) : ((o)->op_type ==
OP_CUSTOM ? (Perl_custom_op_get_field( o, XOPe_xop_name).xop_name
) : PL_op_name[(o)->op_type])),0))
1219 (char *)(ix == 28 ? OP_DESC(o) : OP_NAME(o)), 0))Perl_sv_2mortal( Perl_newSVpv( (char *)(ix == 28 ? ((o)->op_type
== OP_CUSTOM ? (Perl_custom_op_get_field( o, XOPe_xop_desc).
xop_desc) : PL_op_desc[(o)->op_type]) : ((o)->op_type ==
OP_CUSTOM ? (Perl_custom_op_get_field( o, XOPe_xop_name).xop_name
) : PL_op_name[(o)->op_type])),0))
;
1220 break;
1221 case 29: /* B::OP::ppaddr */
1222 {
1223 int i;
1224 ret = sv_2mortal(Perl_newSVpvf(aTHX_ "PL_ppaddr[OP_%s]",Perl_sv_2mortal( Perl_newSVpvf( "PL_ppaddr[OP_%s]", PL_op_name
[o->op_type]))
1225 PL_op_name[o->op_type]))Perl_sv_2mortal( Perl_newSVpvf( "PL_ppaddr[OP_%s]", PL_op_name
[o->op_type]))
;
1226 for (i=13; (STRLEN)i < SvCUR(ret)((XPV*) (ret)->sv_any)->xpv_cur; ++i)
1227 SvPVX(ret)((ret)->sv_u.svu_pv)[i] = toUPPER(SvPVX(ret)[i])(( ( (sizeof(((ret)->sv_u.svu_pv)[i]) == sizeof(U8)) ? ( (
((U64) (((((U8) (((ret)->sv_u.svu_pv)[i])))) - ((('a')) | 0
))) <= (((U64) (((('z') - ('a'))) | 0))))) : (sizeof(((ret
)->sv_u.svu_pv)[i]) == sizeof(U32)) ? ( (((U64) (((((U32) (
((ret)->sv_u.svu_pv)[i])))) - ((('a')) | 0))) <= (((U64
) (((('z') - ('a'))) | 0))))) : ( ( (((U64) (((((U64) (((ret)
->sv_u.svu_pv)[i])))) - ((('a')) | 0))) <= (((U64) ((((
'z') - ('a'))) | 0)))))))) ? (U8)((((ret)->sv_u.svu_pv)[i]
) - ('a' - 'A')) : (((ret)->sv_u.svu_pv)[i]))
;
1228 }
1229 break;
1230 case 30: /* B::OP::type */
1231 case 31: /* B::OP::opt */
1232 case 32: /* B::OP::spare */
1233 case 47: /* B::OP::slabbed */
1234 case 48: /* B::OP::savefree */
1235 case 49: /* B::OP::static */
1236 case 50: /* B::OP::folded */
1237 case 51: /* B::OP::moresib */
1238 /* These are all bitfields, so we can't take their addresses */
1239 ret = sv_2mortal(newSVuv((UV)(Perl_sv_2mortal( Perl_newSVuv( (UV)( ix == 30 ? o->op_type
: ix == 31 ? o->op_opt : ix == 47 ? o->op_slabbed : ix
== 48 ? o->op_savefree : ix == 49 ? o->op_static : ix ==
50 ? o->op_folded : ix == 51 ? o->op_moresib : o->op_spare
)))
1240 ix == 30 ? o->op_typePerl_sv_2mortal( Perl_newSVuv( (UV)( ix == 30 ? o->op_type
: ix == 31 ? o->op_opt : ix == 47 ? o->op_slabbed : ix
== 48 ? o->op_savefree : ix == 49 ? o->op_static : ix ==
50 ? o->op_folded : ix == 51 ? o->op_moresib : o->op_spare
)))
1241 : ix == 31 ? o->op_optPerl_sv_2mortal( Perl_newSVuv( (UV)( ix == 30 ? o->op_type
: ix == 31 ? o->op_opt : ix == 47 ? o->op_slabbed : ix
== 48 ? o->op_savefree : ix == 49 ? o->op_static : ix ==
50 ? o->op_folded : ix == 51 ? o->op_moresib : o->op_spare
)))
1242 : ix == 47 ? o->op_slabbedPerl_sv_2mortal( Perl_newSVuv( (UV)( ix == 30 ? o->op_type
: ix == 31 ? o->op_opt : ix == 47 ? o->op_slabbed : ix
== 48 ? o->op_savefree : ix == 49 ? o->op_static : ix ==
50 ? o->op_folded : ix == 51 ? o->op_moresib : o->op_spare
)))
1243 : ix == 48 ? o->op_savefreePerl_sv_2mortal( Perl_newSVuv( (UV)( ix == 30 ? o->op_type
: ix == 31 ? o->op_opt : ix == 47 ? o->op_slabbed : ix
== 48 ? o->op_savefree : ix == 49 ? o->op_static : ix ==
50 ? o->op_folded : ix == 51 ? o->op_moresib : o->op_spare
)))
1244 : ix == 49 ? o->op_staticPerl_sv_2mortal( Perl_newSVuv( (UV)( ix == 30 ? o->op_type
: ix == 31 ? o->op_opt : ix == 47 ? o->op_slabbed : ix
== 48 ? o->op_savefree : ix == 49 ? o->op_static : ix ==
50 ? o->op_folded : ix == 51 ? o->op_moresib : o->op_spare
)))
1245 : ix == 50 ? o->op_foldedPerl_sv_2mortal( Perl_newSVuv( (UV)( ix == 30 ? o->op_type
: ix == 31 ? o->op_opt : ix == 47 ? o->op_slabbed : ix
== 48 ? o->op_savefree : ix == 49 ? o->op_static : ix ==
50 ? o->op_folded : ix == 51 ? o->op_moresib : o->op_spare
)))
1246 : ix == 51 ? o->op_moresibPerl_sv_2mortal( Perl_newSVuv( (UV)( ix == 30 ? o->op_type
: ix == 31 ? o->op_opt : ix == 47 ? o->op_slabbed : ix
== 48 ? o->op_savefree : ix == 49 ? o->op_static : ix ==
50 ? o->op_folded : ix == 51 ? o->op_moresib : o->op_spare
)))
1247 : o->op_spare)))Perl_sv_2mortal( Perl_newSVuv( (UV)( ix == 30 ? o->op_type
: ix == 31 ? o->op_opt : ix == 47 ? o->op_slabbed : ix
== 48 ? o->op_savefree : ix == 49 ? o->op_static : ix ==
50 ? o->op_folded : ix == 51 ? o->op_moresib : o->op_spare
)))
;
1248 break;
1249 case 33: /* B::LISTOP::children */
1250 {
1251 OP *kid;
1252 UV i = 0;
1253 for (kid = ((LISTOP*)o)->op_first; kid; kid = OpSIBLING(kid)(0 + (kid)->op_moresib ? (kid)->op_sibparent : ((void*)
0))
)
1254 i++;
1255 ret = sv_2mortal(newSVuv(i))Perl_sv_2mortal( Perl_newSVuv( i));
1256 }
1257 break;
1258 case 34: /* B::PMOP::pmreplroot */
1259 if (cPMOPo((PMOP*)(o))->op_type == OP_SPLIT) {
1260 ret = sv_newmortal()Perl_sv_newmortal();
1261#ifndef USE_ITHREADS
1262 if (o->op_private & OPpSPLIT_LEX0x08)
1263#endif
1264 sv_setiv(ret, cPMOPo->op_pmreplrootu.op_pmtargetoff)Perl_sv_setiv( ret,((PMOP*)(o))->op_pmreplrootu.op_pmtargetoff
)
;
1265#ifndef USE_ITHREADS
1266 else {
1267 GV *const target = cPMOPo((PMOP*)(o))->op_pmreplrootu.op_pmtargetgv;
1268 sv_setiv(newSVrv(ret, target ?Perl_sv_setiv( Perl_newSVrv( ret,target ? svclassnames[((svtype
)(((SV*)target)->sv_flags & 0xff))] : "B::SV"),(IV)(target
))
1269 svclassnames[SvTYPE((SV*)target)] : "B::SV"),Perl_sv_setiv( Perl_newSVrv( ret,target ? svclassnames[((svtype
)(((SV*)target)->sv_flags & 0xff))] : "B::SV"),(IV)(target
))
1270 PTR2IV(target))Perl_sv_setiv( Perl_newSVrv( ret,target ? svclassnames[((svtype
)(((SV*)target)->sv_flags & 0xff))] : "B::SV"),(IV)(target
))
;
1271 }
1272#endif
1273 }
1274 else {
1275 OP *const root = cPMOPo((PMOP*)(o))->op_pmreplrootu.op_pmreplroot;
1276 ret = make_op_object(aTHX_ root);
1277 }
1278 break;
1279#ifdef USE_ITHREADS
1280 case 35: /* B::PMOP::pmstashpv */
1281 ret = sv_2mortal(newSVpv(PmopSTASHPV(cPMOPo),0))Perl_sv_2mortal( Perl_newSVpv( ((((((PMOP*)(o)))->op_pmflags
& (1U<<(((0 +12)+2)+5))) ? (((PMOP*)(o)))->op_pmstashstartu
.op_pmstash : ((void*)0)) ? (((((((((PMOP*)(o)))->op_pmflags
& (1U<<(((0 +12)+2)+5))) ? (((PMOP*)(o)))->op_pmstashstartu
.op_pmstash : ((void*)0)))->sv_flags & 0x02000000) &&
((struct xpvhv_aux*)&((((((((PMOP*)(o)))->op_pmflags &
(1U<<(((0 +12)+2)+5))) ? (((PMOP*)(o)))->op_pmstashstartu
.op_pmstash : ((void*)0)))->sv_u.svu_hash)[((XPVHV*) (((((
(PMOP*)(o)))->op_pmflags & (1U<<(((0 +12)+2)+5))
) ? (((PMOP*)(o)))->op_pmstashstartu.op_pmstash : ((void*)
0)))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name
&& ( ((struct xpvhv_aux*)&((((((((PMOP*)(o)))->
op_pmflags & (1U<<(((0 +12)+2)+5))) ? (((PMOP*)(o))
)->op_pmstashstartu.op_pmstash : ((void*)0)))->sv_u.svu_hash
)[((XPVHV*) ((((((PMOP*)(o)))->op_pmflags & (1U<<
(((0 +12)+2)+5))) ? (((PMOP*)(o)))->op_pmstashstartu.op_pmstash
: ((void*)0)))->sv_any)->xhv_max+1]))->xhv_name_count
? *((struct xpvhv_aux*)&((((((((PMOP*)(o)))->op_pmflags
& (1U<<(((0 +12)+2)+5))) ? (((PMOP*)(o)))->op_pmstashstartu
.op_pmstash : ((void*)0)))->sv_u.svu_hash)[((XPVHV*) (((((
(PMOP*)(o)))->op_pmflags & (1U<<(((0 +12)+2)+5))
) ? (((PMOP*)(o)))->op_pmstashstartu.op_pmstash : ((void*)
0)))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names
: ((struct xpvhv_aux*)&((((((((PMOP*)(o)))->op_pmflags
& (1U<<(((0 +12)+2)+5))) ? (((PMOP*)(o)))->op_pmstashstartu
.op_pmstash : ((void*)0)))->sv_u.svu_hash)[((XPVHV*) (((((
(PMOP*)(o)))->op_pmflags & (1U<<(((0 +12)+2)+5))
) ? (((PMOP*)(o)))->op_pmstashstartu.op_pmstash : ((void*)
0)))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name
)) ? (( ((struct xpvhv_aux*)&((((((((PMOP*)(o)))->op_pmflags
& (1U<<(((0 +12)+2)+5))) ? (((PMOP*)(o)))->op_pmstashstartu
.op_pmstash : ((void*)0)))->sv_u.svu_hash)[((XPVHV*) (((((
(PMOP*)(o)))->op_pmflags & (1U<<(((0 +12)+2)+5))
) ? (((PMOP*)(o)))->op_pmstashstartu.op_pmstash : ((void*)
0)))->sv_any)->xhv_max+1]))->xhv_name_count ? *((struct
xpvhv_aux*)&((((((((PMOP*)(o)))->op_pmflags & (1U
<<(((0 +12)+2)+5))) ? (((PMOP*)(o)))->op_pmstashstartu
.op_pmstash : ((void*)0)))->sv_u.svu_hash)[((XPVHV*) (((((
(PMOP*)(o)))->op_pmflags & (1U<<(((0 +12)+2)+5))
) ? (((PMOP*)(o)))->op_pmstashstartu.op_pmstash : ((void*)
0)))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names
: ((struct xpvhv_aux*)&((((((((PMOP*)(o)))->op_pmflags
& (1U<<(((0 +12)+2)+5))) ? (((PMOP*)(o)))->op_pmstashstartu
.op_pmstash : ((void*)0)))->sv_u.svu_hash)[((XPVHV*) (((((
(PMOP*)(o)))->op_pmflags & (1U<<(((0 +12)+2)+5))
) ? (((PMOP*)(o)))->op_pmstashstartu.op_pmstash : ((void*)
0)))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name
))->hek_key : ((void*)0)) : ((void*)0)),0))
;
1282 break;
1283#else
1284 case 36: /* B::PMOP::pmstash */
1285 ret = make_sv_object(aTHX_ (SV *) PmopSTASH(cPMOPo)(((((PMOP*)(o)))->op_pmflags & (1U<<(((0 +12)+2)
+5))) ? (((PMOP*)(o)))->op_pmstashstartu.op_pmstash : ((void
*)0))
);
1286 break;
1287#endif
1288 case 37: /* B::PMOP::precomp */
1289 case 38: /* B::PMOP::reflags */
1290 {
1291 REGEXP *rx = PM_GETRE(cPMOPo)((((PMOP*)(o)))->op_pmregexp);
1292 ret = sv_newmortal()Perl_sv_newmortal();
1293 if (rx) {
1294 if (ix==38) {
1295 sv_setuv(ret, RX_EXTFLAGS(rx))Perl_sv_setuv( ret,((Perl_ReANY((const REGEXP *)(rx)))->extflags
))
;
1296 }
1297 else {
1298 sv_setpvn(ret, RX_PRECOMP(rx), RX_PRELEN(rx))Perl_sv_setpvn( ret,(((rx)->sv_u.svu_pv) + Perl_ReANY((const
REGEXP *)(rx))->pre_prefix),(((XPV*) (rx)->sv_any)->
xpv_cur - Perl_ReANY((const REGEXP *)(rx))->pre_prefix - 1
))
;
1299 if (RX_UTF8(rx)((rx)->sv_flags & 0x20000000))
1300 SvUTF8_on(ret)((ret)->sv_flags |= (0x20000000));
1301 }
1302 }
1303 }
1304 break;
1305 case 39: /* B::PADOP::sv */
1306 case 40: /* B::PADOP::gv */
1307 /* PADOPs should only be created on threaded builds.
1308 * They don't have an sv or gv field, just an op_padix
1309 * field. Leave it to the caller to retrieve padix
1310 * and look up th value in the pad. Don't do it here,
1311 * becuase PL_curpad is the pad of the caller, not the
1312 * pad of the sub the op is part of */
1313 ret = make_sv_object(aTHX_ NULL((void*)0));
1314 break;
1315 case 41: /* B::PVOP::pv */
1316 /* OP_TRANS uses op_pv to point to a OPtrans_map struct,
1317 * whereas other PVOPs point to a null terminated string.
1318 * For trans, for now just return the whole struct as a
1319 * string and let the caller unpack() it */
1320 if ( cPVOPo((PVOP*)(o))->op_type == OP_TRANS
1321 || cPVOPo((PVOP*)(o))->op_type == OP_TRANSR)
1322 {
1323 const OPtrans_map *const tbl = (OPtrans_map*)cPVOPo((PVOP*)(o))->op_pv;
1324 ret = newSVpvn_flags(cPVOPo->op_pv,Perl_newSVpvn_flags( ((PVOP*)(o))->op_pv,(char*)(&tbl->
map[tbl->size + 1]) - (char*)tbl,0x00080000)
1325 (char*)(&tbl->map[tbl->size + 1])Perl_newSVpvn_flags( ((PVOP*)(o))->op_pv,(char*)(&tbl->
map[tbl->size + 1]) - (char*)tbl,0x00080000)
1326 - (char*)tbl,Perl_newSVpvn_flags( ((PVOP*)(o))->op_pv,(char*)(&tbl->
map[tbl->size + 1]) - (char*)tbl,0x00080000)
1327 SVs_TEMP)Perl_newSVpvn_flags( ((PVOP*)(o))->op_pv,(char*)(&tbl->
map[tbl->size + 1]) - (char*)tbl,0x00080000)
;
1328 }
1329 else
1330 ret = newSVpvn_flags(cPVOPo->op_pv, strlen(cPVOPo->op_pv), SVs_TEMP)Perl_newSVpvn_flags( ((PVOP*)(o))->op_pv,strlen(((PVOP*)(o
))->op_pv),0x00080000)
;
1331 break;
1332 case 42: /* B::COP::label */
1333 ret = sv_2mortal(newSVpv(CopLABEL(cCOPo),0))Perl_sv_2mortal( Perl_newSVpv( Perl_cop_fetch_label( (((COP*)
(o))), ((void*)0), ((void*)0)),0))
;
1334 break;
1335 case 43: /* B::COP::arybase */
1336 ret = sv_2mortal(newSVuv(0))Perl_sv_2mortal( Perl_newSVuv( 0));
1337 break;
1338 case 44: /* B::COP::warnings */
1339 ret = make_warnings_object(aTHX_ cCOPo((COP*)(o)));
1340 break;
1341 case 45: /* B::COP::io */
1342 ret = make_cop_io_object(aTHX_ cCOPo((COP*)(o)));
1343 break;
1344 case 46: /* B::COP::hints_hash */
1345 ret = sv_newmortal()Perl_sv_newmortal();
1346 sv_setiv(newSVrv(ret, "B::RHE"),Perl_sv_setiv( Perl_newSVrv( ret,"B::RHE"),(IV)(((COPHH*)((((
COP*)(o)))->cop_hints_hash))))
1347 PTR2IV(CopHINTHASH_get(cCOPo)))Perl_sv_setiv( Perl_newSVrv( ret,"B::RHE"),(IV)(((COPHH*)((((
COP*)(o)))->cop_hints_hash))))
;
1348 break;
1349 case 52: /* B::OP::parent */
1350#ifdef PERL_OP_PARENT
1351 ret = make_op_object(aTHX_ op_parentPerl_op_parent(o));
1352#else
1353 ret = make_op_object(aTHX_ NULL((void*)0));
1354#endif
1355 break;
1356 case 53: /* B::METHOP::first */
1357 /* METHOP struct has an op_first/op_meth_sv union
1358 * as its first extra field. How to interpret the
1359 * union depends on the op type. For the purposes of
1360 * B, we treat it as a struct with both fields present,
1361 * where one of the fields always happens to be null
1362 * (i.e. we return NULL in preference to croaking with
1363 * 'method not implemented').
1364 */
1365 ret = make_op_object(aTHX_
1366 o->op_type == OP_METHOD
1367 ? cMETHOPx(o)((METHOP*)(o))->op_u.op_first : NULL((void*)0));
1368 break;
1369 case 54: /* B::METHOP::meth_sv */
1370 /* see comment above about METHOP */
1371 ret = make_sv_object(aTHX_
1372 o->op_type == OP_METHOD
1373 ? NULL((void*)0) : cMETHOPx(o)((METHOP*)(o))->op_u.op_meth_sv);
1374 break;
1375 case 55: /* B::PMOP::pmregexp */
1376 ret = make_sv_object(aTHX_ (SV *)PM_GETRE(cPMOPo)((((PMOP*)(o)))->op_pmregexp));
1377 break;
1378 case 56: /* B::METHOP::rclass */
1379#ifdef USE_ITHREADS
1380 ret = sv_2mortal(newSVuv(Perl_sv_2mortal( Perl_newSVuv( (o->op_type == OP_METHOD_REDIR
|| o->op_type == OP_METHOD_REDIR_SUPER) ? ((METHOP*)(o))->
op_rclass_targ : 0))
1381 (o->op_type == OP_METHOD_REDIR ||Perl_sv_2mortal( Perl_newSVuv( (o->op_type == OP_METHOD_REDIR
|| o->op_type == OP_METHOD_REDIR_SUPER) ? ((METHOP*)(o))->
op_rclass_targ : 0))
1382 o->op_type == OP_METHOD_REDIR_SUPER) ?Perl_sv_2mortal( Perl_newSVuv( (o->op_type == OP_METHOD_REDIR
|| o->op_type == OP_METHOD_REDIR_SUPER) ? ((METHOP*)(o))->
op_rclass_targ : 0))
1383 cMETHOPx(o)->op_rclass_targ : 0Perl_sv_2mortal( Perl_newSVuv( (o->op_type == OP_METHOD_REDIR
|| o->op_type == OP_METHOD_REDIR_SUPER) ? ((METHOP*)(o))->
op_rclass_targ : 0))
1384 ))Perl_sv_2mortal( Perl_newSVuv( (o->op_type == OP_METHOD_REDIR
|| o->op_type == OP_METHOD_REDIR_SUPER) ? ((METHOP*)(o))->
op_rclass_targ : 0))
;
1385#else
1386 ret = make_sv_object(aTHX_
1387 (o->op_type == OP_METHOD_REDIR ||
1388 o->op_type == OP_METHOD_REDIR_SUPER) ?
1389 cMETHOPx(o)((METHOP*)(o))->op_rclass_sv : NULL((void*)0)
1390 );
1391#endif
1392 break;
1393 default:
1394 croakPerl_croak("method %s not implemented", op_methods[ix].name);
1395 } else {
1396 /* do a direct structure offset lookup */
1397 const char *const ptr = (char *)o + op_methods[ix].offset;
1398 switch (op_methods[ix].type) {
1399 case OPp0x3:
1400 ret = make_op_object(aTHX_ *((OP **)ptr));
1401 break;
1402 case PADOFFSETp0x4:
1403 ret = sv_2mortal(newSVuv(*((PADOFFSET*)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((PADOFFSET*)ptr)));
1404 break;
1405 case U8p0x5:
1406 ret = sv_2mortal(newSVuv(*((U8*)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((U8*)ptr)));
1407 break;
1408 case U32p0x1:
1409 ret = sv_2mortal(newSVuv(*((U32*)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((U32*)ptr)));
1410 break;
1411 case SVp0x0:
1412 ret = make_sv_object(aTHX_ *((SV **)ptr));
1413 break;
1414 case line_tp0x2:
1415 ret = sv_2mortal(newSVuv(*((line_t *)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((line_t *)ptr)));
1416 break;
1417 case IVp0x6:
1418 ret = sv_2mortal(newSViv(*((IV*)ptr)))Perl_sv_2mortal( Perl_newSViv( *((IV*)ptr)));
1419 break;
1420 case char_pp0x7:
1421 ret = sv_2mortal(newSVpv(*((char **)ptr), 0))Perl_sv_2mortal( Perl_newSVpv( *((char **)ptr),0));
1422 break;
1423 default:
1424 croakPerl_croak("Illegal type 0x%x for B::*OP::%s",
1425 (unsigned)op_methods[ix].type, op_methods[ix].name);
1426 }
1427 }
1428 ST(0)PL_stack_base[ax + (0)] = ret;
1429 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1430#line 1431 "B.c"
1431 PUTBACKPL_stack_sp = sp;
1432 return;
1433 }
1434}
1435
1436
1437XS_EUPXS(XS_B__OP_oplist)static void XS_B__OP_oplist( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1438XS_EUPXS(XS_B__OP_oplist)static void XS_B__OP_oplist( CV* cv __attribute__((unused)))
1439{
1440 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1441 if (items != 1)
1442 croak_xs_usagePerl_croak_xs_usage(cv, "o");
1443 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1444 SPsp -= items;
1445 {
1446 B__OP o;
1447
1448 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
1449 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1450 o = INT2PTR(B__OP,tmp)(B__OP)(tmp);
1451 }
1452 else
1453 croakPerl_croak("o is not a reference")
1454;
1455#line 1141 "B.xs"
1456 SPsp = oplist(aTHX_ o, SPsp);
1457#line 1458 "B.c"
1458 PUTBACKPL_stack_sp = sp;
1459 return;
1460 }
1461}
1462
1463
1464XS_EUPXS(XS_B__UNOP_AUX_string)static void XS_B__UNOP_AUX_string( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1465XS_EUPXS(XS_B__UNOP_AUX_string)static void XS_B__UNOP_AUX_string( CV* cv __attribute__((unused
)))
1466{
1467 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1468 if (items != 2)
1469 croak_xs_usagePerl_croak_xs_usage(cv, "o, cv");
1470 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1471 SPsp -= items;
1472 {
1473 B__OP o;
1474 B__CV cv;
1475#line 1161 "B.xs"
1476 SV *ret;
1477 UNOP_AUX_item *aux;
1478#line 1479 "B.c"
1479
1480 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
1481 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1482 o = INT2PTR(B__OP,tmp)(B__OP)(tmp);
1483 }
1484 else
1485 croakPerl_croak("o is not a reference")
1486;
1487
1488 if (SvROK(ST(1))((PL_stack_base[ax + (1)])->sv_flags & 0x00000800)) {
1489 IV tmp = SvIV((SV*)SvRV(ST(1)))(((((SV*)((PL_stack_base[ax + (1)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (1)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
1)])->sv_u.svu_rv),2))
;
1490 cv = INT2PTR(B__CV,tmp)(B__CV)(tmp);
1491 }
1492 else
1493 croakPerl_croak("cv is not a reference")
1494;
1495#line 1164 "B.xs"
1496 aux = cUNOP_AUXo((UNOP_AUX*)(o))->op_aux;
1497 switch (o->op_type) {
1498 case OP_MULTICONCAT:
1499 ret = multiconcat_stringify(o)Perl_multiconcat_stringify( o);
1500 break;
1501
1502 case OP_MULTIDEREF:
1503 ret = multideref_stringify(o, cv)Perl_multideref_stringify( o,cv);
1504 break;
1505
1506 case OP_ARGELEM:
1507 ret = sv_2mortal(Perl_newSVpvf(aTHX_ "%" IVdf,Perl_sv_2mortal( Perl_newSVpvf( "%" "ld", (IV)(aux)))
1508 PTR2IV(aux)))Perl_sv_2mortal( Perl_newSVpvf( "%" "ld", (IV)(aux)));
1509 break;
1510
1511 case OP_ARGCHECK:
1512 {
1513 struct op_argcheck_aux *p = (struct op_argcheck_aux*)aux;
1514 ret = Perl_newSVpvf(aTHX_ "%" IVdf"ld" ",%" IVdf"ld",
1515 p->params, p->opt_params);
1516 if (p->slurpy)
1517 Perl_sv_catpvf(aTHX_ ret, ",%c", p->slurpy);
1518 ret = sv_2mortal(ret)Perl_sv_2mortal( ret);
1519 break;
1520 }
1521
1522 default:
1523 ret = sv_2mortal(newSVpvn("", 0))Perl_sv_2mortal( Perl_newSVpvn( "",0));
1524 }
1525
1526 ST(0)PL_stack_base[ax + (0)] = ret;
1527 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1528#line 1529 "B.c"
1529 PUTBACKPL_stack_sp = sp;
1530 return;
1531 }
1532}
1533
1534
1535XS_EUPXS(XS_B__UNOP_AUX_aux_list)static void XS_B__UNOP_AUX_aux_list( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1536XS_EUPXS(XS_B__UNOP_AUX_aux_list)static void XS_B__UNOP_AUX_aux_list( CV* cv __attribute__((unused
)))
1537{
1538 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1539 if (items != 2)
1540 croak_xs_usagePerl_croak_xs_usage(cv, "o, cv");
1541 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1542 SPsp -= items;
1543 {
1544 B__OP o;
1545 B__CV cv;
1546#line 1208 "B.xs"
1547 UNOP_AUX_item *aux;
1548#line 1549 "B.c"
1549
1550 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
1551 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1552 o = INT2PTR(B__OP,tmp)(B__OP)(tmp);
1553 }
1554 else
1555 croakPerl_croak("o is not a reference")
1556;
1557
1558 if (SvROK(ST(1))((PL_stack_base[ax + (1)])->sv_flags & 0x00000800)) {
1559 IV tmp = SvIV((SV*)SvRV(ST(1)))(((((SV*)((PL_stack_base[ax + (1)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (1)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
1)])->sv_u.svu_rv),2))
;
1560 cv = INT2PTR(B__CV,tmp)(B__CV)(tmp);
1561 }
1562 else
1563 croakPerl_croak("cv is not a reference")
1564;
1565#line 1210 "B.xs"
1566 PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* not needed on unthreaded builds */
1567 aux = cUNOP_AUXo((UNOP_AUX*)(o))->op_aux;
1568 switch (o->op_type) {
1569 default:
1570 XSRETURN(0)do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
; /* by default, an empty list */
1571
1572 case OP_ARGELEM:
1573 XPUSHs(sv_2mortal(newSViv(PTR2IV(aux))))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (Perl_sv_2mortal( Perl_newSViv( (IV)(aux)))); } while (
0)
;
1574 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1575 break;
1576
1577 case OP_ARGCHECK:
1578 {
1579 struct op_argcheck_aux *p = (struct op_argcheck_aux*)aux;
1580 EXTEND(SP, 3)do { (void)0; if (__builtin_expect(((((3) < 0 || PL_stack_max
- (sp) < (3))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(3) > sizeof(ssize_t) && ((ssize_t)
(3) != (3)) ? -1 : (3))); ((void)sizeof(sp)); } } while (0)
;
1581 PUSHs(sv_2mortal(newSViv(p->params)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( p->params))));
1582 PUSHs(sv_2mortal(newSViv(p->opt_params)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( p->opt_params))));
1583 PUSHs(sv_2mortal(p->slurpy(*++sp = (Perl_sv_2mortal( p->slurpy ? Perl_newSVpvf( "%c"
, p->slurpy) : &(PL_sv_immortals[2]))))
1584 ? Perl_newSVpvf(aTHX_ "%c", p->slurpy)(*++sp = (Perl_sv_2mortal( p->slurpy ? Perl_newSVpvf( "%c"
, p->slurpy) : &(PL_sv_immortals[2]))))
1585 : &PL_sv_no))(*++sp = (Perl_sv_2mortal( p->slurpy ? Perl_newSVpvf( "%c"
, p->slurpy) : &(PL_sv_immortals[2]))))
;
1586 break;
1587 }
1588
1589 case OP_MULTICONCAT:
1590 {
1591 SSize_tssize_t nargs;
1592 char *p;
1593 STRLEN len;
1594 U32 utf8 = 0;
1595 SV *sv;
1596 UNOP_AUX_item *lens;
1597
1598 /* return (nargs, const string, segment len 0, 1, 2, ...) */
1599
1600 /* if this changes, this block of code probably needs fixing */
1601 assert(PERL_MULTICONCAT_HEADER_SIZE == 5)((void)0);
1602 nargs = aux[PERL_MULTICONCAT_IX_NARGS0].ssize;
1603 EXTEND(SP, ((SSize_t)(2 + (nargs+1))))do { (void)0; if (__builtin_expect(((((((ssize_t)(2 + (nargs+
1)))) < 0 || PL_stack_max - (sp) < (((ssize_t)(2 + (nargs
+1)))))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow(
sp,sp,(sizeof(((ssize_t)(2 + (nargs+1)))) > sizeof(ssize_t
) && ((ssize_t)(((ssize_t)(2 + (nargs+1)))) != (((ssize_t
)(2 + (nargs+1))))) ? -1 : (((ssize_t)(2 + (nargs+1)))))); ((
void)sizeof(sp)); } } while (0)
;
1604 PUSHs(sv_2mortal(newSViv((IV)nargs)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( (IV)nargs))));
1605
1606 p = aux[PERL_MULTICONCAT_IX_PLAIN_PV1].pv;
1607 len = aux[PERL_MULTICONCAT_IX_PLAIN_LEN2].ssize;
1608 if (!p) {
1609 p = aux[PERL_MULTICONCAT_IX_UTF8_PV3].pv;
1610 len = aux[PERL_MULTICONCAT_IX_UTF8_LEN4].ssize;
1611 utf8 = SVf_UTF80x20000000;
1612 }
1613 sv = newSVpvn(p, len)Perl_newSVpvn( p,len);
1614 SvFLAGS(sv)(sv)->sv_flags |= utf8;
1615 PUSHs(sv_2mortal(sv))(*++sp = (Perl_sv_2mortal( sv)));
1616
1617 lens = aux + PERL_MULTICONCAT_IX_LENGTHS5;
1618 nargs++; /* loop (nargs+1) times */
1619 if (utf8) {
1620 U8 *p = (U8*)SvPVX(sv)((sv)->sv_u.svu_pv);
1621 while (nargs--) {
1622 SSize_tssize_t bytes = lens->ssize;
1623 SSize_tssize_t chars;
1624 if (bytes <= 0)
1625 chars = bytes;
1626 else {
1627 /* return char lengths rather than byte lengths */
1628 chars = utf8_length(p, p + bytes)Perl_utf8_length( p,p + bytes);
1629 p += bytes;
1630 }
1631 lens++;
1632 PUSHs(sv_2mortal(newSViv(chars)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( chars))));
1633 }
1634 }
1635 else {
1636 while (nargs--) {
1637 PUSHs(sv_2mortal(newSViv(lens->ssize)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( lens->ssize))));
1638 lens++;
1639 }
1640 }
1641 break;
1642 }
1643
1644 case OP_MULTIDEREF:
1645#ifdef USE_ITHREADS
1646# define ITEM_SV(item)((item)->sv); *av_fetch(comppad, (item)->pad_offset, FALSE)Perl_av_fetch( comppad,(item)->pad_offset,(0));
1647#else
1648# define ITEM_SV(item)((item)->sv); UNOP_AUX_item_sv(item)((item)->sv);
1649#endif
1650 {
1651 UNOP_AUX_item *items = cUNOP_AUXo((UNOP_AUX*)(o))->op_aux;
1652 UV actions = items->uv;
1653 UV len = items[-1].uv;
1654 SV *sv;
1655 bool_Bool last = 0;
1656 bool_Bool is_hash = FALSE(0);
1657#ifdef USE_ITHREADS
1658 PADLIST * const padlist = CvPADLIST(cv)(*( &(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_padlist_u.xcv_padlist)))
;
1659 PAD *comppad = PadlistARRAY(padlist)(padlist)->xpadl_arr.xpadlarr_alloc[1];
1660#endif
1661
1662 /* len should never be big enough to truncate or wrap */
1663 assert(len <= SSize_t_MAX)((void)0);
1664 EXTEND(SP, (SSize_t)len)do { (void)0; if (__builtin_expect((((((ssize_t)len) < 0 ||
PL_stack_max - (sp) < ((ssize_t)len))) ? (_Bool)1 : (_Bool
)0),(0))) { sp = Perl_stack_grow( sp,sp,(sizeof((ssize_t)len)
> sizeof(ssize_t) && ((ssize_t)((ssize_t)len) != (
(ssize_t)len)) ? -1 : ((ssize_t)len))); ((void)sizeof(sp)); }
} while (0)
;
1665 PUSHs(sv_2mortal(newSViv(actions)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( actions))));
1666
1667 while (!last) {
1668 switch (actions & MDEREF_ACTION_MASK0xf) {
1669
1670 case MDEREF_reload0:
1671 actions = (++items)->uv;
1672 PUSHs(sv_2mortal(newSVuv(actions)))(*++sp = (Perl_sv_2mortal( Perl_newSVuv( actions))));
1673 continue;
1674 NOT_REACHED((!"UNREACHABLE") ? (void) 0 : __builtin_unreachable()); /* NOTREACHED */
1675
1676 case MDEREF_HV_padhv_helem12:
1677 is_hash = TRUE(1);
1678 /* FALLTHROUGH */
1679 case MDEREF_AV_padav_aelem5:
1680 PUSHs(sv_2mortal(newSVuv((++items)->pad_offset)))(*++sp = (Perl_sv_2mortal( Perl_newSVuv( (++items)->pad_offset
))))
;
1681 goto do_elem;
1682 NOT_REACHED((!"UNREACHABLE") ? (void) 0 : __builtin_unreachable()); /* NOTREACHED */
1683
1684 case MDEREF_HV_gvhv_helem13:
1685 is_hash = TRUE(1);
1686 /* FALLTHROUGH */
1687 case MDEREF_AV_gvav_aelem6:
1688 sv = ITEM_SV(++items)((++items)->sv);;
1689 PUSHs(make_sv_object(aTHX_ sv))(*++sp = (make_sv_object( sv)));
1690 goto do_elem;
1691 NOT_REACHED((!"UNREACHABLE") ? (void) 0 : __builtin_unreachable()); /* NOTREACHED */
1692
1693 case MDEREF_HV_gvsv_vivify_rv2hv_helem9:
1694 is_hash = TRUE(1);
1695 /* FALLTHROUGH */
1696 case MDEREF_AV_gvsv_vivify_rv2av_aelem2:
1697 sv = ITEM_SV(++items)((++items)->sv);;
1698 PUSHs(make_sv_object(aTHX_ sv))(*++sp = (make_sv_object( sv)));
1699 goto do_vivify_rv2xv_elem;
1700 NOT_REACHED((!"UNREACHABLE") ? (void) 0 : __builtin_unreachable()); /* NOTREACHED */
1701
1702 case MDEREF_HV_padsv_vivify_rv2hv_helem10:
1703 is_hash = TRUE(1);
1704 /* FALLTHROUGH */
1705 case MDEREF_AV_padsv_vivify_rv2av_aelem3:
1706 PUSHs(sv_2mortal(newSVuv((++items)->pad_offset)))(*++sp = (Perl_sv_2mortal( Perl_newSVuv( (++items)->pad_offset
))))
;
1707 goto do_vivify_rv2xv_elem;
1708 NOT_REACHED((!"UNREACHABLE") ? (void) 0 : __builtin_unreachable()); /* NOTREACHED */
1709
1710 case MDEREF_HV_pop_rv2hv_helem8:
1711 case MDEREF_HV_vivify_rv2hv_helem11:
1712 is_hash = TRUE(1);
1713 /* FALLTHROUGH */
1714 do_vivify_rv2xv_elem:
1715 case MDEREF_AV_pop_rv2av_aelem1:
1716 case MDEREF_AV_vivify_rv2av_aelem4:
1717 do_elem:
1718 switch (actions & MDEREF_INDEX_MASK0x30) {
1719 case MDEREF_INDEX_none0x00:
1720 last = 1;
1721 break;
1722 case MDEREF_INDEX_const0x10:
1723 if (is_hash) {
1724 sv = ITEM_SV(++items)((++items)->sv);;
1725 PUSHs(make_sv_object(aTHX_ sv))(*++sp = (make_sv_object( sv)));
1726 }
1727 else
1728 PUSHs(sv_2mortal(newSViv((++items)->iv)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( (++items)->iv))));
1729 break;
1730 case MDEREF_INDEX_padsv0x20:
1731 PUSHs(sv_2mortal(newSVuv((++items)->pad_offset)))(*++sp = (Perl_sv_2mortal( Perl_newSVuv( (++items)->pad_offset
))))
;
1732 break;
1733 case MDEREF_INDEX_gvsv0x30:
1734 sv = ITEM_SV(++items)((++items)->sv);;
1735 PUSHs(make_sv_object(aTHX_ sv))(*++sp = (make_sv_object( sv)));
1736 break;
1737 }
1738 if (actions & MDEREF_FLAG_last0x40)
1739 last = 1;
1740 is_hash = FALSE(0);
1741
1742 break;
1743 } /* switch */
1744
1745 actions >>= MDEREF_SHIFT7;
1746 } /* while */
1747 XSRETURN(len)do { const IV tmpXSoff = (len); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1748
1749 } /* OP_MULTIDEREF */
1750 } /* switch */
1751#line 1752 "B.c"
1752 PUTBACKPL_stack_sp = sp;
1753 return;
1754 }
1755}
1756
1757#define MAGICAL_FLAG_BITS(0x00200000|0x00400000|0x00800000) (SVs_GMG0x00200000|SVs_SMG0x00400000|SVs_RMG0x00800000)
1758
1759XS_EUPXS(XS_B__SV_REFCNT)static void XS_B__SV_REFCNT( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1760XS_EUPXS(XS_B__SV_REFCNT)static void XS_B__SV_REFCNT( CV* cv __attribute__((unused)))
1761{
1762 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1763 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
1764 if (items != 1)
1765 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
1766 {
1767 B__SV sv;
1768 U32 RETVAL;
1769 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1770
1771 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
1772 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1773 sv = INT2PTR(B__SV,tmp)(B__SV)(tmp);
1774 }
1775 else
1776 croakPerl_croak("sv is not a reference")
1777;
1778#line 1412 "B.xs"
1779 RETVAL = ix ? (SvFLAGS(sv)(sv)->sv_flags & (U32)ix) : SvREFCNT(sv)(sv)->sv_refcnt;
1780#line 1781 "B.c"
1781 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
1782 }
1783 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1784}
1785
1786
1787XS_EUPXS(XS_B__SV_object_2svref)static void XS_B__SV_object_2svref( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1788XS_EUPXS(XS_B__SV_object_2svref)static void XS_B__SV_object_2svref( CV* cv __attribute__((unused
)))
1789{
1790 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1791 if (items != 1)
1792 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
1793 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1794 SPsp -= items;
1795 {
1796 B__SV sv;
1797
1798 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
1799 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1800 sv = INT2PTR(B__SV,tmp)(B__SV)(tmp);
1801 }
1802 else
1803 croakPerl_croak("sv is not a reference")
1804;
1805#line 1420 "B.xs"
1806 ST(0)PL_stack_base[ax + (0)] = sv_2mortal(newRV(sv))Perl_sv_2mortal( Perl_newRV( sv));
1807 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1808#line 1809 "B.c"
1809 PUTBACKPL_stack_sp = sp;
1810 return;
1811 }
1812}
1813
1814
1815XS_EUPXS(XS_B__IV_IV)static void XS_B__IV_IV( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1816XS_EUPXS(XS_B__IV_IV)static void XS_B__IV_IV( CV* cv __attribute__((unused)))
1817{
1818 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1819 if (items != 1)
1820 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
1821 {
1822 B__IV sv;
1823 IV RETVAL;
1824 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1825
1826 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
1827 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1828 sv = INT2PTR(B__IV,tmp)(B__IV)(tmp);
1829 }
1830 else
1831 croakPerl_croak("sv is not a reference")
1832;
1833
1834 RETVAL = SvIV(sv)((((sv)->sv_flags & (0x00000100|0x00200000)) == 0x00000100
) ? ((XPVIV*) (sv)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags
( sv,2))
;
1835 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
1836 }
1837 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1838}
1839
1840#define sv_SVp0x00000 0x00000
1841#define sv_IVp0x10000 0x10000
1842#define sv_UVp0x20000 0x20000
1843#define sv_STRLENp0x30000 0x30000
1844#define sv_U32p0x40000 0x40000
1845#define sv_U8p0x50000 0x50000
1846#define sv_char_pp0x60000 0x60000
1847#define sv_NVp0x70000 0x70000
1848#define sv_char_p0x80000 0x80000
1849#define sv_SSize_tp0x90000 0x90000
1850#define sv_I32p0xA0000 0xA0000
1851#define sv_U16p0xB0000 0xB0000
1852#define IV_ivx_ix0x10000 | __builtin_offsetof(struct xpviv, xiv_u.xivu_iv) sv_IVp0x10000 | STRUCT_OFFSET(struct xpviv, xiv_iv)__builtin_offsetof(struct xpviv, xiv_u.xivu_iv)
1853#define IV_uvx_ix0x20000 | __builtin_offsetof(struct xpvuv, xuv_u.xivu_uv) sv_UVp0x20000 | STRUCT_OFFSET(struct xpvuv, xuv_uv)__builtin_offsetof(struct xpvuv, xuv_u.xivu_uv)
1854#define NV_nvx_ix0x70000 | __builtin_offsetof(struct xpvnv, xnv_u.xnv_nv) sv_NVp0x70000 | STRUCT_OFFSET(struct xpvnv, xnv_u.xnv_nv)__builtin_offsetof(struct xpvnv, xnv_u.xnv_nv)
1855#define PV_cur_ix0x30000 | __builtin_offsetof(struct xpv, xpv_cur) sv_STRLENp0x30000 | STRUCT_OFFSET(struct xpv, xpv_cur)__builtin_offsetof(struct xpv, xpv_cur)
1856#define PV_len_ix0x30000 | __builtin_offsetof(struct xpv, xpv_len_u.xpvlenu_len
)
sv_STRLENp0x30000 | STRUCT_OFFSET(struct xpv, xpv_len)__builtin_offsetof(struct xpv, xpv_len_u.xpvlenu_len)
1857#define PVMG_stash_ix0x00000 | __builtin_offsetof(struct xpvmg, xmg_stash) sv_SVp0x00000 | STRUCT_OFFSET(struct xpvmg, xmg_stash)__builtin_offsetof(struct xpvmg, xmg_stash)
1858#define PVBM_useful_ix0x10000 | __builtin_offsetof(struct xpviv, xiv_u.xivu_iv) sv_IVp0x10000 | STRUCT_OFFSET(struct xpviv, xiv_u.xivu_iv)__builtin_offsetof(struct xpviv, xiv_u.xivu_iv)
1859#define PVLV_targoff_ix0x40000 | __builtin_offsetof(struct xpvlv, xlv_targoff_u.xlvu_targoff
)
sv_U32p0x40000 | STRUCT_OFFSET(struct xpvlv, xlv_targoff)__builtin_offsetof(struct xpvlv, xlv_targoff_u.xlvu_targoff)
1860#define PVLV_targlen_ix0x40000 | __builtin_offsetof(struct xpvlv, xlv_targlen) sv_U32p0x40000 | STRUCT_OFFSET(struct xpvlv, xlv_targlen)__builtin_offsetof(struct xpvlv, xlv_targlen)
1861#define PVLV_targ_ix0x00000 | __builtin_offsetof(struct xpvlv, xlv_targ) sv_SVp0x00000 | STRUCT_OFFSET(struct xpvlv, xlv_targ)__builtin_offsetof(struct xpvlv, xlv_targ)
1862#define PVLV_type_ix0x80000 | __builtin_offsetof(struct xpvlv, xlv_type) sv_char_p0x80000 | STRUCT_OFFSET(struct xpvlv, xlv_type)__builtin_offsetof(struct xpvlv, xlv_type)
1863#define PVGV_stash_ix0x00000 | __builtin_offsetof(struct xpvgv, xnv_u.xgv_stash) sv_SVp0x00000 | STRUCT_OFFSET(struct xpvgv, xnv_u.xgv_stash)__builtin_offsetof(struct xpvgv, xnv_u.xgv_stash)
1864#define PVGV_flags_ix0x30000 | __builtin_offsetof(struct xpvgv, xpv_cur) sv_STRLENp0x30000 | STRUCT_OFFSET(struct xpvgv, xpv_cur)__builtin_offsetof(struct xpvgv, xpv_cur)
1865#define PVIO_lines_ix0x10000 | __builtin_offsetof(struct xpvio, xiv_u.xivu_iv) sv_IVp0x10000 | STRUCT_OFFSET(struct xpvio, xiv_iv)__builtin_offsetof(struct xpvio, xiv_u.xivu_iv)
1866#define PVIO_page_ix0x10000 | __builtin_offsetof(struct xpvio, xio_page) sv_IVp0x10000 | STRUCT_OFFSET(struct xpvio, xio_page)__builtin_offsetof(struct xpvio, xio_page)
1867#define PVIO_page_len_ix0x10000 | __builtin_offsetof(struct xpvio, xio_page_len) sv_IVp0x10000 | STRUCT_OFFSET(struct xpvio, xio_page_len)__builtin_offsetof(struct xpvio, xio_page_len)
1868#define PVIO_lines_left_ix0x10000 | __builtin_offsetof(struct xpvio, xio_lines_left) sv_IVp0x10000 | STRUCT_OFFSET(struct xpvio, xio_lines_left)__builtin_offsetof(struct xpvio, xio_lines_left)
1869#define PVIO_top_name_ix0x60000 | __builtin_offsetof(struct xpvio, xio_top_name) sv_char_pp0x60000 | STRUCT_OFFSET(struct xpvio, xio_top_name)__builtin_offsetof(struct xpvio, xio_top_name)
1870#define PVIO_top_gv_ix0x00000 | __builtin_offsetof(struct xpvio, xio_top_gv) sv_SVp0x00000 | STRUCT_OFFSET(struct xpvio, xio_top_gv)__builtin_offsetof(struct xpvio, xio_top_gv)
1871#define PVIO_fmt_name_ix0x60000 | __builtin_offsetof(struct xpvio, xio_fmt_name) sv_char_pp0x60000 | STRUCT_OFFSET(struct xpvio, xio_fmt_name)__builtin_offsetof(struct xpvio, xio_fmt_name)
1872#define PVIO_fmt_gv_ix0x00000 | __builtin_offsetof(struct xpvio, xio_fmt_gv) sv_SVp0x00000 | STRUCT_OFFSET(struct xpvio, xio_fmt_gv)__builtin_offsetof(struct xpvio, xio_fmt_gv)
1873#define PVIO_bottom_name_ix0x60000 | __builtin_offsetof(struct xpvio, xio_bottom_name) sv_char_pp0x60000 | STRUCT_OFFSET(struct xpvio, xio_bottom_name)__builtin_offsetof(struct xpvio, xio_bottom_name)
1874#define PVIO_bottom_gv_ix0x00000 | __builtin_offsetof(struct xpvio, xio_bottom_gv) sv_SVp0x00000 | STRUCT_OFFSET(struct xpvio, xio_bottom_gv)__builtin_offsetof(struct xpvio, xio_bottom_gv)
1875#define PVIO_type_ix0x80000 | __builtin_offsetof(struct xpvio, xio_type) sv_char_p0x80000 | STRUCT_OFFSET(struct xpvio, xio_type)__builtin_offsetof(struct xpvio, xio_type)
1876#define PVIO_flags_ix0x50000 | __builtin_offsetof(struct xpvio, xio_flags) sv_U8p0x50000 | STRUCT_OFFSET(struct xpvio, xio_flags)__builtin_offsetof(struct xpvio, xio_flags)
1877#define PVAV_max_ix0x90000 | __builtin_offsetof(struct xpvav, xav_max) sv_SSize_tp0x90000 | STRUCT_OFFSET(struct xpvav, xav_max)__builtin_offsetof(struct xpvav, xav_max)
1878#define PVCV_stash_ix0x00000 | __builtin_offsetof(struct xpvcv, xcv_stash) sv_SVp0x00000 | STRUCT_OFFSET(struct xpvcv, xcv_stash)__builtin_offsetof(struct xpvcv, xcv_stash)
1879#define PVCV_gv_ix0x00000 | __builtin_offsetof(struct xpvcv, xcv_gv_u.xcv_gv) sv_SVp0x00000 | STRUCT_OFFSET(struct xpvcv, xcv_gv_u.xcv_gv)__builtin_offsetof(struct xpvcv, xcv_gv_u.xcv_gv)
1880#define PVCV_file_ix0x60000 | __builtin_offsetof(struct xpvcv, xcv_file) sv_char_pp0x60000 | STRUCT_OFFSET(struct xpvcv, xcv_file)__builtin_offsetof(struct xpvcv, xcv_file)
1881#define PVCV_outside_ix0x00000 | __builtin_offsetof(struct xpvcv, xcv_outside) sv_SVp0x00000 | STRUCT_OFFSET(struct xpvcv, xcv_outside)__builtin_offsetof(struct xpvcv, xcv_outside)
1882#define PVCV_outside_seq_ix0x40000 | __builtin_offsetof(struct xpvcv, xcv_outside_seq) sv_U32p0x40000 | STRUCT_OFFSET(struct xpvcv, xcv_outside_seq)__builtin_offsetof(struct xpvcv, xcv_outside_seq)
1883#define PVCV_flags_ix0x40000 | __builtin_offsetof(struct xpvcv, xcv_flags) sv_U32p0x40000 | STRUCT_OFFSET(struct xpvcv, xcv_flags)__builtin_offsetof(struct xpvcv, xcv_flags)
1884#define PVHV_max_ix0x30000 | __builtin_offsetof(struct xpvhv, xhv_max) sv_STRLENp0x30000 | STRUCT_OFFSET(struct xpvhv, xhv_max)__builtin_offsetof(struct xpvhv, xhv_max)
1885#define PVHV_keys_ix0x30000 | __builtin_offsetof(struct xpvhv, xhv_keys) sv_STRLENp0x30000 | STRUCT_OFFSET(struct xpvhv, xhv_keys)__builtin_offsetof(struct xpvhv, xhv_keys)
1886
1887XS_EUPXS(XS_B__IV_IVX)static void XS_B__IV_IVX( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1888XS_EUPXS(XS_B__IV_IVX)static void XS_B__IV_IVX( CV* cv __attribute__((unused)))
1889{
1890 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1891 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
1892 if (items != 1)
1893 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
1894 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1895 SPsp -= items;
1896 {
1897 B__SV sv;
1898#line 1529 "B.xs"
1899 char *ptr;
1900 SV *ret;
1901#line 1902 "B.c"
1902
1903 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
1904 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1905 sv = INT2PTR(B__SV,tmp)(B__SV)(tmp);
1906 }
1907 else
1908 croakPerl_croak("sv is not a reference")
1909;
1910#line 1532 "B.xs"
1911 ptr = (ix & 0xFFFF) + (char *)SvANY(sv)(sv)->sv_any;
1912 switch ((U8)(ix >> 16)) {
1913 case (U8)(sv_SVp0x00000 >> 16):
1914 ret = make_sv_object(aTHX_ *((SV **)ptr));
1915 break;
1916 case (U8)(sv_IVp0x10000 >> 16):
1917 ret = sv_2mortal(newSViv(*((IV *)ptr)))Perl_sv_2mortal( Perl_newSViv( *((IV *)ptr)));
1918 break;
1919 case (U8)(sv_UVp0x20000 >> 16):
1920 ret = sv_2mortal(newSVuv(*((UV *)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((UV *)ptr)));
1921 break;
1922 case (U8)(sv_STRLENp0x30000 >> 16):
1923 ret = sv_2mortal(newSVuv(*((STRLEN *)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((STRLEN *)ptr)));
1924 break;
1925 case (U8)(sv_U32p0x40000 >> 16):
1926 ret = sv_2mortal(newSVuv(*((U32 *)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((U32 *)ptr)));
1927 break;
1928 case (U8)(sv_U8p0x50000 >> 16):
1929 ret = sv_2mortal(newSVuv(*((U8 *)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((U8 *)ptr)));
1930 break;
1931 case (U8)(sv_char_pp0x60000 >> 16):
1932 ret = sv_2mortal(newSVpv(*((char **)ptr), 0))Perl_sv_2mortal( Perl_newSVpv( *((char **)ptr),0));
1933 break;
1934 case (U8)(sv_NVp0x70000 >> 16):
1935 ret = sv_2mortal(newSVnv(*((NV *)ptr)))Perl_sv_2mortal( Perl_newSVnv( *((NV *)ptr)));
1936 break;
1937 case (U8)(sv_char_p0x80000 >> 16):
1938 ret = newSVpvn_flags((char *)ptr, 1, SVs_TEMP)Perl_newSVpvn_flags( (char *)ptr,1,0x00080000);
1939 break;
1940 case (U8)(sv_SSize_tp0x90000 >> 16):
1941 ret = sv_2mortal(newSViv(*((SSize_t *)ptr)))Perl_sv_2mortal( Perl_newSViv( *((ssize_t *)ptr)));
1942 break;
1943 case (U8)(sv_I32p0xA0000 >> 16):
1944 ret = sv_2mortal(newSVuv(*((I32 *)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((I32 *)ptr)));
1945 break;
1946 case (U8)(sv_U16p0xB0000 >> 16):
1947 ret = sv_2mortal(newSVuv(*((U16 *)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((U16 *)ptr)));
1948 break;
1949 default:
1950 croakPerl_croak("Illegal alias 0x%08x for B::*IVX", (unsigned)ix);
1951 }
1952 ST(0)PL_stack_base[ax + (0)] = ret;
1953 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1954#line 1955 "B.c"
1955 PUTBACKPL_stack_sp = sp;
1956 return;
1957 }
1958}
1959
1960
1961XS_EUPXS(XS_B__IV_packiv)static void XS_B__IV_packiv( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1962XS_EUPXS(XS_B__IV_packiv)static void XS_B__IV_packiv( CV* cv __attribute__((unused)))
1963{
1964 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1965 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
1966 if (items != 1)
1967 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
1968 {
1969 B__IV sv;
1970
1971 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
1972 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1973 sv = INT2PTR(B__IV,tmp)(B__IV)(tmp);
1974 }
1975 else
1976 croakPerl_croak("sv is not a reference")
1977;
1978#line 1582 "B.xs"
1979 if (ix) {
1980 ST(0)PL_stack_base[ax + (0)] = boolSV((I32)SvIVX(sv) != SvIVX(sv))(((I32)((XPVIV*) (sv)->sv_any)->xiv_u.xivu_iv != ((XPVIV
*) (sv)->sv_any)->xiv_u.xivu_iv) ? &(PL_sv_immortals
[0]) : &(PL_sv_immortals[2]))
;
1981 } else if (sizeof(IV) == 8) {
1982 U32 wp[2];
1983 const IV iv = SvIVX(sv)((XPVIV*) (sv)->sv_any)->xiv_u.xivu_iv;
1984 /*
1985 * The following way of spelling 32 is to stop compilers on
1986 * 32-bit architectures from moaning about the shift count
1987 * being >= the width of the type. Such architectures don't
1988 * reach this code anyway (unless sizeof(IV) > 8 but then
1989 * everything else breaks too so I'm not fussed at the moment).
1990 */
1991#ifdef UV_IS_QUAD
1992 wp[0] = htonl(((UV)iv) >> (sizeof(UV)*4))(__uint32_t)(__builtin_constant_p(((UV)iv) >> (sizeof(UV
)*4)) ? (__uint32_t)(((__uint32_t)(((UV)iv) >> (sizeof(
UV)*4)) & 0xff) << 24 | ((__uint32_t)(((UV)iv) >>
(sizeof(UV)*4)) & 0xff00) << 8 | ((__uint32_t)(((UV
)iv) >> (sizeof(UV)*4)) & 0xff0000) >> 8 | ((
__uint32_t)(((UV)iv) >> (sizeof(UV)*4)) & 0xff000000
) >> 24) : __swap32md(((UV)iv) >> (sizeof(UV)*4))
)
;
1993#else
1994 wp[0] = htonl(((U32)iv) >> (sizeof(UV)*4))(__uint32_t)(__builtin_constant_p(((U32)iv) >> (sizeof(
UV)*4)) ? (__uint32_t)(((__uint32_t)(((U32)iv) >> (sizeof
(UV)*4)) & 0xff) << 24 | ((__uint32_t)(((U32)iv) >>
(sizeof(UV)*4)) & 0xff00) << 8 | ((__uint32_t)(((U32
)iv) >> (sizeof(UV)*4)) & 0xff0000) >> 8 | ((
__uint32_t)(((U32)iv) >> (sizeof(UV)*4)) & 0xff000000
) >> 24) : __swap32md(((U32)iv) >> (sizeof(UV)*4)
))
;
1995#endif
1996 wp[1] = htonl(iv & 0xffffffff)(__uint32_t)(__builtin_constant_p(iv & 0xffffffff) ? (__uint32_t
)(((__uint32_t)(iv & 0xffffffff) & 0xff) << 24 |
((__uint32_t)(iv & 0xffffffff) & 0xff00) << 8 |
((__uint32_t)(iv & 0xffffffff) & 0xff0000) >> 8
| ((__uint32_t)(iv & 0xffffffff) & 0xff000000) >>
24) : __swap32md(iv & 0xffffffff))
;
1997 ST(0)PL_stack_base[ax + (0)] = newSVpvn_flags((char *)wp, 8, SVs_TEMP)Perl_newSVpvn_flags( (char *)wp,8,0x00080000);
1998 } else {
1999 U32 w = htonl((U32)SvIVX(sv))(__uint32_t)(__builtin_constant_p((U32)((XPVIV*) (sv)->sv_any
)->xiv_u.xivu_iv) ? (__uint32_t)(((__uint32_t)((U32)((XPVIV
*) (sv)->sv_any)->xiv_u.xivu_iv) & 0xff) << 24
| ((__uint32_t)((U32)((XPVIV*) (sv)->sv_any)->xiv_u.xivu_iv
) & 0xff00) << 8 | ((__uint32_t)((U32)((XPVIV*) (sv
)->sv_any)->xiv_u.xivu_iv) & 0xff0000) >> 8 |
((__uint32_t)((U32)((XPVIV*) (sv)->sv_any)->xiv_u.xivu_iv
) & 0xff000000) >> 24) : __swap32md((U32)((XPVIV*) (
sv)->sv_any)->xiv_u.xivu_iv))
;
2000 ST(0)PL_stack_base[ax + (0)] = newSVpvn_flags((char *)&w, 4, SVs_TEMP)Perl_newSVpvn_flags( (char *)&w,4,0x00080000);
2001 }
2002#line 2003 "B.c"
2003 }
2004 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2005}
2006
2007
2008XS_EUPXS(XS_B__NV_NV)static void XS_B__NV_NV( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2009XS_EUPXS(XS_B__NV_NV)static void XS_B__NV_NV( CV* cv __attribute__((unused)))
2010{
2011 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2012 if (items != 1)
2013 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
2014 {
2015 B__NV sv;
2016 NV RETVAL;
2017 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2018
2019 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2020 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2021 sv = INT2PTR(B__NV,tmp)(B__NV)(tmp);
2022 }
2023 else
2024 croakPerl_croak("sv is not a reference")
2025;
2026
2027 RETVAL = SvNV(sv)((((sv)->sv_flags & (0x00000200|0x00200000)) == 0x00000200
) ? ((XPVNV*) (sv)->sv_any)->xnv_u.xnv_nv : Perl_sv_2nv_flags
( sv,2))
;
2028 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHn((NV)RETVAL)do { do { NV TARGn_nv = (NV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000))) == SVt_NV) & (1 ? !
(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)0),(0))
) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0),(1))) {
((void)0); (targ)->sv_flags |= (0x00000200|0x00002000); do
{ ((void)0); ((void)0); (((XPVNV*)(targ)->sv_any)->xnv_u
.xnv_nv = (TARGn_nv)); } while (0); } else Perl_sv_setnv_mg( targ
,TARGn_nv); } while (0); (*++sp = (targ)); } while (0)
;
2029 }
2030 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2031}
2032
2033
2034XS_EUPXS(XS_B__REGEXP_REGEX)static void XS_B__REGEXP_REGEX( CV* cv __attribute__((unused)
))
; /* prototype to pass -Wmissing-prototypes */
2035XS_EUPXS(XS_B__REGEXP_REGEX)static void XS_B__REGEXP_REGEX( CV* cv __attribute__((unused)
))
2036{
2037 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2038 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
2039 if (items != 1)
2040 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
2041 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
2042 SPsp -= items;
2043 {
2044 B__REGEXP sv;
2045
2046 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2047 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2048 sv = INT2PTR(B__REGEXP,tmp)(B__REGEXP)(tmp);
2049 }
2050 else
2051 croakPerl_croak("sv is not a reference")
2052;
2053#line 1622 "B.xs"
2054 if (ix == 1) {
2055 PUSHs(newSVpvn_flags(RX_PRECOMP(sv), RX_PRELEN(sv), SVs_TEMP))(*++sp = (Perl_newSVpvn_flags( (((sv)->sv_u.svu_pv) + Perl_ReANY
((const REGEXP *)(sv))->pre_prefix),(((XPV*) (sv)->sv_any
)->xpv_cur - Perl_ReANY((const REGEXP *)(sv))->pre_prefix
- 1),0x00080000)))
;
2056 } else if (ix == 2) {
2057 PUSHs(make_sv_object(aTHX_ (SV *)ReANY(sv)->qr_anoncv))(*++sp = (make_sv_object( (SV *)Perl_ReANY((const REGEXP *)(sv
))->qr_anoncv)))
;
2058 } else {
2059 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2060 if (ix)
2061 PUSHu(RX_COMPFLAGS(sv))do { do { UV TARGu_uv = ((Perl_ReANY((const REGEXP *)(sv)))->
compflags); if (__builtin_expect((((((targ)->sv_flags &
(0xff|(0x08000000|0x00010000|0x00000800|0x01000000 |0x00800000
|0x10000000)|0x80000000)) == SVt_IV) & (1 ? !(((__builtin_expect
(((PL_tainted) ? (_Bool)1 : (_Bool)0),(0))) ? (_Bool)1 : (_Bool
)0)) : 1) & (TARGu_uv <= (UV)((IV) ((~(UV)0) >> 1
)))) ? (_Bool)1 : (_Bool)0),(1))) { ((void)0); (targ)->sv_flags
|= (0x00000100|0x00001000); targ->sv_u.svu_iv = TARGu_uv;
} else Perl_sv_setuv_mg( targ,TARGu_uv); } while (0); (*++sp
= (targ)); } while (0)
;
2062 else
2063 /* FIXME - can we code this method more efficiently? */
2064 PUSHi(PTR2IV(sv))do { do { IV TARGi_iv = (IV)(sv); if (__builtin_expect((((((targ
)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800|
0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
2065 }
2066#line 2067 "B.c"
2067 PUTBACKPL_stack_sp = sp;
2068 return;
2069 }
2070}
2071
2072
2073XS_EUPXS(XS_B__PV_RV)static void XS_B__PV_RV( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2074XS_EUPXS(XS_B__PV_RV)static void XS_B__PV_RV( CV* cv __attribute__((unused)))
2075{
2076 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2077 if (items != 1)
2078 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
2079 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
2080 SPsp -= items;
2081 {
2082 B__PV sv;
2083
2084 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2085 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2086 sv = INT2PTR(B__PV,tmp)(B__PV)(tmp);
2087 }
2088 else
2089 croakPerl_croak("sv is not a reference")
2090;
2091#line 1641 "B.xs"
2092 if (!SvROK(sv)((sv)->sv_flags & 0x00000800))
2093 croakPerl_croak( "argument is not SvROK" );
2094 PUSHs(make_sv_object(aTHX_ SvRV(sv)))(*++sp = (make_sv_object( ((sv)->sv_u.svu_rv))));
2095#line 2096 "B.c"
2096 PUTBACKPL_stack_sp = sp;
2097 return;
2098 }
2099}
2100
2101
2102XS_EUPXS(XS_B__PV_PV)static void XS_B__PV_PV( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2103XS_EUPXS(XS_B__PV_PV)static void XS_B__PV_PV( CV* cv __attribute__((unused)))
2104{
2105 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2106 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
2107 if (items != 1)
2108 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
2109 {
2110 B__PV sv;
2111#line 1653 "B.xs"
2112 const char *p;
2113 STRLEN len = 0;
2114 U32 utf8 = 0;
2115#line 2116 "B.c"
2116
2117 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2118 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2119 sv = INT2PTR(B__PV,tmp)(B__PV)(tmp);
2120 }
2121 else
2122 croakPerl_croak("sv is not a reference")
2123;
2124#line 1657 "B.xs"
2125 if (ix == 3) {
2126 const MAGIC *const mg = mg_findPerl_mg_find(sv, PERL_MAGIC_bm'B');
2127
2128 if (!mg)
2129 croakPerl_croak("argument to B::BM::TABLE is not a PVBM");
2130 p = mg->mg_ptr;
2131 len = mg->mg_len;
2132 } else if (ix == 2) {
2133 /* This used to read 257. I think that that was buggy - should have
2134 been 258. (The "\0", the flags byte, and 256 for the table.)
2135 The only user of this method is B::Bytecode in B::PV::bsave.
2136 I'm guessing that nothing tested the runtime correctness of
2137 output of bytecompiled string constant arguments to index (etc).
2138
2139 Note the start pointer is and has always been SvPVX(sv), not
2140 SvPVX(sv) + SvCUR(sv) PVBM was added in 651aa52ea1faa806, and
2141 first used by the compiler in 651aa52ea1faa806. It's used to
2142 get a "complete" dump of the buffer at SvPVX(), not just the
2143 PVBM table. This permits the generated bytecode to "load"
2144 SvPVX in "one" hit.
2145
2146 5.15 and later store the BM table via MAGIC, so the compiler
2147 should handle this just fine without changes if PVBM now
2148 always returns the SvPVX() buffer. */
2149 p = isREGEXP(sv)(((svtype)((sv)->sv_flags & 0xff)) == SVt_REGEXP || ((
sv)->sv_flags & (0xff|0x00008000|0x01000000)) == (SVt_PVLV
|0x01000000))
2150 ? RX_WRAPPED_const((REGEXP*)sv)((const char*)(0 + ((REGEXP*)sv)->sv_u.svu_pv))
2151 : SvPVX_const(sv)((const char*)(0 + (sv)->sv_u.svu_pv));
2152 len = SvCUR(sv)((XPV*) (sv)->sv_any)->xpv_cur;
2153 } else if (ix) {
2154 p = isREGEXP(sv)(((svtype)((sv)->sv_flags & 0xff)) == SVt_REGEXP || ((
sv)->sv_flags & (0xff|0x00008000|0x01000000)) == (SVt_PVLV
|0x01000000))
? RX_WRAPPED((REGEXP*)sv)(((REGEXP*)sv)->sv_u.svu_pv) : SvPVX(sv)((sv)->sv_u.svu_pv);
2155 len = strlen(p);
2156 } else if (SvPOK(sv)((sv)->sv_flags & 0x00000400)) {
2157 len = SvCUR(sv)((XPV*) (sv)->sv_any)->xpv_cur;
2158 p = SvPVX_const(sv)((const char*)(0 + (sv)->sv_u.svu_pv));
2159 utf8 = SvUTF8(sv)((sv)->sv_flags & 0x20000000);
2160 } else if (isREGEXP(sv)(((svtype)((sv)->sv_flags & 0xff)) == SVt_REGEXP || ((
sv)->sv_flags & (0xff|0x00008000|0x01000000)) == (SVt_PVLV
|0x01000000))
) {
2161 len = SvCUR(sv)((XPV*) (sv)->sv_any)->xpv_cur;
2162 p = RX_WRAPPED_const((REGEXP*)sv)((const char*)(0 + ((REGEXP*)sv)->sv_u.svu_pv));
2163 utf8 = SvUTF8(sv)((sv)->sv_flags & 0x20000000);
2164 } else {
2165 /* XXX for backward compatibility, but should fail */
2166 /* croak( "argument is not SvPOK" ); */
2167 p = NULL((void*)0);
2168 }
2169 ST(0)PL_stack_base[ax + (0)] = newSVpvn_flags(p, len, SVs_TEMP | utf8)Perl_newSVpvn_flags( p,len,0x00080000 | utf8);
2170#line 2171 "B.c"
2171 }
2172 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2173}
2174
2175
2176XS_EUPXS(XS_B__PVMG_MAGIC)static void XS_B__PVMG_MAGIC( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2177XS_EUPXS(XS_B__PVMG_MAGIC)static void XS_B__PVMG_MAGIC( CV* cv __attribute__((unused)))
2178{
2179 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2180 if (items != 1)
2181 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
2182 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
2183 SPsp -= items;
2184 {
2185 B__PVMG sv;
2186 MAGIC * mg;
2187
2188 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2189 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2190 sv = INT2PTR(B__PVMG,tmp)(B__PVMG)(tmp);
2191 }
2192 else
2193 croakPerl_croak("sv is not a reference")
2194;
2195#line 1710 "B.xs"
2196 for (mg = SvMAGIC(sv)((XPVMG*) (sv)->sv_any)->xmg_u.xmg_magic; mg; mg = mg->mg_moremagic)
2197 XPUSHs(make_mg_object(aTHX_ mg))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (make_mg_object( mg)); } while (0)
;
2198#line 2199 "B.c"
2199 PUTBACKPL_stack_sp = sp;
2200 return;
2201 }
2202}
2203
2204
2205XS_EUPXS(XS_B__MAGIC_MOREMAGIC)static void XS_B__MAGIC_MOREMAGIC( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
2206XS_EUPXS(XS_B__MAGIC_MOREMAGIC)static void XS_B__MAGIC_MOREMAGIC( CV* cv __attribute__((unused
)))
2207{
2208 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2209 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
2210 if (items != 1)
2211 croak_xs_usagePerl_croak_xs_usage(cv, "mg");
2212 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
2213 SPsp -= items;
2214 {
2215 B__MAGIC mg;
2216
2217 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2218 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2219 mg = INT2PTR(B__MAGIC,tmp)(B__MAGIC)(tmp);
2220 }
2221 else
2222 croakPerl_croak("mg is not a reference")
2223;
2224#line 1728 "B.xs"
2225 switch (ix) {
2226 case 0:
2227 XPUSHs(mg->mg_moremagic ? make_mg_object(aTHX_ mg->mg_moremagic)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (mg->mg_moremagic ? make_mg_object( mg->mg_moremagic
) : &(PL_sv_immortals[1])); } while (0)
2228 : &PL_sv_undef)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (mg->mg_moremagic ? make_mg_object( mg->mg_moremagic
) : &(PL_sv_immortals[1])); } while (0)
;
2229 break;
2230 case 1:
2231 mPUSHu(mg->mg_private)Perl_sv_setuv( (*++sp = (Perl_sv_newmortal())),(UV)(mg->mg_private
))
;
2232 break;
2233 case 2:
2234 PUSHs(newSVpvn_flags(&(mg->mg_type), 1, SVs_TEMP))(*++sp = (Perl_newSVpvn_flags( &(mg->mg_type),1,0x00080000
)))
;
2235 break;
2236 case 3:
2237 mPUSHu(mg->mg_flags)Perl_sv_setuv( (*++sp = (Perl_sv_newmortal())),(UV)(mg->mg_flags
))
;
2238 break;
2239 case 4:
2240 mPUSHi(mg->mg_len)Perl_sv_setiv( (*++sp = (Perl_sv_newmortal())),(IV)(mg->mg_len
))
;
2241 break;
2242 case 5:
2243 PUSHs(make_sv_object(aTHX_ mg->mg_obj))(*++sp = (make_sv_object( mg->mg_obj)));
2244 break;
2245 case 6:
2246 if (mg->mg_ptr) {
2247 if (mg->mg_len >= 0) {
2248 PUSHs(newSVpvn_flags(mg->mg_ptr, mg->mg_len, SVs_TEMP))(*++sp = (Perl_newSVpvn_flags( mg->mg_ptr,mg->mg_len,0x00080000
)))
;
2249 } else if (mg->mg_len == HEf_SVKEY-2) {
2250 PUSHs(make_sv_object(aTHX_ (SV*)mg->mg_ptr))(*++sp = (make_sv_object( (SV*)mg->mg_ptr)));
2251 } else
2252 PUSHs(sv_newmortal())(*++sp = (Perl_sv_newmortal()));
2253 } else
2254 PUSHs(sv_newmortal())(*++sp = (Perl_sv_newmortal()));
2255 break;
2256 case 7:
2257 if(mg->mg_type == PERL_MAGIC_qr'r') {
2258 mPUSHi(PTR2IV(mg->mg_obj))Perl_sv_setiv( (*++sp = (Perl_sv_newmortal())),(IV)((IV)(mg->
mg_obj)))
;
2259 } else {
2260 croakPerl_croak("REGEX is only meaningful on r-magic");
2261 }
2262 break;
2263 case 8:
2264 if (mg->mg_type == PERL_MAGIC_qr'r') {
2265 REGEXP *rx = (REGEXP *)mg->mg_obj;
2266 PUSHs(newSVpvn_flags(rx ? RX_PRECOMP(rx) : NULL,(*++sp = (Perl_newSVpvn_flags( rx ? (((rx)->sv_u.svu_pv) +
Perl_ReANY((const REGEXP *)(rx))->pre_prefix) : ((void*)0
),rx ? (((XPV*) (rx)->sv_any)->xpv_cur - Perl_ReANY((const
REGEXP *)(rx))->pre_prefix - 1) : 0,0x00080000)))
2267 rx ? RX_PRELEN(rx) : 0, SVs_TEMP))(*++sp = (Perl_newSVpvn_flags( rx ? (((rx)->sv_u.svu_pv) +
Perl_ReANY((const REGEXP *)(rx))->pre_prefix) : ((void*)0
),rx ? (((XPV*) (rx)->sv_any)->xpv_cur - Perl_ReANY((const
REGEXP *)(rx))->pre_prefix - 1) : 0,0x00080000)))
;
2268 } else {
2269 croakPerl_croak( "precomp is only meaningful on r-magic" );
2270 }
2271 break;
2272 }
2273#line 2274 "B.c"
2274 PUTBACKPL_stack_sp = sp;
2275 return;
2276 }
2277}
2278
2279
2280XS_EUPXS(XS_B__BM_PREVIOUS)static void XS_B__BM_PREVIOUS( CV* cv __attribute__((unused))
)
; /* prototype to pass -Wmissing-prototypes */
2281XS_EUPXS(XS_B__BM_PREVIOUS)static void XS_B__BM_PREVIOUS( CV* cv __attribute__((unused))
)
2282{
2283 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2284 if (items != 1)
2285 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
2286 {
2287 B__BM sv;
2288 U32 RETVAL;
2289 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2290
2291 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2292 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2293 sv = INT2PTR(B__BM,tmp)(B__BM)(tmp);
2294 }
2295 else
2296 croakPerl_croak("sv is not a reference")
2297;
2298#line 1783 "B.xs"
2299 PERL_UNUSED_VAR(sv)((void)sizeof(sv));
2300 RETVAL = BmPREVIOUS(sv)0;
2301#line 2302 "B.c"
2302 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
2303 }
2304 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2305}
2306
2307
2308XS_EUPXS(XS_B__BM_RARE)static void XS_B__BM_RARE( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2309XS_EUPXS(XS_B__BM_RARE)static void XS_B__BM_RARE( CV* cv __attribute__((unused)))
2310{
2311 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2312 if (items != 1)
2313 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
2314 {
2315 B__BM sv;
2316 U8 RETVAL;
2317 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2318
2319 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2320 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2321 sv = INT2PTR(B__BM,tmp)(B__BM)(tmp);
Value stored to 'sv' is never read
2322 }
2323 else
2324 croakPerl_croak("sv is not a reference")
2325;
2326#line 1793 "B.xs"
2327 PERL_UNUSED_VAR(sv)((void)sizeof(sv));
2328 RETVAL = BmRARE(sv)0;
2329#line 2330 "B.c"
2330 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
2331 }
2332 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2333}
2334
2335
2336XS_EUPXS(XS_B__GV_NAME)static void XS_B__GV_NAME( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2337XS_EUPXS(XS_B__GV_NAME)static void XS_B__GV_NAME( CV* cv __attribute__((unused)))
2338{
2339 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2340 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
2341 if (items != 1)
2342 croak_xs_usagePerl_croak_xs_usage(cv, "gv");
2343 {
2344 B__GV gv;
2345
2346 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2347 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2348 gv = INT2PTR(B__GV,tmp)(B__GV)(tmp);
2349 }
2350 else
2351 croakPerl_croak("gv is not a reference")
2352;
2353#line 1808 "B.xs"
2354 ST(0)PL_stack_base[ax + (0)] = sv_2mortal(newSVhek(!ix ? GvNAME_HEK(gv)Perl_sv_2mortal( Perl_newSVhek( !ix ? (((XPVGV*)(gv)->sv_any
)->xiv_u.xivu_namehek) : (ix == 1 ? ((0+(gv)->sv_u.svu_gp
)->gp_file_hek) : ((((HV *)gv)->sv_flags & 0x02000000
) && ((struct xpvhv_aux*)&((((HV *)gv)->sv_u.svu_hash
)[((XPVHV*) ((HV *)gv)->sv_any)->xhv_max+1]))->xhv_name_u
.xhvnameu_name ? ( ((struct xpvhv_aux*)&((((HV *)gv)->
sv_u.svu_hash)[((XPVHV*) ((HV *)gv)->sv_any)->xhv_max+1
]))->xhv_name_count ? *((struct xpvhv_aux*)&((((HV *)gv
)->sv_u.svu_hash)[((XPVHV*) ((HV *)gv)->sv_any)->xhv_max
+1]))->xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)&
((((HV *)gv)->sv_u.svu_hash)[((XPVHV*) ((HV *)gv)->sv_any
)->xhv_max+1]))->xhv_name_u.xhvnameu_name ) : ((void*)0
)))))
2355 : (ix == 1 ? GvFILE_HEK(gv)Perl_sv_2mortal( Perl_newSVhek( !ix ? (((XPVGV*)(gv)->sv_any
)->xiv_u.xivu_namehek) : (ix == 1 ? ((0+(gv)->sv_u.svu_gp
)->gp_file_hek) : ((((HV *)gv)->sv_flags & 0x02000000
) && ((struct xpvhv_aux*)&((((HV *)gv)->sv_u.svu_hash
)[((XPVHV*) ((HV *)gv)->sv_any)->xhv_max+1]))->xhv_name_u
.xhvnameu_name ? ( ((struct xpvhv_aux*)&((((HV *)gv)->
sv_u.svu_hash)[((XPVHV*) ((HV *)gv)->sv_any)->xhv_max+1
]))->xhv_name_count ? *((struct xpvhv_aux*)&((((HV *)gv
)->sv_u.svu_hash)[((XPVHV*) ((HV *)gv)->sv_any)->xhv_max
+1]))->xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)&
((((HV *)gv)->sv_u.svu_hash)[((XPVHV*) ((HV *)gv)->sv_any
)->xhv_max+1]))->xhv_name_u.xhvnameu_name ) : ((void*)0
)))))
2356 : HvNAME_HEK((HV *)gv))))Perl_sv_2mortal( Perl_newSVhek( !ix ? (((XPVGV*)(gv)->sv_any
)->xiv_u.xivu_namehek) : (ix == 1 ? ((0+(gv)->sv_u.svu_gp
)->gp_file_hek) : ((((HV *)gv)->sv_flags & 0x02000000
) && ((struct xpvhv_aux*)&((((HV *)gv)->sv_u.svu_hash
)[((XPVHV*) ((HV *)gv)->sv_any)->xhv_max+1]))->xhv_name_u
.xhvnameu_name ? ( ((struct xpvhv_aux*)&((((HV *)gv)->
sv_u.svu_hash)[((XPVHV*) ((HV *)gv)->sv_any)->xhv_max+1
]))->xhv_name_count ? *((struct xpvhv_aux*)&((((HV *)gv
)->sv_u.svu_hash)[((XPVHV*) ((HV *)gv)->sv_any)->xhv_max
+1]))->xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)&
((((HV *)gv)->sv_u.svu_hash)[((XPVHV*) ((HV *)gv)->sv_any
)->xhv_max+1]))->xhv_name_u.xhvnameu_name ) : ((void*)0
)))))
;
2357#line 2358 "B.c"
2358 }
2359 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2360}
2361
2362
2363XS_EUPXS(XS_B__GV_is_empty)static void XS_B__GV_is_empty( CV* cv __attribute__((unused))
)
; /* prototype to pass -Wmissing-prototypes */
2364XS_EUPXS(XS_B__GV_is_empty)static void XS_B__GV_is_empty( CV* cv __attribute__((unused))
)
2365{
2366 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2367 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
2368 if (items != 1)
2369 croak_xs_usagePerl_croak_xs_usage(cv, "gv");
2370 {
2371 B__GV gv;
2372 bool_Bool RETVAL;
2373
2374 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2375 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2376 gv = INT2PTR(B__GV,tmp)(B__GV)(tmp);
2377 }
2378 else
2379 croakPerl_croak("gv is not a reference")
2380;
2381#line 1818 "B.xs"
2382 if (ix) {
2383 RETVAL = cBOOL(isGV_with_GP(gv))((((((gv)->sv_flags & (0x00004000|0x00008000)) == 0x00008000
) && (((svtype)((gv)->sv_flags & 0xff)) == SVt_PVGV
|| ((svtype)((gv)->sv_flags & 0xff)) == SVt_PVLV))) ?
(_Bool)1 : (_Bool)0)
;
2384 } else {
2385 RETVAL = GvGP(gv)(0+(gv)->sv_u.svu_gp) == Null(GP*)((GP*)((void*)0));
2386 }
2387#line 2388 "B.c"
2388 ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals
[2]))
;
2389 }
2390 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2391}
2392
2393
2394XS_EUPXS(XS_B__GV_GP)static void XS_B__GV_GP( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2395XS_EUPXS(XS_B__GV_GP)static void XS_B__GV_GP( CV* cv __attribute__((unused)))
2396{
2397 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2398 if (items != 1)
2399 croak_xs_usagePerl_croak_xs_usage(cv, "gv");
2400 {
2401 B__GV gv;
2402 void * RETVAL;
2403 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2404
2405 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2406 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2407 gv = INT2PTR(B__GV,tmp)(B__GV)(tmp);
2408 }
2409 else
2410 croakPerl_croak("gv is not a reference")
2411;
2412
2413 RETVAL = GvGP(gv)(0+(gv)->sv_u.svu_gp);
2414 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi(PTR2IV(RETVAL))do { do { IV TARGi_iv = (IV)(RETVAL); if (__builtin_expect(((
(((targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
2415 }
2416 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2417}
2418
2419#define GP_sv_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_sv) (SVp0x0 << 16) | STRUCT_OFFSET(struct gp, gp_sv)__builtin_offsetof(struct gp, gp_sv)
2420#define GP_io_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_io) (SVp0x0 << 16) | STRUCT_OFFSET(struct gp, gp_io)__builtin_offsetof(struct gp, gp_io)
2421#define GP_cv_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_cv) (SVp0x0 << 16) | STRUCT_OFFSET(struct gp, gp_cv)__builtin_offsetof(struct gp, gp_cv)
2422#define GP_cvgen_ix(0x1 << 16) | __builtin_offsetof(struct gp, gp_cvgen) (U32p0x1 << 16) | STRUCT_OFFSET(struct gp, gp_cvgen)__builtin_offsetof(struct gp, gp_cvgen)
2423#define GP_refcnt_ix(0x1 << 16) | __builtin_offsetof(struct gp, gp_refcnt) (U32p0x1 << 16) | STRUCT_OFFSET(struct gp, gp_refcnt)__builtin_offsetof(struct gp, gp_refcnt)
2424#define GP_hv_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_hv) (SVp0x0 << 16) | STRUCT_OFFSET(struct gp, gp_hv)__builtin_offsetof(struct gp, gp_hv)
2425#define GP_av_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_av) (SVp0x0 << 16) | STRUCT_OFFSET(struct gp, gp_av)__builtin_offsetof(struct gp, gp_av)
2426#define GP_form_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_form) (SVp0x0 << 16) | STRUCT_OFFSET(struct gp, gp_form)__builtin_offsetof(struct gp, gp_form)
2427#define GP_egv_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_egv) (SVp0x0 << 16) | STRUCT_OFFSET(struct gp, gp_egv)__builtin_offsetof(struct gp, gp_egv)
2428
2429XS_EUPXS(XS_B__GV_SV)static void XS_B__GV_SV( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2430XS_EUPXS(XS_B__GV_SV)static void XS_B__GV_SV( CV* cv __attribute__((unused)))
2431{
2432 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2433 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
2434 if (items != 1)
2435 croak_xs_usagePerl_croak_xs_usage(cv, "gv");
2436 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
2437 SPsp -= items;
2438 {
2439 B__GV gv;
2440#line 1854 "B.xs"
2441 GP *gp;
2442 char *ptr;
2443 SV *ret;
2444#line 2445 "B.c"
2445
2446 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2447 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2448 gv = INT2PTR(B__GV,tmp)(B__GV)(tmp);
2449 }
2450 else
2451 croakPerl_croak("gv is not a reference")
2452;
2453#line 1858 "B.xs"
2454 gp = GvGP(gv)(0+(gv)->sv_u.svu_gp);
2455 if (!gp) {
2456 const GV *const gv = CvGV(cv)Perl_CvGV( (CV *)(cv));
2457 Perl_croak(aTHX_ "NULL gp in B::GV::%s", gv ? GvNAME(gv)((((XPVGV*)(gv)->sv_any)->xiv_u.xivu_namehek))->hek_key : "???");
2458 }
2459 ptr = (ix & 0xFFFF) + (char *)gp;
2460 switch ((U8)(ix >> 16)) {
2461 case SVp0x0:
2462 ret = make_sv_object(aTHX_ *((SV **)ptr));
2463 break;
2464 case U32p0x1:
2465 ret = sv_2mortal(newSVuv(*((U32*)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((U32*)ptr)));
2466 break;
2467 default:
2468 croakPerl_croak("Illegal alias 0x%08x for B::*SV", (unsigned)ix);
2469 }
2470 ST(0)PL_stack_base[ax + (0)] = ret;
2471 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2472#line 2473 "B.c"
2473 PUTBACKPL_stack_sp = sp;
2474 return;
2475 }
2476}
2477
2478
2479XS_EUPXS(XS_B__GV_LINE)static void XS_B__GV_LINE( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2480XS_EUPXS(XS_B__GV_LINE)static void XS_B__GV_LINE( CV* cv __attribute__((unused)))
2481{
2482 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2483 if (items != 1)
2484 croak_xs_usagePerl_croak_xs_usage(cv, "gv");
2485 {
2486 B__GV gv;
2487 U32 RETVAL;
2488 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2489
2490 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2491 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2492 gv = INT2PTR(B__GV,tmp)(B__GV)(tmp);
2493 }
2494 else
2495 croakPerl_croak("gv is not a reference")
2496;
2497
2498 RETVAL = GvLINE(gv)((0+(gv)->sv_u.svu_gp)->gp_line);
2499 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
2500 }
2501 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2502}
2503
2504
2505XS_EUPXS(XS_B__GV_GPFLAGS)static void XS_B__GV_GPFLAGS( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2506XS_EUPXS(XS_B__GV_GPFLAGS)static void XS_B__GV_GPFLAGS( CV* cv __attribute__((unused)))
2507{
2508 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2509 if (items != 1)
2510 croak_xs_usagePerl_croak_xs_usage(cv, "gv");
2511 {
2512 B__GV gv;
2513 U32 RETVAL;
2514 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2515
2516 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2517 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2518 gv = INT2PTR(B__GV,tmp)(B__GV)(tmp);
2519 }
2520 else
2521 croakPerl_croak("gv is not a reference")
2522;
2523
2524 RETVAL = GvGPFLAGS(gv)((0+(gv)->sv_u.svu_gp)->gp_flags);
2525 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
2526 }
2527 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2528}
2529
2530
2531XS_EUPXS(XS_B__GV_FILEGV)static void XS_B__GV_FILEGV( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2532XS_EUPXS(XS_B__GV_FILEGV)static void XS_B__GV_FILEGV( CV* cv __attribute__((unused)))
2533{
2534 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2535 if (items != 1)
2536 croak_xs_usagePerl_croak_xs_usage(cv, "gv");
2537 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
2538 SPsp -= items;
2539 {
2540 B__GV gv;
2541
2542 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2543 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2544 gv = INT2PTR(B__GV,tmp)(B__GV)(tmp);
2545 }
2546 else
2547 croakPerl_croak("gv is not a reference")
2548;
2549#line 1889 "B.xs"
2550 PUSHs(make_sv_object(aTHX_ (SV *)GvFILEGV(gv)))(*++sp = (make_sv_object( (SV *)(((0+(gv)->sv_u.svu_gp)->
gp_file_hek) ? Perl_gv_fetchfile( (((0+(gv)->sv_u.svu_gp)->
gp_file_hek))->hek_key) : ((void*)0)))))
;
2551#line 2552 "B.c"
2552 PUTBACKPL_stack_sp = sp;
2553 return;
2554 }
2555}
2556
2557
2558XS_EUPXS(XS_B__IO_IsSTD)static void XS_B__IO_IsSTD( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2559XS_EUPXS(XS_B__IO_IsSTD)static void XS_B__IO_IsSTD( CV* cv __attribute__((unused)))
2560{
2561 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2562 if (items != 2)
2563 croak_xs_usagePerl_croak_xs_usage(cv, "io, name");
2564 {
2565 B__IO io;
2566 const char* name = (const char *)SvPV_nolen(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (1)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (1)],0,2))
2567;
2568#line 1899 "B.xs"
2569 PerlIOPerlIO* handle = 0;
2570#line 2571 "B.c"
2571 bool_Bool RETVAL;
2572
2573 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2574 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2575 io = INT2PTR(B__IO,tmp)(B__IO)(tmp);
2576 }
2577 else
2578 croakPerl_croak("io is not a reference")
2579;
2580#line 1901 "B.xs"
2581 if( strEQ( name, "stdin" )(strcmp(name,"stdin") == 0) ) {
2582 handle = PerlIO_stdin()Perl_PerlIO_stdin();
2583 }
2584 else if( strEQ( name, "stdout" )(strcmp(name,"stdout") == 0) ) {
2585 handle = PerlIO_stdout()Perl_PerlIO_stdout();
2586 }
2587 else if( strEQ( name, "stderr" )(strcmp(name,"stderr") == 0) ) {
2588 handle = PerlIO_stderr()Perl_PerlIO_stderr();
2589 }
2590 else {
2591 croakPerl_croak( "Invalid value '%s'", name );
2592 }
2593 RETVAL = handle == IoIFP(io)(io)->sv_u.svu_fp;
2594#line 2595 "B.c"
2595 ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals
[2]))
;
2596 }
2597 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2598}
2599
2600
2601XS_EUPXS(XS_B__AV_FILL)static void XS_B__AV_FILL( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2602XS_EUPXS(XS_B__AV_FILL)static void XS_B__AV_FILL( CV* cv __attribute__((unused)))
2603{
2604 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2605 if (items != 1)
2606 croak_xs_usagePerl_croak_xs_usage(cv, "av");
2607 {
2608 B__AV av;
2609 SSize_tssize_t RETVAL;
2610 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2611
2612 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2613 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2614 av = INT2PTR(B__AV,tmp)(B__AV)(tmp);
2615 }
2616 else
2617 croakPerl_croak("av is not a reference")
2618;
2619
2620 RETVAL = AvFILL(av)(((((const SV *) (av))->sv_flags & 0x00800000)) ? Perl_mg_size
( ((SV *)({ void *_p = (av); _p; }))) : ((XPVAV*) (av)->sv_any
)->xav_fill)
;
2621 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
2622 }
2623 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2624}
2625
2626
2627XS_EUPXS(XS_B__AV_ARRAY)static void XS_B__AV_ARRAY( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2628XS_EUPXS(XS_B__AV_ARRAY)static void XS_B__AV_ARRAY( CV* cv __attribute__((unused)))
2629{
2630 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2631 if (items != 1)
2632 croak_xs_usagePerl_croak_xs_usage(cv, "av");
2633 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
2634 SPsp -= items;
2635 {
2636 B__AV av;
2637
2638 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2639 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2640 av = INT2PTR(B__AV,tmp)(B__AV)(tmp);
2641 }
2642 else
2643 croakPerl_croak("av is not a reference")
2644;
2645#line 1927 "B.xs"
2646 if (AvFILL(av)(((((const SV *) (av))->sv_flags & 0x00800000)) ? Perl_mg_size
( ((SV *)({ void *_p = (av); _p; }))) : ((XPVAV*) (av)->sv_any
)->xav_fill)
>= 0) {
2647 SV **svp = AvARRAY(av)((av)->sv_u.svu_array);
2648 I32 i;
2649 for (i = 0; i <= AvFILL(av)(((((const SV *) (av))->sv_flags & 0x00800000)) ? Perl_mg_size
( ((SV *)({ void *_p = (av); _p; }))) : ((XPVAV*) (av)->sv_any
)->xav_fill)
; i++)
2650 XPUSHs(make_sv_object(aTHX_ svp[i]))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (make_sv_object( svp[i])); } while (0)
;
2651 }
2652#line 2653 "B.c"
2653 PUTBACKPL_stack_sp = sp;
2654 return;
2655 }
2656}
2657
2658
2659XS_EUPXS(XS_B__AV_ARRAYelt)static void XS_B__AV_ARRAYelt( CV* cv __attribute__((unused))
)
; /* prototype to pass -Wmissing-prototypes */
2660XS_EUPXS(XS_B__AV_ARRAYelt)static void XS_B__AV_ARRAYelt( CV* cv __attribute__((unused))
)
2661{
2662 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2663 if (items != 2)
2664 croak_xs_usagePerl_croak_xs_usage(cv, "av, idx");
2665 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
2666 SPsp -= items;
2667 {
2668 B__AV av;
2669 int idx = (int)SvIV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (1)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
1)],2))
2670;
2671
2672 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2673 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2674 av = INT2PTR(B__AV,tmp)(B__AV)(tmp);
2675 }
2676 else
2677 croakPerl_croak("av is not a reference")
2678;
2679#line 1939 "B.xs"
2680 if (idx >= 0 && AvFILL(av)(((((const SV *) (av))->sv_flags & 0x00800000)) ? Perl_mg_size
( ((SV *)({ void *_p = (av); _p; }))) : ((XPVAV*) (av)->sv_any
)->xav_fill)
>= 0 && idx <= AvFILL(av)(((((const SV *) (av))->sv_flags & 0x00800000)) ? Perl_mg_size
( ((SV *)({ void *_p = (av); _p; }))) : ((XPVAV*) (av)->sv_any
)->xav_fill)
)
2681 XPUSHs(make_sv_object(aTHX_ (AvARRAY(av)[idx])))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (make_sv_object( (((av)->sv_u.svu_array)[idx]))); }
while (0)
;
2682 else
2683 XPUSHs(make_sv_object(aTHX_ NULL))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (make_sv_object( ((void*)0))); } while (0)
;
2684#line 2685 "B.c"
2685 PUTBACKPL_stack_sp = sp;
2686 return;
2687 }
2688}
2689
2690
2691XS_EUPXS(XS_B__FM_LINES)static void XS_B__FM_LINES( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2692XS_EUPXS(XS_B__FM_LINES)static void XS_B__FM_LINES( CV* cv __attribute__((unused)))
2693{
2694 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2695 if (items != 1)
2696 croak_xs_usagePerl_croak_xs_usage(cv, "format");
2697 {
2698 B__FM format;
2699 IV RETVAL;
2700 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2701
2702 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2703 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2704 format = INT2PTR(B__FM,tmp)(B__FM)(tmp);
2705 }
2706 else
2707 croakPerl_croak("format is not a reference")
2708;
2709#line 1951 "B.xs"
2710 PERL_UNUSED_VAR(format)((void)sizeof(format));
2711 RETVAL = 0;
2712#line 2713 "B.c"
2713 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
2714 }
2715 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2716}
2717
2718
2719XS_EUPXS(XS_B__CV_CONST)static void XS_B__CV_CONST( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2720XS_EUPXS(XS_B__CV_CONST)static void XS_B__CV_CONST( CV* cv __attribute__((unused)))
2721{
2722 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2723 if (items != 1)
2724 croak_xs_usagePerl_croak_xs_usage(cv, "cv");
2725 {
2726 B__CV cv;
2727 U32 RETVAL;
2728 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2729
2730 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2731 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2732 cv = INT2PTR(B__CV,tmp)(B__CV)(tmp);
2733 }
2734 else
2735 croakPerl_croak("cv is not a reference")
2736;
2737
2738 RETVAL = CvCONST(cv)(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_flags
& 0x0004)
;
2739 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
2740 }
2741 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2742}
2743
2744
2745XS_EUPXS(XS_B__CV_START)static void XS_B__CV_START( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2746XS_EUPXS(XS_B__CV_START)static void XS_B__CV_START( CV* cv __attribute__((unused)))
2747{
2748 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2749 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
2750 if (items != 1)
2751 croak_xs_usagePerl_croak_xs_usage(cv, "cv");
2752 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
2753 SPsp -= items;
2754 {
2755 B__CV cv;
2756
2757 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2758 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2759 cv = INT2PTR(B__CV,tmp)(B__CV)(tmp);
2760 }
2761 else
2762 croakPerl_croak("cv is not a reference")
2763;
2764#line 1969 "B.xs"
2765 PUSHs(make_op_object(aTHX_ CvISXSUB(cv) ? NULL(*++sp = (make_op_object( (((XPVCV*)({ void *_p = ((cv)->sv_any
); _p; }))->xcv_flags & 0x0008) ? ((void*)0) : ix ? ((
XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_root_u
.xcv_root : ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))
->xcv_start_u.xcv_start)))
2766 : ix ? CvROOT(cv) : CvSTART(cv)))(*++sp = (make_op_object( (((XPVCV*)({ void *_p = ((cv)->sv_any
); _p; }))->xcv_flags & 0x0008) ? ((void*)0) : ix ? ((
XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_root_u
.xcv_root : ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))
->xcv_start_u.xcv_start)))
;
2767#line 2768 "B.c"
2768 PUTBACKPL_stack_sp = sp;
2769 return;
2770 }
2771}
2772
2773
2774XS_EUPXS(XS_B__CV_DEPTH)static void XS_B__CV_DEPTH( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2775XS_EUPXS(XS_B__CV_DEPTH)static void XS_B__CV_DEPTH( CV* cv __attribute__((unused)))
2776{
2777 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2778 if (items != 1)
2779 croak_xs_usagePerl_croak_xs_usage(cv, "cv");
2780 {
2781 B__CV cv;
2782 I32 RETVAL;
2783 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2784
2785 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2786 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2787 cv = INT2PTR(B__CV,tmp)(B__CV)(tmp);
2788 }
2789 else
2790 croakPerl_croak("cv is not a reference")
2791;
2792
2793 RETVAL = CvDEPTH(cv)(*Perl_CvDEPTH((const CV *)cv));
2794 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
2795 }
2796 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2797}
2798
2799
2800XS_EUPXS(XS_B__CV_PADLIST)static void XS_B__CV_PADLIST( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2801XS_EUPXS(XS_B__CV_PADLIST)static void XS_B__CV_PADLIST( CV* cv __attribute__((unused)))
2802{
2803 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2804 if (items != 1)
2805 croak_xs_usagePerl_croak_xs_usage(cv, "cv");
2806 {
2807 B__CV cv;
2808 B__PADLIST RETVAL;
2809
2810 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2811 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2812 cv = INT2PTR(B__CV,tmp)(B__CV)(tmp);
2813 }
2814 else
2815 croakPerl_croak("cv is not a reference")
2816;
2817#line 1980 "B.xs"
2818 RETVAL = CvISXSUB(cv)(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_flags
& 0x0008)
? NULL((void*)0) : CvPADLIST(cv)(*( &(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_padlist_u.xcv_padlist)))
;
2819#line 2820 "B.c"
2820 {
2821 SV * RETVALSV;
2822 RETVALSV = sv_newmortal()Perl_sv_newmortal();
2823 sv_setiv(newSVrv(RETVALSV, RETVAL ? "B::PADLIST" : "B::NULL"),Perl_sv_setiv( Perl_newSVrv( RETVALSV,RETVAL ? "B::PADLIST" :
"B::NULL"),(IV)(RETVAL))
2824 PTR2IV(RETVAL))Perl_sv_setiv( Perl_newSVrv( RETVALSV,RETVAL ? "B::PADLIST" :
"B::NULL"),(IV)(RETVAL))
;
2825 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
2826 }
2827 }
2828 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2829}
2830
2831
2832XS_EUPXS(XS_B__CV_HSCXT)static void XS_B__CV_HSCXT( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2833XS_EUPXS(XS_B__CV_HSCXT)static void XS_B__CV_HSCXT( CV* cv __attribute__((unused)))
2834{
2835 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2836 if (items != 1)
2837 croak_xs_usagePerl_croak_xs_usage(cv, "cv");
2838 {
2839 B__CV cv;
2840 SV * RETVAL;
2841
2842 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2843 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2844 cv = INT2PTR(B__CV,tmp)(B__CV)(tmp);
2845 }
2846 else
2847 croakPerl_croak("cv is not a reference")
2848;
2849#line 1988 "B.xs"
2850 RETVAL = newSVuv(CvISXSUB(cv) ? PTR2UV(CvHSCXT(cv)) : 0)Perl_newSVuv( (((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }
))->xcv_flags & 0x0008) ? (UV)(*( &(((XPVCV*)({ void
*_p = ((cv)->sv_any); _p; }))->xcv_padlist_u.xcv_hscxt
))) : 0)
;
2851#line 2852 "B.c"
2852 RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL);
2853 ST(0)PL_stack_base[ax + (0)] = RETVAL;
2854 }
2855 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2856}
2857
2858
2859XS_EUPXS(XS_B__CV_XSUB)static void XS_B__CV_XSUB( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2860XS_EUPXS(XS_B__CV_XSUB)static void XS_B__CV_XSUB( CV* cv __attribute__((unused)))
2861{
2862 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2863 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
2864 if (items != 1)
2865 croak_xs_usagePerl_croak_xs_usage(cv, "cv");
2866 {
2867 B__CV cv;
2868
2869 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2870 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2871 cv = INT2PTR(B__CV,tmp)(B__CV)(tmp);
2872 }
2873 else
2874 croakPerl_croak("cv is not a reference")
2875;
2876#line 1998 "B.xs"
2877 ST(0)PL_stack_base[ax + (0)] = ix && CvCONST(cv)(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_flags
& 0x0004)
2878 ? make_sv_object(aTHX_ (SV *)CvXSUBANY(cv)((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_ptr)
2879 : sv_2mortal(newSViv(CvISXSUB(cv)Perl_sv_2mortal( Perl_newSViv( (((XPVCV*)({ void *_p = ((cv)->
sv_any); _p; }))->xcv_flags & 0x0008) ? (ix ? ((XPVCV*
)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u.xcv_xsubany
.any_iv : (IV)(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }
))->xcv_root_u.xcv_xsub)) : 0))
2880 ? (ix ? CvXSUBANY(cv).any_ivPerl_sv_2mortal( Perl_newSViv( (((XPVCV*)({ void *_p = ((cv)->
sv_any); _p; }))->xcv_flags & 0x0008) ? (ix ? ((XPVCV*
)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u.xcv_xsubany
.any_iv : (IV)(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }
))->xcv_root_u.xcv_xsub)) : 0))
2881 : PTR2IV(CvXSUB(cv)))Perl_sv_2mortal( Perl_newSViv( (((XPVCV*)({ void *_p = ((cv)->
sv_any); _p; }))->xcv_flags & 0x0008) ? (ix ? ((XPVCV*
)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u.xcv_xsubany
.any_iv : (IV)(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }
))->xcv_root_u.xcv_xsub)) : 0))
2882 : 0))Perl_sv_2mortal( Perl_newSViv( (((XPVCV*)({ void *_p = ((cv)->
sv_any); _p; }))->xcv_flags & 0x0008) ? (ix ? ((XPVCV*
)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u.xcv_xsubany
.any_iv : (IV)(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }
))->xcv_root_u.xcv_xsub)) : 0))
;
2883#line 2884 "B.c"
2884 }
2885 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2886}
2887
2888
2889XS_EUPXS(XS_B__CV_const_sv)static void XS_B__CV_const_sv( CV* cv __attribute__((unused))
)
; /* prototype to pass -Wmissing-prototypes */
2890XS_EUPXS(XS_B__CV_const_sv)static void XS_B__CV_const_sv( CV* cv __attribute__((unused))
)
2891{
2892 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2893 if (items != 1)
2894 croak_xs_usagePerl_croak_xs_usage(cv, "cv");
2895 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
2896 SPsp -= items;
2897 {
2898 B__CV cv;
2899
2900 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2901 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2902 cv = INT2PTR(B__CV,tmp)(B__CV)(tmp);
2903 }
2904 else
2905 croakPerl_croak("cv is not a reference")
2906;
2907#line 2009 "B.xs"
2908 PUSHs(make_sv_object(aTHX_ (SV *)cv_const_sv(cv)))(*++sp = (make_sv_object( (SV *)Perl_cv_const_sv(cv))));
2909#line 2910 "B.c"
2910 PUTBACKPL_stack_sp = sp;
2911 return;
2912 }
2913}
2914
2915
2916XS_EUPXS(XS_B__CV_GV)static void XS_B__CV_GV( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2917XS_EUPXS(XS_B__CV_GV)static void XS_B__CV_GV( CV* cv __attribute__((unused)))
2918{
2919 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2920 if (items != 1)
2921 croak_xs_usagePerl_croak_xs_usage(cv, "cv");
2922 {
2923 B__CV cv;
2924
2925 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2926 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2927 cv = INT2PTR(B__CV,tmp)(B__CV)(tmp);
2928 }
2929 else
2930 croakPerl_croak("cv is not a reference")
2931;
2932#line 2015 "B.xs"
2933 ST(0)PL_stack_base[ax + (0)] = make_sv_object(aTHX_ (SV*)CvGV(cv)Perl_CvGV( (CV *)(cv)));
2934#line 2935 "B.c"
2935 }
2936 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2937}
2938
2939
2940XS_EUPXS(XS_B__CV_NAME_HEK)static void XS_B__CV_NAME_HEK( CV* cv __attribute__((unused))
)
; /* prototype to pass -Wmissing-prototypes */
2941XS_EUPXS(XS_B__CV_NAME_HEK)static void XS_B__CV_NAME_HEK( CV* cv __attribute__((unused))
)
2942{
2943 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2944 if (items != 1)
2945 croak_xs_usagePerl_croak_xs_usage(cv, "cv");
2946 {
2947 B__CV cv;
2948 SV * RETVAL;
2949
2950 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2951 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2952 cv = INT2PTR(B__CV,tmp)(B__CV)(tmp);
2953 }
2954 else
2955 croakPerl_croak("cv is not a reference")
2956;
2957#line 2021 "B.xs"
2958 RETVAL = CvNAMED(cv)(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_flags
& 0x8000)
? newSVhek(CvNAME_HEK(cv))Perl_newSVhek( CvNAME_HEK(cv)) : &PL_sv_undef(PL_sv_immortals[1]);
2959#line 2960 "B.c"
2960 RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL);
2961 ST(0)PL_stack_base[ax + (0)] = RETVAL;
2962 }
2963 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2964}
2965
2966
2967XS_EUPXS(XS_B__HV_FILL)static void XS_B__HV_FILL( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2968XS_EUPXS(XS_B__HV_FILL)static void XS_B__HV_FILL( CV* cv __attribute__((unused)))
2969{
2970 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2971 if (items != 1)
2972 croak_xs_usagePerl_croak_xs_usage(cv, "hv");
2973 {
2974 B__HV hv;
2975 STRLEN RETVAL;
2976 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
2977
2978 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
2979 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
2980 hv = INT2PTR(B__HV,tmp)(B__HV)(tmp);
2981 }
2982 else
2983 croakPerl_croak("hv is not a reference")
2984;
2985
2986 RETVAL = HvFILL(hv)Perl_hv_fill( ((HV *)({ void *_p = (hv); _p; })));
2987 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
2988 }
2989 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
2990}
2991
2992
2993XS_EUPXS(XS_B__HV_RITER)static void XS_B__HV_RITER( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
2994XS_EUPXS(XS_B__HV_RITER)static void XS_B__HV_RITER( CV* cv __attribute__((unused)))
2995{
2996 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
2997 if (items != 1)
2998 croak_xs_usagePerl_croak_xs_usage(cv, "hv");
2999 {
3000 B__HV hv;
3001 I32 RETVAL;
3002 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
3003
3004 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3005 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3006 hv = INT2PTR(B__HV,tmp)(B__HV)(tmp);
3007 }
3008 else
3009 croakPerl_croak("hv is not a reference")
3010;
3011
3012 RETVAL = HvRITER(hv)(*Perl_hv_riter_p( ((HV *)({ void *_p = (hv); _p; }))));
3013 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
3014 }
3015 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
3016}
3017
3018
3019XS_EUPXS(XS_B__HV_ARRAY)static void XS_B__HV_ARRAY( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
3020XS_EUPXS(XS_B__HV_ARRAY)static void XS_B__HV_ARRAY( CV* cv __attribute__((unused)))
3021{
3022 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3023 if (items != 1)
3024 croak_xs_usagePerl_croak_xs_usage(cv, "hv");
3025 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
3026 SPsp -= items;
3027 {
3028 B__HV hv;
3029
3030 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3031 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3032 hv = INT2PTR(B__HV,tmp)(B__HV)(tmp);
3033 }
3034 else
3035 croakPerl_croak("hv is not a reference")
3036;
3037#line 2039 "B.xs"
3038 if (HvUSEDKEYS(hv)((((XPVHV*) (hv)->sv_any)->xhv_keys) - (((XPVMG*) (hv)->
sv_any)->xmg_u.xmg_magic ? Perl_hv_placeholders_get( (const
HV *)hv) : 0))
> 0) {
3039 HE *he;
3040 SSize_tssize_t extend_size;
3041 (void)hv_iterinit(hv)Perl_hv_iterinit( hv);
3042 /* 2*HvUSEDKEYS() should never be big enough to truncate or wrap */
3043 assert(HvUSEDKEYS(hv) <= (SSize_t_MAX >> 1))((void)0);
3044 extend_size = (SSize_tssize_t)HvUSEDKEYS(hv)((((XPVHV*) (hv)->sv_any)->xhv_keys) - (((XPVMG*) (hv)->
sv_any)->xmg_u.xmg_magic ? Perl_hv_placeholders_get( (const
HV *)hv) : 0))
* 2;
3045 EXTEND(sp, extend_size)do { (void)0; if (__builtin_expect(((((extend_size) < 0 ||
PL_stack_max - (sp) < (extend_size))) ? (_Bool)1 : (_Bool
)0),(0))) { sp = Perl_stack_grow( sp,sp,(sizeof(extend_size) >
sizeof(ssize_t) && ((ssize_t)(extend_size) != (extend_size
)) ? -1 : (extend_size))); ((void)sizeof(sp)); } } while (0)
;
3046 while ((he = hv_iternext(hv)Perl_hv_iternext_flags( hv,0))) {
3047 if (HeSVKEY(he)((((he)->hent_hek)->hek_key && ((he)->hent_hek
)->hek_len == -2) ? (*(SV**)((he)->hent_hek)->hek_key
) : ((void*)0))
) {
3048 mPUSHs(HeSVKEY(he))(*++sp = (Perl_sv_2mortal( ((((he)->hent_hek)->hek_key &&
((he)->hent_hek)->hek_len == -2) ? (*(SV**)((he)->hent_hek
)->hek_key) : ((void*)0)))))
;
3049 } else if (HeKUTF8(he)((*((unsigned char *)(((he)->hent_hek)->hek_key)+((he)->
hent_hek)->hek_len+1)) & 0x01)
) {
3050 PUSHs(newSVpvn_flags(HeKEY(he), HeKLEN(he), SVf_UTF8|SVs_TEMP))(*++sp = (Perl_newSVpvn_flags( ((he)->hent_hek)->hek_key
,((he)->hent_hek)->hek_len,0x20000000|0x00080000)))
;
3051 } else {
3052 mPUSHp(HeKEY(he), HeKLEN(he))(*++sp = (Perl_newSVpvn_flags( (((he)->hent_hek)->hek_key
),(((he)->hent_hek)->hek_len),0x00080000)))
;
3053 }
3054 PUSHs(make_sv_object(aTHX_ HeVAL(he)))(*++sp = (make_sv_object( (he)->he_valu.hent_val)));
3055 }
3056 }
3057#line 3058 "B.c"
3058 PUTBACKPL_stack_sp = sp;
3059 return;
3060 }
3061}
3062
3063
3064XS_EUPXS(XS_B__HE_VAL)static void XS_B__HE_VAL( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
3065XS_EUPXS(XS_B__HE_VAL)static void XS_B__HE_VAL( CV* cv __attribute__((unused)))
3066{
3067 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3068 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
3069 if (items != 1)
3070 croak_xs_usagePerl_croak_xs_usage(cv, "he");
3071 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
3072 SPsp -= items;
3073 {
3074 B__HE he;
3075
3076 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3077 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3078 he = INT2PTR(B__HE,tmp)(B__HE)(tmp);
3079 }
3080 else
3081 croakPerl_croak("he is not a reference")
3082;
3083#line 2067 "B.xs"
3084 PUSHs(make_sv_object(aTHX_ ix ? HeSVKEY_force(he) : HeVAL(he)))(*++sp = (make_sv_object( ix ? (((he)->hent_hek)->hek_key
? ((((he)->hent_hek)->hek_len == -2) ? (*(SV**)((he)->
hent_hek)->hek_key) : Perl_newSVpvn_flags( ((he)->hent_hek
)->hek_key,((he)->hent_hek)->hek_len,0x00080000 | ( (
(*((unsigned char *)(((he)->hent_hek)->hek_key)+((he)->
hent_hek)->hek_len+1)) & 0x01) ? 0x20000000 : 0 ))) : &
(PL_sv_immortals[1])) : (he)->he_valu.hent_val)))
;
3085#line 3086 "B.c"
3086 PUTBACKPL_stack_sp = sp;
3087 return;
3088 }
3089}
3090
3091
3092XS_EUPXS(XS_B__HE_HASH)static void XS_B__HE_HASH( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
3093XS_EUPXS(XS_B__HE_HASH)static void XS_B__HE_HASH( CV* cv __attribute__((unused)))
3094{
3095 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3096 if (items != 1)
3097 croak_xs_usagePerl_croak_xs_usage(cv, "he");
3098 {
3099 B__HE he;
3100 U32 RETVAL;
3101 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
3102
3103 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3104 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3105 he = INT2PTR(B__HE,tmp)(B__HE)(tmp);
3106 }
3107 else
3108 croakPerl_croak("he is not a reference")
3109;
3110
3111 RETVAL = HeHASH(he)((he)->hent_hek)->hek_hash;
3112 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
3113 }
3114 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
3115}
3116
3117
3118XS_EUPXS(XS_B__RHE_HASH)static void XS_B__RHE_HASH( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
3119XS_EUPXS(XS_B__RHE_HASH)static void XS_B__RHE_HASH( CV* cv __attribute__((unused)))
3120{
3121 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3122 if (items != 1)
3123 croak_xs_usagePerl_croak_xs_usage(cv, "h");
3124 {
3125 B__RHE h;
3126 SV * RETVAL;
3127
3128 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3129 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3130 h = INT2PTR(B__RHE,tmp)(B__RHE)(tmp);
3131 }
3132 else
3133 croakPerl_croak("h is not a reference")
3134;
3135#line 2079 "B.xs"
3136 RETVAL = newRV_noinc( (SV*)cophh_2hv(h, 0) )Perl_newRV_noinc( (SV*)Perl_refcounted_he_chain_2hv( h, 0));
3137#line 3138 "B.c"
3138 RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL);
3139 ST(0)PL_stack_base[ax + (0)] = RETVAL;
3140 }
3141 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
3142}
3143
3144
3145XS_EUPXS(XS_B__PADLIST_MAX)static void XS_B__PADLIST_MAX( CV* cv __attribute__((unused))
)
; /* prototype to pass -Wmissing-prototypes */
3146XS_EUPXS(XS_B__PADLIST_MAX)static void XS_B__PADLIST_MAX( CV* cv __attribute__((unused))
)
3147{
3148 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3149 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
3150 if (items != 1)
3151 croak_xs_usagePerl_croak_xs_usage(cv, "padlist");
3152 {
3153 B__PADLIST padlist;
3154 SSize_tssize_t RETVAL;
3155 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
3156
3157 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3158 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3159 padlist = INT2PTR(B__PADLIST,tmp)(B__PADLIST)(tmp);
3160 }
3161 else
3162 croakPerl_croak("padlist is not a reference")
3163;
3164#line 2091 "B.xs"
3165 PERL_UNUSED_VAR(ix)((void)sizeof(ix));
3166 RETVAL = PadlistMAX(padlist)(padlist)->xpadl_max;
3167#line 3168 "B.c"
3168 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
3169 }
3170 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
3171}
3172
3173
3174XS_EUPXS(XS_B__PADLIST_NAMES)static void XS_B__PADLIST_NAMES( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
3175XS_EUPXS(XS_B__PADLIST_NAMES)static void XS_B__PADLIST_NAMES( CV* cv __attribute__((unused
)))
3176{
3177 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3178 if (items != 1)
3179 croak_xs_usagePerl_croak_xs_usage(cv, "padlist");
3180 {
3181 B__PADLIST padlist;
3182 B__PADNAMELIST RETVAL;
3183
3184 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3185 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3186 padlist = INT2PTR(B__PADLIST,tmp)(B__PADLIST)(tmp);
3187 }
3188 else
3189 croakPerl_croak("padlist is not a reference")
3190;
3191
3192 RETVAL = PadlistNAMES(padlist)*((PADNAMELIST **)(padlist)->xpadl_arr.xpadlarr_alloc);
3193 {
3194 SV * RETVALSV;
3195 RETVALSV = sv_newmortal()Perl_sv_newmortal();
3196 sv_setiv(newSVrv(RETVALSV, RETVAL ? "B::PADNAMELIST" : "B::NULL"),Perl_sv_setiv( Perl_newSVrv( RETVALSV,RETVAL ? "B::PADNAMELIST"
: "B::NULL"),(IV)(RETVAL))
3197 PTR2IV(RETVAL))Perl_sv_setiv( Perl_newSVrv( RETVALSV,RETVAL ? "B::PADNAMELIST"
: "B::NULL"),(IV)(RETVAL))
;
3198 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
3199 }
3200 }
3201 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
3202}
3203
3204
3205XS_EUPXS(XS_B__PADLIST_ARRAY)static void XS_B__PADLIST_ARRAY( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
3206XS_EUPXS(XS_B__PADLIST_ARRAY)static void XS_B__PADLIST_ARRAY( CV* cv __attribute__((unused
)))
3207{
3208 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3209 if (items != 1)
3210 croak_xs_usagePerl_croak_xs_usage(cv, "padlist");
3211 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
3212 SPsp -= items;
3213 {
3214 B__PADLIST padlist;
3215
3216 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3217 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3218 padlist = INT2PTR(B__PADLIST,tmp)(B__PADLIST)(tmp);
3219 }
3220 else
3221 croakPerl_croak("padlist is not a reference")
3222;
3223#line 2104 "B.xs"
3224 if (PadlistMAX(padlist)(padlist)->xpadl_max >= 0) {
3225 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
3226 PAD **padp = PadlistARRAY(padlist)(padlist)->xpadl_arr.xpadlarr_alloc;
3227 SSize_tssize_t i;
3228 sv_setiv(newSVrv(TARG, PadlistNAMES(padlist)Perl_sv_setiv( Perl_newSVrv( targ,*((PADNAMELIST **)(padlist)
->xpadl_arr.xpadlarr_alloc) ? "B::PADNAMELIST" : "B::NULL"
),(IV)(*((PADNAMELIST **)(padlist)->xpadl_arr.xpadlarr_alloc
)))
3229 ? "B::PADNAMELIST"Perl_sv_setiv( Perl_newSVrv( targ,*((PADNAMELIST **)(padlist)
->xpadl_arr.xpadlarr_alloc) ? "B::PADNAMELIST" : "B::NULL"
),(IV)(*((PADNAMELIST **)(padlist)->xpadl_arr.xpadlarr_alloc
)))
3230 : "B::NULL"),Perl_sv_setiv( Perl_newSVrv( targ,*((PADNAMELIST **)(padlist)
->xpadl_arr.xpadlarr_alloc) ? "B::PADNAMELIST" : "B::NULL"
),(IV)(*((PADNAMELIST **)(padlist)->xpadl_arr.xpadlarr_alloc
)))
3231 PTR2IV(PadlistNAMES(padlist)))Perl_sv_setiv( Perl_newSVrv( targ,*((PADNAMELIST **)(padlist)
->xpadl_arr.xpadlarr_alloc) ? "B::PADNAMELIST" : "B::NULL"
),(IV)(*((PADNAMELIST **)(padlist)->xpadl_arr.xpadlarr_alloc
)))
;
3232 XPUSHTARGdo { do { if (__builtin_expect(((((targ)->sv_flags & 0x00400000
)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ); } while (
0); do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (targ); } while (0); } while (0)
;
3233 for (i = 1; i <= PadlistMAX(padlist)(padlist)->xpadl_max; i++)
3234 XPUSHs(make_sv_object(aTHX_ (SV *)padp[i]))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (make_sv_object( (SV *)padp[i])); } while (0)
;
3235 }
3236#line 3237 "B.c"
3237 PUTBACKPL_stack_sp = sp;
3238 return;
3239 }
3240}
3241
3242
3243XS_EUPXS(XS_B__PADLIST_ARRAYelt)static void XS_B__PADLIST_ARRAYelt( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
3244XS_EUPXS(XS_B__PADLIST_ARRAYelt)static void XS_B__PADLIST_ARRAYelt( CV* cv __attribute__((unused
)))
3245{
3246 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3247 if (items != 2)
3248 croak_xs_usagePerl_croak_xs_usage(cv, "padlist, idx");
3249 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
3250 SPsp -= items;
3251 {
3252 B__PADLIST padlist;
3253 SSize_tssize_t idx = (SSize_tssize_t)SvIV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (1)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
1)],2))
3254;
3255
3256 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3257 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3258 padlist = INT2PTR(B__PADLIST,tmp)(B__PADLIST)(tmp);
3259 }
3260 else
3261 croakPerl_croak("padlist is not a reference")
3262;
3263#line 2122 "B.xs"
3264 if (idx < 0 || idx > PadlistMAX(padlist)(padlist)->xpadl_max)
3265 XPUSHs(make_sv_object(aTHX_ NULL))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (make_sv_object( ((void*)0))); } while (0)
;
3266 else if (!idx) {
3267 PL_stack_sp--;
3268 PUSHMARK(PL_stack_sp-1)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry
= ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool
)0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry
= (I32)((PL_stack_sp-1) - PL_stack_base); ; } while (0)
;
3269 XS_B__PADLIST_NAMES(aTHX_ cv);
3270 return;
3271 }
3272 else
3273 XPUSHs(make_sv_object(aTHX_do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (make_sv_object( (SV *)(padlist)->xpadl_arr.xpadlarr_alloc
[idx])); } while (0)
3274 (SV *)PadlistARRAY(padlist)[idx]))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (make_sv_object( (SV *)(padlist)->xpadl_arr.xpadlarr_alloc
[idx])); } while (0)
;
3275#line 3276 "B.c"
3276 PUTBACKPL_stack_sp = sp;
3277 return;
3278 }
3279}
3280
3281
3282XS_EUPXS(XS_B__PADLIST_REFCNT)static void XS_B__PADLIST_REFCNT( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
3283XS_EUPXS(XS_B__PADLIST_REFCNT)static void XS_B__PADLIST_REFCNT( CV* cv __attribute__((unused
)))
3284{
3285 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3286 if (items != 1)
3287 croak_xs_usagePerl_croak_xs_usage(cv, "padlist");
3288 {
3289 B__PADLIST padlist;
3290 U32 RETVAL;
3291 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
3292
3293 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3294 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3295 padlist = INT2PTR(B__PADLIST,tmp)(B__PADLIST)(tmp);
3296 }
3297 else
3298 croakPerl_croak("padlist is not a reference")
3299;
3300#line 2138 "B.xs"
3301 PERL_UNUSED_VAR(padlist)((void)sizeof(padlist));
3302 RETVAL = PadlistREFCNT(padlist)1;
3303#line 3304 "B.c"
3304 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
3305 }
3306 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
3307}
3308
3309
3310XS_EUPXS(XS_B__PADNAMELIST_ARRAY)static void XS_B__PADNAMELIST_ARRAY( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
3311XS_EUPXS(XS_B__PADNAMELIST_ARRAY)static void XS_B__PADNAMELIST_ARRAY( CV* cv __attribute__((unused
)))
3312{
3313 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3314 if (items != 1)
3315 croak_xs_usagePerl_croak_xs_usage(cv, "pnl");
3316 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
3317 SPsp -= items;
3318 {
3319 B__PADNAMELIST pnl;
3320
3321 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3322 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3323 pnl = INT2PTR(B__PADNAMELIST,tmp)(B__PADNAMELIST)(tmp);
3324 }
3325 else
3326 croakPerl_croak("pnl is not a reference")
3327;
3328#line 2149 "B.xs"
3329 if (PadnamelistMAX(pnl)(pnl)->xpadnl_fill >= 0) {
3330 PADNAME **padp = PadnamelistARRAY(pnl)(pnl)->xpadnl_alloc;
3331 SSize_tssize_t i = 0;
3332 for (; i <= PadnamelistMAX(pnl)(pnl)->xpadnl_fill; i++)
3333 {
3334 SV *rv = sv_newmortal()Perl_sv_newmortal();
3335 sv_setiv(newSVrv(rv,padp[i] ? "B::PADNAME" : "B::SPECIAL"),Perl_sv_setiv( Perl_newSVrv( rv,padp[i] ? "B::PADNAME" : "B::SPECIAL"
),(IV)(padp[i]))
3336 PTR2IV(padp[i]))Perl_sv_setiv( Perl_newSVrv( rv,padp[i] ? "B::PADNAME" : "B::SPECIAL"
),(IV)(padp[i]))
;
3337 XPUSHs(rv)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (rv); } while (0)
;
3338 }
3339 }
3340#line 3341 "B.c"
3341 PUTBACKPL_stack_sp = sp;
3342 return;
3343 }
3344}
3345
3346
3347XS_EUPXS(XS_B__PADNAMELIST_ARRAYelt)static void XS_B__PADNAMELIST_ARRAYelt( CV* cv __attribute__(
(unused)))
; /* prototype to pass -Wmissing-prototypes */
3348XS_EUPXS(XS_B__PADNAMELIST_ARRAYelt)static void XS_B__PADNAMELIST_ARRAYelt( CV* cv __attribute__(
(unused)))
3349{
3350 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3351 if (items != 2)
3352 croak_xs_usagePerl_croak_xs_usage(cv, "pnl, idx");
3353 {
3354 B__PADNAMELIST pnl;
3355 SSize_tssize_t idx = (SSize_tssize_t)SvIV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (1)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
1)],2))
3356;
3357 B__PADNAME RETVAL;
3358
3359 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3360 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3361 pnl = INT2PTR(B__PADNAMELIST,tmp)(B__PADNAMELIST)(tmp);
3362 }
3363 else
3364 croakPerl_croak("pnl is not a reference")
3365;
3366#line 2166 "B.xs"
3367 if (idx < 0 || idx > PadnamelistMAX(pnl)(pnl)->xpadnl_fill)
3368 RETVAL = NULL((void*)0);
3369 else
3370 RETVAL = PadnamelistARRAY(pnl)(pnl)->xpadnl_alloc[idx];
3371#line 3372 "B.c"
3372 {
3373 SV * RETVALSV;
3374 RETVALSV = sv_newmortal()Perl_sv_newmortal();
3375 sv_setiv(newSVrv(RETVALSV, RETVAL ? "B::PADNAME" : "B::SPECIAL"),Perl_sv_setiv( Perl_newSVrv( RETVALSV,RETVAL ? "B::PADNAME" :
"B::SPECIAL"),(IV)(RETVAL))
3376 PTR2IV(RETVAL))Perl_sv_setiv( Perl_newSVrv( RETVALSV,RETVAL ? "B::PADNAME" :
"B::SPECIAL"),(IV)(RETVAL))
;
3377 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
3378 }
3379 }
3380 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
3381}
3382
3383#define PN_type_ix0x00000 | __builtin_offsetof(struct padname, xpadn_type_u.xpadn_typestash
)
\
3384 sv_SVp0x00000 | STRUCT_OFFSET(struct padname,xpadn_type_u.xpadn_typestash)__builtin_offsetof(struct padname, xpadn_type_u.xpadn_typestash
)
3385#define PN_ourstash_ix0x00000 | __builtin_offsetof(struct padname, xpadn_ourstash) \
3386 sv_SVp0x00000 | STRUCT_OFFSET(struct padname,xpadn_ourstash)__builtin_offsetof(struct padname, xpadn_ourstash)
3387#define PN_len_ix0x50000 | __builtin_offsetof(struct padname, xpadn_len) \
3388 sv_U8p0x50000 | STRUCT_OFFSET(struct padname,xpadn_len)__builtin_offsetof(struct padname, xpadn_len)
3389#define PN_refcnt_ix0x40000 | __builtin_offsetof(struct padname, xpadn_refcnt) \
3390 sv_U32p0x40000 | STRUCT_OFFSET(struct padname, xpadn_refcnt)__builtin_offsetof(struct padname, xpadn_refcnt)
3391#define PN_cop_seq_range_low_ix0x40000 | __builtin_offsetof(struct padname, xpadn_low) \
3392 sv_U32p0x40000 | STRUCT_OFFSET(struct padname, xpadn_low)__builtin_offsetof(struct padname, xpadn_low)
3393#define PN_cop_seq_range_high_ix0x40000 | __builtin_offsetof(struct padname, xpadn_high) \
3394 sv_U32p0x40000 | STRUCT_OFFSET(struct padname, xpadn_high)__builtin_offsetof(struct padname, xpadn_high)
3395#define PNL_refcnt_ix0x40000 | __builtin_offsetof(struct padnamelist, xpadnl_refcnt
)
\
3396 sv_U32p0x40000 | STRUCT_OFFSET(struct padnamelist, xpadnl_refcnt)__builtin_offsetof(struct padnamelist, xpadnl_refcnt)
3397#define PL_id_ix0x40000 | __builtin_offsetof(struct padlist, xpadl_id) \
3398 sv_U32p0x40000 | STRUCT_OFFSET(struct padlist, xpadl_id)__builtin_offsetof(struct padlist, xpadl_id)
3399#define PL_outid_ix0x40000 | __builtin_offsetof(struct padlist, xpadl_outid) \
3400 sv_U32p0x40000 | STRUCT_OFFSET(struct padlist, xpadl_outid)__builtin_offsetof(struct padlist, xpadl_outid)
3401
3402XS_EUPXS(XS_B__PADNAME_TYPE)static void XS_B__PADNAME_TYPE( CV* cv __attribute__((unused)
))
; /* prototype to pass -Wmissing-prototypes */
3403XS_EUPXS(XS_B__PADNAME_TYPE)static void XS_B__PADNAME_TYPE( CV* cv __attribute__((unused)
))
3404{
3405 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3406 dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->
xcv_start_u.xcv_xsubany.any_i32
;
3407 if (items != 1)
3408 croak_xs_usagePerl_croak_xs_usage(cv, "pn");
3409 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
3410 SPsp -= items;
3411 {
3412 B__PADNAME pn;
3413#line 2209 "B.xs"
3414 char *ptr;
3415 SV *ret;
3416#line 3417 "B.c"
3417
3418 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3419 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3420 pn = INT2PTR(B__PADNAME,tmp)(B__PADNAME)(tmp);
3421 }
3422 else
3423 croakPerl_croak("pn is not a reference")
3424;
3425#line 2212 "B.xs"
3426 ptr = (ix & 0xFFFF) + (char *)pn;
3427 switch ((U8)(ix >> 16)) {
3428 case (U8)(sv_SVp0x00000 >> 16):
3429 ret = make_sv_object(aTHX_ *((SV **)ptr));
3430 break;
3431 case (U8)(sv_U32p0x40000 >> 16):
3432 ret = sv_2mortal(newSVuv(*((U32 *)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((U32 *)ptr)));
3433 break;
3434 case (U8)(sv_U8p0x50000 >> 16):
3435 ret = sv_2mortal(newSVuv(*((U8 *)ptr)))Perl_sv_2mortal( Perl_newSVuv( *((U8 *)ptr)));
3436 break;
3437 default:
3438 NOT_REACHED((!"UNREACHABLE") ? (void) 0 : __builtin_unreachable());
3439 }
3440 ST(0)PL_stack_base[ax + (0)] = ret;
3441 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
3442#line 3443 "B.c"
3443 PUTBACKPL_stack_sp = sp;
3444 return;
3445 }
3446}
3447
3448
3449XS_EUPXS(XS_B__PADNAME_PV)static void XS_B__PADNAME_PV( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
3450XS_EUPXS(XS_B__PADNAME_PV)static void XS_B__PADNAME_PV( CV* cv __attribute__((unused)))
3451{
3452 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3453 if (items != 1)
3454 croak_xs_usagePerl_croak_xs_usage(cv, "pn");
3455 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
3456 SPsp -= items;
3457 {
3458 B__PADNAME pn;
3459#line 2233 "B.xs"
3460 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
3461#line 3462 "B.c"
3462 SV * RETVAL;
3463
3464 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3465 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3466 pn = INT2PTR(B__PADNAME,tmp)(B__PADNAME)(tmp);
3467 }
3468 else
3469 croakPerl_croak("pn is not a reference")
3470;
3471#line 2235 "B.xs"
3472 PERL_UNUSED_ARG(RETVAL)((void)sizeof(RETVAL));
3473 sv_setpvn(TARG, PadnamePV(pn), PadnameLEN(pn))Perl_sv_setpvn( targ,(pn)->xpadn_pv,(pn)->xpadn_len);
3474 SvUTF8_on(TARG)((targ)->sv_flags |= (0x20000000));
3475 XPUSHTARGdo { do { if (__builtin_expect(((((targ)->sv_flags & 0x00400000
)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ); } while (
0); do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (targ); } while (0); } while (0)
;
3476#line 3477 "B.c"
3477 PUTBACKPL_stack_sp = sp;
3478 return;
3479 }
3480}
3481
3482
3483XS_EUPXS(XS_B__PADNAME_FLAGS)static void XS_B__PADNAME_FLAGS( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
3484XS_EUPXS(XS_B__PADNAME_FLAGS)static void XS_B__PADNAME_FLAGS( CV* cv __attribute__((unused
)))
3485{
3486 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3487 if (items != 1)
3488 croak_xs_usagePerl_croak_xs_usage(cv, "pn");
3489 {
3490 B__PADNAME pn;
3491 U32 RETVAL;
3492 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
3493
3494 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
3495 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
3496 pn = INT2PTR(B__PADNAME,tmp)(B__PADNAME)(tmp);
3497 }
3498 else
3499 croakPerl_croak("pn is not a reference")
3500;
3501#line 2261 "B.xs"
3502 RETVAL = PadnameFLAGS(pn)(pn)->xpadn_flags;
3503 /* backward-compatibility hack, which should be removed if the
3504 flags field becomes large enough to hold SVf_FAKE (and
3505 PADNAMEt_OUTER should be renumbered to match SVf_FAKE) */
3506 STATIC_ASSERT_STMT(SVf_FAKE >= 1<<(sizeof(PadnameFLAGS((B__PADNAME)NULL)) * 8))do { _Static_assert(0x01000000 >= 1<<(sizeof(((B__PADNAME
)((void*)0))->xpadn_flags) * 8), "0x01000000 >= 1<<(sizeof(((B__PADNAME)((void*)0))->xpadn_flags) * 8)"
); } while (0)
;
3507 if (PadnameOUTER(pn)((pn)->xpadn_flags & 1))
3508 RETVAL |= SVf_FAKE0x01000000;
3509#line 3510 "B.c"
3510 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
3511 }
3512 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
3513}
3514
3515#ifdef __cplusplus
3516extern "C"
3517#endif
3518XS_EXTERNAL(boot_B)void boot_B( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
3519XS_EXTERNAL(boot_B)void boot_B( CV* cv __attribute__((unused)))
3520{
3521#if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5))
3522 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
3523#else
3524 dVARstruct Perl___notused_struct; dXSBOOTARGSXSAPIVERCHKI32 ax = Perl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter
)) << 16) | ((sizeof("" "1.80" "")-1) > 0xFF ? (Perl_croak
("panic: handshake overflow"), 0xFF) : (sizeof("" "1.80" "")-
1) << 8) | ((((1)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 :
0) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | ((((
1)) ? (_Bool)1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" "v"
"5" "." "32" "." "0" "")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow"
), 0x0000001F) : (sizeof("" "v" "5" "." "32" "." "0" "")-1)))
, cv, "B.c", "v" "5" "." "32" "." "0", "1.80"); SV **mark = PL_stack_base
+ ax; SV **sp = PL_stack_sp; I32 items = (I32)(sp - mark)
;
3525#endif
3526#if (PERL_REVISION5 == 5 && PERL_VERSION32 < 9)
3527 char* file = __FILE__"B.c";
3528#else
3529 const char* file = __FILE__"B.c";
3530#endif
3531
3532 PERL_UNUSED_VAR(file)((void)sizeof(file));
3533
3534 PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */
3535 PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */
3536#if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5))
3537 XS_VERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter))
<< 16) | ((sizeof("" "1.80" "")-1) > 0xFF ? (Perl_croak
("panic: handshake overflow"), 0xFF) : (sizeof("" "1.80" "")-
1) << 8) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 :
0) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | ((((
0)) ? (_Bool)1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" ""
"")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow"
), 0x0000001F) : (sizeof("" "" "")-1))), cv, "B.c", items, ax
, "1.80")
;
3538# ifdef XS_APIVERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter))
<< 16) | ((sizeof("" "" "")-1) > 0xFF ? (Perl_croak
("panic: handshake overflow"), 0xFF) : (sizeof("" "" "")-1) <<
8) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 : 0) | ((((
0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | ((((0)) ? (_Bool
)1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" "v" "5" "." "32"
"." "0" "")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow"
), 0x0000001F) : (sizeof("" "v" "5" "." "32" "." "0" "")-1)))
, cv, "B.c", items, ax, "v" "5" "." "32" "." "0")
3539 XS_APIVERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter))
<< 16) | ((sizeof("" "" "")-1) > 0xFF ? (Perl_croak
("panic: handshake overflow"), 0xFF) : (sizeof("" "" "")-1) <<
8) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 : 0) | ((((
0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | ((((0)) ? (_Bool
)1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" "v" "5" "." "32"
"." "0" "")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow"
), 0x0000001F) : (sizeof("" "v" "5" "." "32" "." "0" "")-1)))
, cv, "B.c", items, ax, "v" "5" "." "32" "." "0")
;
3540# endif
3541#endif
3542
3543 newXS_deffile("B::formfeed", XS_B_formfeed)Perl_newXS_deffile( "B::formfeed",XS_B_formfeed);
3544 newXS_deffile("B::amagic_generation", XS_B_amagic_generation)Perl_newXS_deffile( "B::amagic_generation",XS_B_amagic_generation
)
;
3545 newXS_deffile("B::comppadlist", XS_B_comppadlist)Perl_newXS_deffile( "B::comppadlist",XS_B_comppadlist);
3546 cv = newXS_deffile("B::sv_no", XS_B_sv_undef)Perl_newXS_deffile( "B::sv_no",XS_B_sv_undef);
3547 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3548 cv = newXS_deffile("B::sv_undef", XS_B_sv_undef)Perl_newXS_deffile( "B::sv_undef",XS_B_sv_undef);
3549 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3550 cv = newXS_deffile("B::sv_yes", XS_B_sv_undef)Perl_newXS_deffile( "B::sv_yes",XS_B_sv_undef);
3551 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 2;
3552 cv = newXS_deffile("B::main_root", XS_B_main_root)Perl_newXS_deffile( "B::main_root",XS_B_main_root);
3553 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3554 cv = newXS_deffile("B::main_start", XS_B_main_root)Perl_newXS_deffile( "B::main_start",XS_B_main_root);
3555 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3556 cv = newXS_deffile("B::dowarn", XS_B_sub_generation)Perl_newXS_deffile( "B::dowarn",XS_B_sub_generation);
3557 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3558 cv = newXS_deffile("B::sub_generation", XS_B_sub_generation)Perl_newXS_deffile( "B::sub_generation",XS_B_sub_generation);
3559 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3560 newXS_deffile("B::walkoptree", XS_B_walkoptree)Perl_newXS_deffile( "B::walkoptree",XS_B_walkoptree);
3561 newXS_deffile("B::walkoptree_debug", XS_B_walkoptree_debug)Perl_newXS_deffile( "B::walkoptree_debug",XS_B_walkoptree_debug
)
;
3562 newXS_deffile("B::address", XS_B_address)Perl_newXS_deffile( "B::address",XS_B_address);
3563 newXS_deffile("B::svref_2object", XS_B_svref_2object)Perl_newXS_deffile( "B::svref_2object",XS_B_svref_2object);
3564 newXS_deffile("B::opnumber", XS_B_opnumber)Perl_newXS_deffile( "B::opnumber",XS_B_opnumber);
3565 newXS_deffile("B::ppname", XS_B_ppname)Perl_newXS_deffile( "B::ppname",XS_B_ppname);
3566 newXS_deffile("B::hash", XS_B_hash)Perl_newXS_deffile( "B::hash",XS_B_hash);
3567 newXS_deffile("B::cast_I32", XS_B_cast_I32)Perl_newXS_deffile( "B::cast_I32",XS_B_cast_I32);
3568 cv = newXS_deffile("B::minus_c", XS_B_minus_c)Perl_newXS_deffile( "B::minus_c",XS_B_minus_c);
3569 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3570 cv = newXS_deffile("B::save_BEGINs", XS_B_minus_c)Perl_newXS_deffile( "B::save_BEGINs",XS_B_minus_c);
3571 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3572 cv = newXS_deffile("B::cchar", XS_B_cstring)Perl_newXS_deffile( "B::cchar",XS_B_cstring);
3573 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 2;
3574 cv = newXS_deffile("B::cstring", XS_B_cstring)Perl_newXS_deffile( "B::cstring",XS_B_cstring);
3575 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3576 cv = newXS_deffile("B::perlstring", XS_B_cstring)Perl_newXS_deffile( "B::perlstring",XS_B_cstring);
3577 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3578 newXS_deffile("B::threadsv_names", XS_B_threadsv_names)Perl_newXS_deffile( "B::threadsv_names",XS_B_threadsv_names);
3579#if XSubPPtmpAAAA
3580 newXS_deffile("B::CLONE", XS_B_CLONE)Perl_newXS_deffile( "B::CLONE",XS_B_CLONE);
3581#endif
3582 cv = newXS_deffile("B::BINOP::last", XS_B__OP_next)Perl_newXS_deffile( "B::BINOP::last",XS_B__OP_next);
3583 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 6;
3584 cv = newXS_deffile("B::COP::arybase", XS_B__OP_next)Perl_newXS_deffile( "B::COP::arybase",XS_B__OP_next);
3585 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 43;
3586 cv = newXS_deffile("B::COP::cop_seq", XS_B__OP_next)Perl_newXS_deffile( "B::COP::cop_seq",XS_B__OP_next);
3587 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 17;
3588 cv = newXS_deffile("B::COP::file", XS_B__OP_next)Perl_newXS_deffile( "B::COP::file",XS_B__OP_next);
3589 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 22;
3590 cv = newXS_deffile("B::COP::filegv", XS_B__OP_next)Perl_newXS_deffile( "B::COP::filegv",XS_B__OP_next);
3591 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 21;
3592 cv = newXS_deffile("B::COP::hints", XS_B__OP_next)Perl_newXS_deffile( "B::COP::hints",XS_B__OP_next);
3593 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 19;
3594 cv = newXS_deffile("B::COP::hints_hash", XS_B__OP_next)Perl_newXS_deffile( "B::COP::hints_hash",XS_B__OP_next);
3595 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 46;
3596 cv = newXS_deffile("B::COP::io", XS_B__OP_next)Perl_newXS_deffile( "B::COP::io",XS_B__OP_next);
3597 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 45;
3598 cv = newXS_deffile("B::COP::label", XS_B__OP_next)Perl_newXS_deffile( "B::COP::label",XS_B__OP_next);
3599 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 42;
3600 cv = newXS_deffile("B::COP::line", XS_B__OP_next)Perl_newXS_deffile( "B::COP::line",XS_B__OP_next);
3601 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 18;
3602 cv = newXS_deffile("B::COP::stash", XS_B__OP_next)Perl_newXS_deffile( "B::COP::stash",XS_B__OP_next);
3603 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 23;
3604 cv = newXS_deffile("B::COP::stashoff", XS_B__OP_next)Perl_newXS_deffile( "B::COP::stashoff",XS_B__OP_next);
3605 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 25;
3606 cv = newXS_deffile("B::COP::stashpv", XS_B__OP_next)Perl_newXS_deffile( "B::COP::stashpv",XS_B__OP_next);
3607 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 24;
3608 cv = newXS_deffile("B::COP::warnings", XS_B__OP_next)Perl_newXS_deffile( "B::COP::warnings",XS_B__OP_next);
3609 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 44;
3610 cv = newXS_deffile("B::LISTOP::children", XS_B__OP_next)Perl_newXS_deffile( "B::LISTOP::children",XS_B__OP_next);
3611 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 33;
3612 cv = newXS_deffile("B::LOGOP::other", XS_B__OP_next)Perl_newXS_deffile( "B::LOGOP::other",XS_B__OP_next);
3613 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 7;
3614 cv = newXS_deffile("B::LOOP::lastop", XS_B__OP_next)Perl_newXS_deffile( "B::LOOP::lastop",XS_B__OP_next);
3615 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 11;
3616 cv = newXS_deffile("B::LOOP::nextop", XS_B__OP_next)Perl_newXS_deffile( "B::LOOP::nextop",XS_B__OP_next);
3617 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 10;
3618 cv = newXS_deffile("B::LOOP::redoop", XS_B__OP_next)Perl_newXS_deffile( "B::LOOP::redoop",XS_B__OP_next);
3619 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 9;
3620 cv = newXS_deffile("B::METHOP::first", XS_B__OP_next)Perl_newXS_deffile( "B::METHOP::first",XS_B__OP_next);
3621 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 53;
3622 cv = newXS_deffile("B::METHOP::meth_sv", XS_B__OP_next)Perl_newXS_deffile( "B::METHOP::meth_sv",XS_B__OP_next);
3623 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 54;
3624 cv = newXS_deffile("B::METHOP::rclass", XS_B__OP_next)Perl_newXS_deffile( "B::METHOP::rclass",XS_B__OP_next);
3625 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 56;
3626 cv = newXS_deffile("B::OP::desc", XS_B__OP_next)Perl_newXS_deffile( "B::OP::desc",XS_B__OP_next);
3627 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 28;
3628 cv = newXS_deffile("B::OP::flags", XS_B__OP_next)Perl_newXS_deffile( "B::OP::flags",XS_B__OP_next);
3629 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 3;
3630 cv = newXS_deffile("B::OP::folded", XS_B__OP_next)Perl_newXS_deffile( "B::OP::folded",XS_B__OP_next);
3631 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 50;
3632 cv = newXS_deffile("B::OP::moresib", XS_B__OP_next)Perl_newXS_deffile( "B::OP::moresib",XS_B__OP_next);
3633 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 51;
3634 cv = newXS_deffile("B::OP::name", XS_B__OP_next)Perl_newXS_deffile( "B::OP::name",XS_B__OP_next);
3635 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 27;
3636 cv = newXS_deffile("B::OP::next", XS_B__OP_next)Perl_newXS_deffile( "B::OP::next",XS_B__OP_next);
3637 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3638 cv = newXS_deffile("B::OP::opt", XS_B__OP_next)Perl_newXS_deffile( "B::OP::opt",XS_B__OP_next);
3639 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 31;
3640 cv = newXS_deffile("B::OP::parent", XS_B__OP_next)Perl_newXS_deffile( "B::OP::parent",XS_B__OP_next);
3641 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 52;
3642 cv = newXS_deffile("B::OP::ppaddr", XS_B__OP_next)Perl_newXS_deffile( "B::OP::ppaddr",XS_B__OP_next);
3643 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 29;
3644 cv = newXS_deffile("B::OP::private", XS_B__OP_next)Perl_newXS_deffile( "B::OP::private",XS_B__OP_next);
3645 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 4;
3646 cv = newXS_deffile("B::OP::savefree", XS_B__OP_next)Perl_newXS_deffile( "B::OP::savefree",XS_B__OP_next);
3647 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 48;
3648 cv = newXS_deffile("B::OP::sibling", XS_B__OP_next)Perl_newXS_deffile( "B::OP::sibling",XS_B__OP_next);
3649 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3650 cv = newXS_deffile("B::OP::size", XS_B__OP_next)Perl_newXS_deffile( "B::OP::size",XS_B__OP_next);
3651 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 26;
3652 cv = newXS_deffile("B::OP::slabbed", XS_B__OP_next)Perl_newXS_deffile( "B::OP::slabbed",XS_B__OP_next);
3653 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 47;
3654 cv = newXS_deffile("B::OP::spare", XS_B__OP_next)Perl_newXS_deffile( "B::OP::spare",XS_B__OP_next);
3655 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 32;
3656 cv = newXS_deffile("B::OP::static", XS_B__OP_next)Perl_newXS_deffile( "B::OP::static",XS_B__OP_next);
3657 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 49;
3658 cv = newXS_deffile("B::OP::targ", XS_B__OP_next)Perl_newXS_deffile( "B::OP::targ",XS_B__OP_next);
3659 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 2;
3660 cv = newXS_deffile("B::OP::type", XS_B__OP_next)Perl_newXS_deffile( "B::OP::type",XS_B__OP_next);
3661 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 30;
3662 cv = newXS_deffile("B::PADOP::gv", XS_B__OP_next)Perl_newXS_deffile( "B::PADOP::gv",XS_B__OP_next);
3663 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 40;
3664 cv = newXS_deffile("B::PADOP::padix", XS_B__OP_next)Perl_newXS_deffile( "B::PADOP::padix",XS_B__OP_next);
3665 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 16;
3666 cv = newXS_deffile("B::PADOP::sv", XS_B__OP_next)Perl_newXS_deffile( "B::PADOP::sv",XS_B__OP_next);
3667 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 39;
3668 cv = newXS_deffile("B::PMOP::code_list", XS_B__OP_next)Perl_newXS_deffile( "B::PMOP::code_list",XS_B__OP_next);
3669 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 13;
3670 cv = newXS_deffile("B::PMOP::pmflags", XS_B__OP_next)Perl_newXS_deffile( "B::PMOP::pmflags",XS_B__OP_next);
3671 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 12;
3672 cv = newXS_deffile("B::PMOP::pmoffset", XS_B__OP_next)Perl_newXS_deffile( "B::PMOP::pmoffset",XS_B__OP_next);
3673 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 20;
3674 cv = newXS_deffile("B::PMOP::pmregexp", XS_B__OP_next)Perl_newXS_deffile( "B::PMOP::pmregexp",XS_B__OP_next);
3675 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 55;
3676 cv = newXS_deffile("B::PMOP::pmreplroot", XS_B__OP_next)Perl_newXS_deffile( "B::PMOP::pmreplroot",XS_B__OP_next);
3677 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 34;
3678 cv = newXS_deffile("B::PMOP::pmreplstart", XS_B__OP_next)Perl_newXS_deffile( "B::PMOP::pmreplstart",XS_B__OP_next);
3679 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 8;
3680 cv = newXS_deffile("B::PMOP::pmstash", XS_B__OP_next)Perl_newXS_deffile( "B::PMOP::pmstash",XS_B__OP_next);
3681 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 36;
3682 cv = newXS_deffile("B::PMOP::pmstashpv", XS_B__OP_next)Perl_newXS_deffile( "B::PMOP::pmstashpv",XS_B__OP_next);
3683 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 35;
3684 cv = newXS_deffile("B::PMOP::precomp", XS_B__OP_next)Perl_newXS_deffile( "B::PMOP::precomp",XS_B__OP_next);
3685 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 37;
3686 cv = newXS_deffile("B::PMOP::reflags", XS_B__OP_next)Perl_newXS_deffile( "B::PMOP::reflags",XS_B__OP_next);
3687 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 38;
3688 cv = newXS_deffile("B::PVOP::pv", XS_B__OP_next)Perl_newXS_deffile( "B::PVOP::pv",XS_B__OP_next);
3689 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 41;
3690 cv = newXS_deffile("B::SVOP::gv", XS_B__OP_next)Perl_newXS_deffile( "B::SVOP::gv",XS_B__OP_next);
3691 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 15;
3692 cv = newXS_deffile("B::SVOP::sv", XS_B__OP_next)Perl_newXS_deffile( "B::SVOP::sv",XS_B__OP_next);
3693 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 14;
3694 cv = newXS_deffile("B::UNOP::first", XS_B__OP_next)Perl_newXS_deffile( "B::UNOP::first",XS_B__OP_next);
3695 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 5;
3696 newXS_deffile("B::OP::oplist", XS_B__OP_oplist)Perl_newXS_deffile( "B::OP::oplist",XS_B__OP_oplist);
3697 newXS_deffile("B::UNOP_AUX::string", XS_B__UNOP_AUX_string)Perl_newXS_deffile( "B::UNOP_AUX::string",XS_B__UNOP_AUX_string
)
;
3698 newXS_deffile("B::UNOP_AUX::aux_list", XS_B__UNOP_AUX_aux_list)Perl_newXS_deffile( "B::UNOP_AUX::aux_list",XS_B__UNOP_AUX_aux_list
)
;
3699 cv = newXS_deffile("B::SV::FLAGS", XS_B__SV_REFCNT)Perl_newXS_deffile( "B::SV::FLAGS",XS_B__SV_REFCNT);
3700 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0xFFFFFFFF;
3701 cv = newXS_deffile("B::SV::MAGICAL", XS_B__SV_REFCNT)Perl_newXS_deffile( "B::SV::MAGICAL",XS_B__SV_REFCNT);
3702 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = MAGICAL_FLAG_BITS(0x00200000|0x00400000|0x00800000);
3703 cv = newXS_deffile("B::SV::POK", XS_B__SV_REFCNT)Perl_newXS_deffile( "B::SV::POK",XS_B__SV_REFCNT);
3704 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = SVf_POK0x00000400;
3705 cv = newXS_deffile("B::SV::REFCNT", XS_B__SV_REFCNT)Perl_newXS_deffile( "B::SV::REFCNT",XS_B__SV_REFCNT);
3706 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3707 cv = newXS_deffile("B::SV::ROK", XS_B__SV_REFCNT)Perl_newXS_deffile( "B::SV::ROK",XS_B__SV_REFCNT);
3708 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = SVf_ROK0x00000800;
3709 cv = newXS_deffile("B::SV::SvTYPE", XS_B__SV_REFCNT)Perl_newXS_deffile( "B::SV::SvTYPE",XS_B__SV_REFCNT);
3710 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = SVTYPEMASK0xff;
3711 newXS_deffile("B::SV::object_2svref", XS_B__SV_object_2svref)Perl_newXS_deffile( "B::SV::object_2svref",XS_B__SV_object_2svref
)
;
3712 newXS_deffile("B::IV::IV", XS_B__IV_IV)Perl_newXS_deffile( "B::IV::IV",XS_B__IV_IV);
3713 cv = newXS_deffile("B::AV::MAX", XS_B__IV_IVX)Perl_newXS_deffile( "B::AV::MAX",XS_B__IV_IVX);
3714 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVAV_max_ix0x90000 | __builtin_offsetof(struct xpvav, xav_max);
3715 cv = newXS_deffile("B::BM::USEFUL", XS_B__IV_IVX)Perl_newXS_deffile( "B::BM::USEFUL",XS_B__IV_IVX);
3716 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVBM_useful_ix0x10000 | __builtin_offsetof(struct xpviv, xiv_u.xivu_iv);
3717 cv = newXS_deffile("B::CV::CvFLAGS", XS_B__IV_IVX)Perl_newXS_deffile( "B::CV::CvFLAGS",XS_B__IV_IVX);
3718 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVCV_flags_ix0x40000 | __builtin_offsetof(struct xpvcv, xcv_flags);
3719 cv = newXS_deffile("B::CV::FILE", XS_B__IV_IVX)Perl_newXS_deffile( "B::CV::FILE",XS_B__IV_IVX);
3720 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVCV_file_ix0x60000 | __builtin_offsetof(struct xpvcv, xcv_file);
3721 cv = newXS_deffile("B::CV::OUTSIDE", XS_B__IV_IVX)Perl_newXS_deffile( "B::CV::OUTSIDE",XS_B__IV_IVX);
3722 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVCV_outside_ix0x00000 | __builtin_offsetof(struct xpvcv, xcv_outside);
3723 cv = newXS_deffile("B::CV::OUTSIDE_SEQ", XS_B__IV_IVX)Perl_newXS_deffile( "B::CV::OUTSIDE_SEQ",XS_B__IV_IVX);
3724 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVCV_outside_seq_ix0x40000 | __builtin_offsetof(struct xpvcv, xcv_outside_seq);
3725 cv = newXS_deffile("B::CV::STASH", XS_B__IV_IVX)Perl_newXS_deffile( "B::CV::STASH",XS_B__IV_IVX);
3726 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVCV_stash_ix0x00000 | __builtin_offsetof(struct xpvcv, xcv_stash);
3727 cv = newXS_deffile("B::GV::GvFLAGS", XS_B__IV_IVX)Perl_newXS_deffile( "B::GV::GvFLAGS",XS_B__IV_IVX);
3728 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVGV_flags_ix0x30000 | __builtin_offsetof(struct xpvgv, xpv_cur);
3729 cv = newXS_deffile("B::GV::STASH", XS_B__IV_IVX)Perl_newXS_deffile( "B::GV::STASH",XS_B__IV_IVX);
3730 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVGV_stash_ix0x00000 | __builtin_offsetof(struct xpvgv, xnv_u.xgv_stash);
3731 cv = newXS_deffile("B::HV::KEYS", XS_B__IV_IVX)Perl_newXS_deffile( "B::HV::KEYS",XS_B__IV_IVX);
3732 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVHV_keys_ix0x30000 | __builtin_offsetof(struct xpvhv, xhv_keys);
3733 cv = newXS_deffile("B::HV::MAX", XS_B__IV_IVX)Perl_newXS_deffile( "B::HV::MAX",XS_B__IV_IVX);
3734 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVHV_max_ix0x30000 | __builtin_offsetof(struct xpvhv, xhv_max);
3735 cv = newXS_deffile("B::IO::BOTTOM_GV", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::BOTTOM_GV",XS_B__IV_IVX);
3736 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_bottom_gv_ix0x00000 | __builtin_offsetof(struct xpvio, xio_bottom_gv);
3737 cv = newXS_deffile("B::IO::BOTTOM_NAME", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::BOTTOM_NAME",XS_B__IV_IVX);
3738 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_bottom_name_ix0x60000 | __builtin_offsetof(struct xpvio, xio_bottom_name);
3739 cv = newXS_deffile("B::IO::FMT_GV", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::FMT_GV",XS_B__IV_IVX);
3740 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_fmt_gv_ix0x00000 | __builtin_offsetof(struct xpvio, xio_fmt_gv);
3741 cv = newXS_deffile("B::IO::FMT_NAME", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::FMT_NAME",XS_B__IV_IVX);
3742 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_fmt_name_ix0x60000 | __builtin_offsetof(struct xpvio, xio_fmt_name);
3743 cv = newXS_deffile("B::IO::IoFLAGS", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::IoFLAGS",XS_B__IV_IVX);
3744 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_flags_ix0x50000 | __builtin_offsetof(struct xpvio, xio_flags);
3745 cv = newXS_deffile("B::IO::IoTYPE", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::IoTYPE",XS_B__IV_IVX);
3746 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_type_ix0x80000 | __builtin_offsetof(struct xpvio, xio_type);
3747 cv = newXS_deffile("B::IO::LINES", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::LINES",XS_B__IV_IVX);
3748 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_lines_ix0x10000 | __builtin_offsetof(struct xpvio, xiv_u.xivu_iv);
3749 cv = newXS_deffile("B::IO::LINES_LEFT", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::LINES_LEFT",XS_B__IV_IVX);
3750 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_lines_left_ix0x10000 | __builtin_offsetof(struct xpvio, xio_lines_left);
3751 cv = newXS_deffile("B::IO::PAGE", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::PAGE",XS_B__IV_IVX);
3752 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_page_ix0x10000 | __builtin_offsetof(struct xpvio, xio_page);
3753 cv = newXS_deffile("B::IO::PAGE_LEN", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::PAGE_LEN",XS_B__IV_IVX);
3754 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_page_len_ix0x10000 | __builtin_offsetof(struct xpvio, xio_page_len);
3755 cv = newXS_deffile("B::IO::TOP_GV", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::TOP_GV",XS_B__IV_IVX);
3756 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_top_gv_ix0x00000 | __builtin_offsetof(struct xpvio, xio_top_gv);
3757 cv = newXS_deffile("B::IO::TOP_NAME", XS_B__IV_IVX)Perl_newXS_deffile( "B::IO::TOP_NAME",XS_B__IV_IVX);
3758 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVIO_top_name_ix0x60000 | __builtin_offsetof(struct xpvio, xio_top_name);
3759 cv = newXS_deffile("B::IV::IVX", XS_B__IV_IVX)Perl_newXS_deffile( "B::IV::IVX",XS_B__IV_IVX);
3760 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = IV_ivx_ix0x10000 | __builtin_offsetof(struct xpviv, xiv_u.xivu_iv);
3761 cv = newXS_deffile("B::IV::UVX", XS_B__IV_IVX)Perl_newXS_deffile( "B::IV::UVX",XS_B__IV_IVX);
3762 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = IV_uvx_ix0x20000 | __builtin_offsetof(struct xpvuv, xuv_u.xivu_uv);
3763 cv = newXS_deffile("B::NV::NVX", XS_B__IV_IVX)Perl_newXS_deffile( "B::NV::NVX",XS_B__IV_IVX);
3764 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = NV_nvx_ix0x70000 | __builtin_offsetof(struct xpvnv, xnv_u.xnv_nv);
3765 cv = newXS_deffile("B::PV::CUR", XS_B__IV_IVX)Perl_newXS_deffile( "B::PV::CUR",XS_B__IV_IVX);
3766 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PV_cur_ix0x30000 | __builtin_offsetof(struct xpv, xpv_cur);
3767 cv = newXS_deffile("B::PV::LEN", XS_B__IV_IVX)Perl_newXS_deffile( "B::PV::LEN",XS_B__IV_IVX);
3768 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PV_len_ix0x30000 | __builtin_offsetof(struct xpv, xpv_len_u.xpvlenu_len
)
;
3769 cv = newXS_deffile("B::PVLV::TARG", XS_B__IV_IVX)Perl_newXS_deffile( "B::PVLV::TARG",XS_B__IV_IVX);
3770 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVLV_targ_ix0x00000 | __builtin_offsetof(struct xpvlv, xlv_targ);
3771 cv = newXS_deffile("B::PVLV::TARGLEN", XS_B__IV_IVX)Perl_newXS_deffile( "B::PVLV::TARGLEN",XS_B__IV_IVX);
3772 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVLV_targlen_ix0x40000 | __builtin_offsetof(struct xpvlv, xlv_targlen);
3773 cv = newXS_deffile("B::PVLV::TARGOFF", XS_B__IV_IVX)Perl_newXS_deffile( "B::PVLV::TARGOFF",XS_B__IV_IVX);
3774 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVLV_targoff_ix0x40000 | __builtin_offsetof(struct xpvlv, xlv_targoff_u.xlvu_targoff
)
;
3775 cv = newXS_deffile("B::PVLV::TYPE", XS_B__IV_IVX)Perl_newXS_deffile( "B::PVLV::TYPE",XS_B__IV_IVX);
3776 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVLV_type_ix0x80000 | __builtin_offsetof(struct xpvlv, xlv_type);
3777 cv = newXS_deffile("B::PVMG::SvSTASH", XS_B__IV_IVX)Perl_newXS_deffile( "B::PVMG::SvSTASH",XS_B__IV_IVX);
3778 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PVMG_stash_ix0x00000 | __builtin_offsetof(struct xpvmg, xmg_stash);
3779 cv = newXS_deffile("B::IV::needs64bits", XS_B__IV_packiv)Perl_newXS_deffile( "B::IV::needs64bits",XS_B__IV_packiv);
3780 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3781 cv = newXS_deffile("B::IV::packiv", XS_B__IV_packiv)Perl_newXS_deffile( "B::IV::packiv",XS_B__IV_packiv);
3782 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3783 newXS_deffile("B::NV::NV", XS_B__NV_NV)Perl_newXS_deffile( "B::NV::NV",XS_B__NV_NV);
3784 cv = newXS_deffile("B::REGEXP::REGEX", XS_B__REGEXP_REGEX)Perl_newXS_deffile( "B::REGEXP::REGEX",XS_B__REGEXP_REGEX);
3785 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3786 cv = newXS_deffile("B::REGEXP::compflags", XS_B__REGEXP_REGEX)Perl_newXS_deffile( "B::REGEXP::compflags",XS_B__REGEXP_REGEX
)
;
3787 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 3;
3788 cv = newXS_deffile("B::REGEXP::precomp", XS_B__REGEXP_REGEX)Perl_newXS_deffile( "B::REGEXP::precomp",XS_B__REGEXP_REGEX);
3789 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3790 cv = newXS_deffile("B::REGEXP::qr_anoncv", XS_B__REGEXP_REGEX)Perl_newXS_deffile( "B::REGEXP::qr_anoncv",XS_B__REGEXP_REGEX
)
;
3791 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 2;
3792 newXS_deffile("B::PV::RV", XS_B__PV_RV)Perl_newXS_deffile( "B::PV::RV",XS_B__PV_RV);
3793 cv = newXS_deffile("B::BM::TABLE", XS_B__PV_PV)Perl_newXS_deffile( "B::BM::TABLE",XS_B__PV_PV);
3794 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 3;
3795 cv = newXS_deffile("B::PV::PV", XS_B__PV_PV)Perl_newXS_deffile( "B::PV::PV",XS_B__PV_PV);
3796 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3797 cv = newXS_deffile("B::PV::PVBM", XS_B__PV_PV)Perl_newXS_deffile( "B::PV::PVBM",XS_B__PV_PV);
3798 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 2;
3799 cv = newXS_deffile("B::PV::PVX", XS_B__PV_PV)Perl_newXS_deffile( "B::PV::PVX",XS_B__PV_PV);
3800 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3801 newXS_deffile("B::PVMG::MAGIC", XS_B__PVMG_MAGIC)Perl_newXS_deffile( "B::PVMG::MAGIC",XS_B__PVMG_MAGIC);
3802 cv = newXS_deffile("B::MAGIC::FLAGS", XS_B__MAGIC_MOREMAGIC)Perl_newXS_deffile( "B::MAGIC::FLAGS",XS_B__MAGIC_MOREMAGIC);
3803 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 3;
3804 cv = newXS_deffile("B::MAGIC::LENGTH", XS_B__MAGIC_MOREMAGIC)Perl_newXS_deffile( "B::MAGIC::LENGTH",XS_B__MAGIC_MOREMAGIC);
3805 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 4;
3806 cv = newXS_deffile("B::MAGIC::MOREMAGIC", XS_B__MAGIC_MOREMAGIC)Perl_newXS_deffile( "B::MAGIC::MOREMAGIC",XS_B__MAGIC_MOREMAGIC
)
;
3807 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3808 cv = newXS_deffile("B::MAGIC::OBJ", XS_B__MAGIC_MOREMAGIC)Perl_newXS_deffile( "B::MAGIC::OBJ",XS_B__MAGIC_MOREMAGIC);
3809 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 5;
3810 cv = newXS_deffile("B::MAGIC::PRIVATE", XS_B__MAGIC_MOREMAGIC)Perl_newXS_deffile( "B::MAGIC::PRIVATE",XS_B__MAGIC_MOREMAGIC
)
;
3811 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3812 cv = newXS_deffile("B::MAGIC::PTR", XS_B__MAGIC_MOREMAGIC)Perl_newXS_deffile( "B::MAGIC::PTR",XS_B__MAGIC_MOREMAGIC);
3813 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 6;
3814 cv = newXS_deffile("B::MAGIC::REGEX", XS_B__MAGIC_MOREMAGIC)Perl_newXS_deffile( "B::MAGIC::REGEX",XS_B__MAGIC_MOREMAGIC);
3815 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 7;
3816 cv = newXS_deffile("B::MAGIC::TYPE", XS_B__MAGIC_MOREMAGIC)Perl_newXS_deffile( "B::MAGIC::TYPE",XS_B__MAGIC_MOREMAGIC);
3817 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 2;
3818 cv = newXS_deffile("B::MAGIC::precomp", XS_B__MAGIC_MOREMAGIC)Perl_newXS_deffile( "B::MAGIC::precomp",XS_B__MAGIC_MOREMAGIC
)
;
3819 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 8;
3820 newXS_deffile("B::BM::PREVIOUS", XS_B__BM_PREVIOUS)Perl_newXS_deffile( "B::BM::PREVIOUS",XS_B__BM_PREVIOUS);
3821 newXS_deffile("B::BM::RARE", XS_B__BM_RARE)Perl_newXS_deffile( "B::BM::RARE",XS_B__BM_RARE);
3822 cv = newXS_deffile("B::GV::FILE", XS_B__GV_NAME)Perl_newXS_deffile( "B::GV::FILE",XS_B__GV_NAME);
3823 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3824 cv = newXS_deffile("B::GV::NAME", XS_B__GV_NAME)Perl_newXS_deffile( "B::GV::NAME",XS_B__GV_NAME);
3825 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3826 cv = newXS_deffile("B::HV::NAME", XS_B__GV_NAME)Perl_newXS_deffile( "B::HV::NAME",XS_B__GV_NAME);
3827 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 2;
3828 cv = newXS_deffile("B::GV::isGV_with_GP", XS_B__GV_is_empty)Perl_newXS_deffile( "B::GV::isGV_with_GP",XS_B__GV_is_empty);
3829 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3830 cv = newXS_deffile("B::GV::is_empty", XS_B__GV_is_empty)Perl_newXS_deffile( "B::GV::is_empty",XS_B__GV_is_empty);
3831 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3832 newXS_deffile("B::GV::GP", XS_B__GV_GP)Perl_newXS_deffile( "B::GV::GP",XS_B__GV_GP);
3833 cv = newXS_deffile("B::GV::AV", XS_B__GV_SV)Perl_newXS_deffile( "B::GV::AV",XS_B__GV_SV);
3834 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = GP_av_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_av);
3835 cv = newXS_deffile("B::GV::CV", XS_B__GV_SV)Perl_newXS_deffile( "B::GV::CV",XS_B__GV_SV);
3836 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = GP_cv_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_cv);
3837 cv = newXS_deffile("B::GV::CVGEN", XS_B__GV_SV)Perl_newXS_deffile( "B::GV::CVGEN",XS_B__GV_SV);
3838 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = GP_cvgen_ix(0x1 << 16) | __builtin_offsetof(struct gp, gp_cvgen);
3839 cv = newXS_deffile("B::GV::EGV", XS_B__GV_SV)Perl_newXS_deffile( "B::GV::EGV",XS_B__GV_SV);
3840 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = GP_egv_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_egv);
3841 cv = newXS_deffile("B::GV::FORM", XS_B__GV_SV)Perl_newXS_deffile( "B::GV::FORM",XS_B__GV_SV);
3842 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = GP_form_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_form);
3843 cv = newXS_deffile("B::GV::GvREFCNT", XS_B__GV_SV)Perl_newXS_deffile( "B::GV::GvREFCNT",XS_B__GV_SV);
3844 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = GP_refcnt_ix(0x1 << 16) | __builtin_offsetof(struct gp, gp_refcnt);
3845 cv = newXS_deffile("B::GV::HV", XS_B__GV_SV)Perl_newXS_deffile( "B::GV::HV",XS_B__GV_SV);
3846 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = GP_hv_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_hv);
3847 cv = newXS_deffile("B::GV::IO", XS_B__GV_SV)Perl_newXS_deffile( "B::GV::IO",XS_B__GV_SV);
3848 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = GP_io_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_io);
3849 cv = newXS_deffile("B::GV::SV", XS_B__GV_SV)Perl_newXS_deffile( "B::GV::SV",XS_B__GV_SV);
3850 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = GP_sv_ix(0x0 << 16) | __builtin_offsetof(struct gp, gp_sv);
3851 newXS_deffile("B::GV::LINE", XS_B__GV_LINE)Perl_newXS_deffile( "B::GV::LINE",XS_B__GV_LINE);
3852 newXS_deffile("B::GV::GPFLAGS", XS_B__GV_GPFLAGS)Perl_newXS_deffile( "B::GV::GPFLAGS",XS_B__GV_GPFLAGS);
3853 newXS_deffile("B::GV::FILEGV", XS_B__GV_FILEGV)Perl_newXS_deffile( "B::GV::FILEGV",XS_B__GV_FILEGV);
3854 newXS_deffile("B::IO::IsSTD", XS_B__IO_IsSTD)Perl_newXS_deffile( "B::IO::IsSTD",XS_B__IO_IsSTD);
3855 newXS_deffile("B::AV::FILL", XS_B__AV_FILL)Perl_newXS_deffile( "B::AV::FILL",XS_B__AV_FILL);
3856 newXS_deffile("B::AV::ARRAY", XS_B__AV_ARRAY)Perl_newXS_deffile( "B::AV::ARRAY",XS_B__AV_ARRAY);
3857 newXS_deffile("B::AV::ARRAYelt", XS_B__AV_ARRAYelt)Perl_newXS_deffile( "B::AV::ARRAYelt",XS_B__AV_ARRAYelt);
3858 newXS_deffile("B::FM::LINES", XS_B__FM_LINES)Perl_newXS_deffile( "B::FM::LINES",XS_B__FM_LINES);
3859 newXS_deffile("B::CV::CONST", XS_B__CV_CONST)Perl_newXS_deffile( "B::CV::CONST",XS_B__CV_CONST);
3860 cv = newXS_deffile("B::CV::ROOT", XS_B__CV_START)Perl_newXS_deffile( "B::CV::ROOT",XS_B__CV_START);
3861 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3862 cv = newXS_deffile("B::CV::START", XS_B__CV_START)Perl_newXS_deffile( "B::CV::START",XS_B__CV_START);
3863 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3864 newXS_deffile("B::CV::DEPTH", XS_B__CV_DEPTH)Perl_newXS_deffile( "B::CV::DEPTH",XS_B__CV_DEPTH);
3865 newXS_deffile("B::CV::PADLIST", XS_B__CV_PADLIST)Perl_newXS_deffile( "B::CV::PADLIST",XS_B__CV_PADLIST);
3866 newXS_deffile("B::CV::HSCXT", XS_B__CV_HSCXT)Perl_newXS_deffile( "B::CV::HSCXT",XS_B__CV_HSCXT);
3867 cv = newXS_deffile("B::CV::XSUB", XS_B__CV_XSUB)Perl_newXS_deffile( "B::CV::XSUB",XS_B__CV_XSUB);
3868 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3869 cv = newXS_deffile("B::CV::XSUBANY", XS_B__CV_XSUB)Perl_newXS_deffile( "B::CV::XSUBANY",XS_B__CV_XSUB);
3870 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3871 newXS_deffile("B::CV::const_sv", XS_B__CV_const_sv)Perl_newXS_deffile( "B::CV::const_sv",XS_B__CV_const_sv);
3872 newXS_deffile("B::CV::GV", XS_B__CV_GV)Perl_newXS_deffile( "B::CV::GV",XS_B__CV_GV);
3873 newXS_deffile("B::CV::NAME_HEK", XS_B__CV_NAME_HEK)Perl_newXS_deffile( "B::CV::NAME_HEK",XS_B__CV_NAME_HEK);
3874 newXS_deffile("B::HV::FILL", XS_B__HV_FILL)Perl_newXS_deffile( "B::HV::FILL",XS_B__HV_FILL);
3875 newXS_deffile("B::HV::RITER", XS_B__HV_RITER)Perl_newXS_deffile( "B::HV::RITER",XS_B__HV_RITER);
3876 newXS_deffile("B::HV::ARRAY", XS_B__HV_ARRAY)Perl_newXS_deffile( "B::HV::ARRAY",XS_B__HV_ARRAY);
3877 cv = newXS_deffile("B::HE::SVKEY_force", XS_B__HE_VAL)Perl_newXS_deffile( "B::HE::SVKEY_force",XS_B__HE_VAL);
3878 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 1;
3879 cv = newXS_deffile("B::HE::VAL", XS_B__HE_VAL)Perl_newXS_deffile( "B::HE::VAL",XS_B__HE_VAL);
3880 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3881 newXS_deffile("B::HE::HASH", XS_B__HE_HASH)Perl_newXS_deffile( "B::HE::HASH",XS_B__HE_HASH);
3882 newXS_deffile("B::RHE::HASH", XS_B__RHE_HASH)Perl_newXS_deffile( "B::RHE::HASH",XS_B__RHE_HASH);
3883 cv = newXS_deffile("B::PADLIST::MAX", XS_B__PADLIST_MAX)Perl_newXS_deffile( "B::PADLIST::MAX",XS_B__PADLIST_MAX);
3884 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3885 cv = newXS_deffile("B::PADNAMELIST::MAX", XS_B__PADLIST_MAX)Perl_newXS_deffile( "B::PADNAMELIST::MAX",XS_B__PADLIST_MAX);
3886 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = 0;
3887 newXS_deffile("B::PADLIST::NAMES", XS_B__PADLIST_NAMES)Perl_newXS_deffile( "B::PADLIST::NAMES",XS_B__PADLIST_NAMES);
3888 newXS_deffile("B::PADLIST::ARRAY", XS_B__PADLIST_ARRAY)Perl_newXS_deffile( "B::PADLIST::ARRAY",XS_B__PADLIST_ARRAY);
3889 newXS_deffile("B::PADLIST::ARRAYelt", XS_B__PADLIST_ARRAYelt)Perl_newXS_deffile( "B::PADLIST::ARRAYelt",XS_B__PADLIST_ARRAYelt
)
;
3890 newXS_deffile("B::PADLIST::REFCNT", XS_B__PADLIST_REFCNT)Perl_newXS_deffile( "B::PADLIST::REFCNT",XS_B__PADLIST_REFCNT
)
;
3891 newXS_deffile("B::PADNAMELIST::ARRAY", XS_B__PADNAMELIST_ARRAY)Perl_newXS_deffile( "B::PADNAMELIST::ARRAY",XS_B__PADNAMELIST_ARRAY
)
;
3892 newXS_deffile("B::PADNAMELIST::ARRAYelt", XS_B__PADNAMELIST_ARRAYelt)Perl_newXS_deffile( "B::PADNAMELIST::ARRAYelt",XS_B__PADNAMELIST_ARRAYelt
)
;
3893 cv = newXS_deffile("B::PADLIST::id", XS_B__PADNAME_TYPE)Perl_newXS_deffile( "B::PADLIST::id",XS_B__PADNAME_TYPE);
3894 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PL_id_ix0x40000 | __builtin_offsetof(struct padlist, xpadl_id);
3895 cv = newXS_deffile("B::PADLIST::outid", XS_B__PADNAME_TYPE)Perl_newXS_deffile( "B::PADLIST::outid",XS_B__PADNAME_TYPE);
3896 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PL_outid_ix0x40000 | __builtin_offsetof(struct padlist, xpadl_outid);
3897 cv = newXS_deffile("B::PADNAME::COP_SEQ_RANGE_HIGH", XS_B__PADNAME_TYPE)Perl_newXS_deffile( "B::PADNAME::COP_SEQ_RANGE_HIGH",XS_B__PADNAME_TYPE
)
;
3898 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PN_cop_seq_range_high_ix0x40000 | __builtin_offsetof(struct padname, xpadn_high);
3899 cv = newXS_deffile("B::PADNAME::COP_SEQ_RANGE_LOW", XS_B__PADNAME_TYPE)Perl_newXS_deffile( "B::PADNAME::COP_SEQ_RANGE_LOW",XS_B__PADNAME_TYPE
)
;
3900 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PN_cop_seq_range_low_ix0x40000 | __builtin_offsetof(struct padname, xpadn_low);
3901 cv = newXS_deffile("B::PADNAME::LEN", XS_B__PADNAME_TYPE)Perl_newXS_deffile( "B::PADNAME::LEN",XS_B__PADNAME_TYPE);
3902 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PN_len_ix0x50000 | __builtin_offsetof(struct padname, xpadn_len);
3903 cv = newXS_deffile("B::PADNAME::OURSTASH", XS_B__PADNAME_TYPE)Perl_newXS_deffile( "B::PADNAME::OURSTASH",XS_B__PADNAME_TYPE
)
;
3904 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PN_ourstash_ix0x00000 | __builtin_offsetof(struct padname, xpadn_ourstash);
3905 cv = newXS_deffile("B::PADNAME::REFCNT", XS_B__PADNAME_TYPE)Perl_newXS_deffile( "B::PADNAME::REFCNT",XS_B__PADNAME_TYPE);
3906 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PN_refcnt_ix0x40000 | __builtin_offsetof(struct padname, xpadn_refcnt);
3907 cv = newXS_deffile("B::PADNAME::TYPE", XS_B__PADNAME_TYPE)Perl_newXS_deffile( "B::PADNAME::TYPE",XS_B__PADNAME_TYPE);
3908 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PN_type_ix0x00000 | __builtin_offsetof(struct padname, xpadn_type_u.xpadn_typestash
)
;
3909 cv = newXS_deffile("B::PADNAMELIST::REFCNT", XS_B__PADNAME_TYPE)Perl_newXS_deffile( "B::PADNAMELIST::REFCNT",XS_B__PADNAME_TYPE
)
;
3910 XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_i32 = PNL_refcnt_ix0x40000 | __builtin_offsetof(struct padnamelist, xpadnl_refcnt
)
;
3911 newXS_deffile("B::PADNAME::PV", XS_B__PADNAME_PV)Perl_newXS_deffile( "B::PADNAME::PV",XS_B__PADNAME_PV);
3912 newXS_deffile("B::PADNAME::FLAGS", XS_B__PADNAME_FLAGS)Perl_newXS_deffile( "B::PADNAME::FLAGS",XS_B__PADNAME_FLAGS);
3913
3914 /* Initialisation Section */
3915
3916#line 2 "./const-xs.inc"
3917 {
3918#if defined(dTHXstruct Perl___notused_struct) && !defined(PERL_NO_GET_CONTEXT)
3919 dTHXstruct Perl___notused_struct;
3920#endif
3921 HV *symbol_table = get_hv("B::", GV_ADD)Perl_get_hv( "B::",0x01);
3922 AV *push = get_av("B::EXPORT_OK", GV_ADD)Perl_get_av( "B::EXPORT_OK",0x01);
3923 HE *he;
3924
3925 static const struct iv_s values_for_iv[] =
3926 {
3927 { "HEf_SVKEY", 9, HEf_SVKEY-2 },
3928 { NULL((void*)0), 0, 0 } };
3929 const struct iv_s *value_for_iv = values_for_iv;
3930
3931 static const struct uv_s values_for_uv[] =
3932 {
3933 { "SVTYPEMASK", 10, SVTYPEMASK0xff },
3934 { "SVt_PVGV", 8, SVt_PVGV },
3935 { "SVt_PVHV", 8, SVt_PVHV },
3936 { "PAD_FAKELEX_ANON", 16, PAD_FAKELEX_ANON1 },
3937 { "PAD_FAKELEX_MULTI", 17, PAD_FAKELEX_MULTI2 },
3938 { "SVpad_STATE", 11, SVpad_STATE2 },
3939 { "SVpad_TYPED", 11, SVpad_TYPED8 },
3940 { "SVpad_OUR", 9, SVpad_OUR16 },
3941 { "CXTYPEMASK", 10, CXTYPEMASK0xf },
3942 { "CXt_NULL", 8, CXt_NULL0 },
3943 { "CXt_WHEN", 8, CXt_WHEN1 },
3944 { "CXt_BLOCK", 9, CXt_BLOCK2 },
3945 { "CXt_GIVEN", 9, CXt_GIVEN3 },
3946 { "CXt_LOOP_ARY", 12, CXt_LOOP_ARY4 },
3947 { "CXt_LOOP_LAZYSV", 15, CXt_LOOP_LAZYSV5 },
3948 { "CXt_LOOP_LAZYIV", 15, CXt_LOOP_LAZYIV6 },
3949 { "CXt_LOOP_LIST", 13, CXt_LOOP_LIST7 },
3950 { "CXt_LOOP_PLAIN", 14, CXt_LOOP_PLAIN8 },
3951 { "CXt_SUB", 7, CXt_SUB9 },
3952 { "CXt_FORMAT", 10, CXt_FORMAT10 },
3953 { "CXt_EVAL", 8, CXt_EVAL11 },
3954 { "CXt_SUBST", 9, CXt_SUBST12 },
3955 { "CXp_MULTICALL", 13, CXp_MULTICALL0x10 },
3956 { "CXp_HASARGS", 11, CXp_HASARGS0x20 },
3957 { "CXp_SUB_RE", 10, CXp_SUB_RE0x40 },
3958 { "CXp_SUB_RE_FAKE", 15, CXp_SUB_RE_FAKE0x80 },
3959 { "CXp_REAL", 8, CXp_REAL0x20 },
3960 { "CXp_TRYBLOCK", 12, CXp_TRYBLOCK0x40 },
3961 { "CXp_FOR_DEF", 11, CXp_FOR_DEF0x10 },
3962 { "CXp_FOR_LVREF", 13, CXp_FOR_LVREF0x20 },
3963 { "CXp_FOR_GV", 10, CXp_FOR_GV0x40 },
3964 { "CXp_FOR_PAD", 11, CXp_FOR_PAD0x80 },
3965 { "CXp_ONCE", 8, CXp_ONCE0x10 },
3966 { "G_SCALAR", 8, G_SCALAR2 },
3967 { "G_ARRAY", 7, G_ARRAY3 },
3968 { "G_VOID", 6, G_VOID1 },
3969 { "G_WANT", 6, G_WANT3 },
3970 { "G_DISCARD", 9, G_DISCARD0x4 },
3971 { "G_EVAL", 6, G_EVAL0x8 },
3972 { "G_NOARGS", 8, G_NOARGS0x10 },
3973 { "G_KEEPERR", 9, G_KEEPERR0x20 },
3974 { "G_NODEBUG", 9, G_NODEBUG0x40 },
3975 { "G_METHOD", 8, G_METHOD0x80 },
3976 { "G_FAKINGEVAL", 12, G_FAKINGEVAL0x100 },
3977 { "G_UNDEF_FILL", 12, G_UNDEF_FILL0x200 },
3978 { "G_WRITING_TO_STDERR", 19, G_WRITING_TO_STDERR0x400 },
3979 { "G_RE_REPARSING", 14, G_RE_REPARSING0x800 },
3980 { "G_METHOD_NAMED", 14, G_METHOD_NAMED0x1000 },
3981 { "G_RETHROW", 9, G_RETHROW0x2000 },
3982 { "EVAL_NULL", 9, EVAL_NULL0 },
3983 { "EVAL_INEVAL", 11, EVAL_INEVAL1 },
3984 { "EVAL_WARNONLY", 13, EVAL_WARNONLY2 },
3985 { "EVAL_KEEPERR", 12, EVAL_KEEPERR4 },
3986 { "EVAL_INREQUIRE", 14, EVAL_INREQUIRE8 },
3987 { "EVAL_RE_REPARSING", 17, EVAL_RE_REPARSING0x10 },
3988 { "PERLSI_UNDEF", 12, PERLSI_UNDEF0 },
3989 { "PERLSI_MAIN", 11, PERLSI_MAIN1 },
3990 { "PERLSI_MAGIC", 12, PERLSI_MAGIC2 },
3991 { "PERLSI_SORT", 11, PERLSI_SORT3 },
3992 { "PERLSI_SIGNAL", 13, PERLSI_SIGNAL4 },
3993 { "PERLSI_OVERLOAD", 15, PERLSI_OVERLOAD5 },
3994 { "PERLSI_DESTROY", 14, PERLSI_DESTROY6 },
3995 { "PERLSI_WARNHOOK", 15, PERLSI_WARNHOOK7 },
3996 { "PERLSI_DIEHOOK", 14, PERLSI_DIEHOOK8 },
3997 { "PERLSI_REQUIRE", 14, PERLSI_REQUIRE9 },
3998 { "PERLSI_MULTICALL", 16, PERLSI_MULTICALL10 },
3999 { "PERLSI_REGCOMP", 14, PERLSI_REGCOMP11 },
4000 { "CVf_METHOD", 10, CVf_METHOD0x0001 },
4001 { "CVf_LVALUE", 10, CVf_LVALUE0x0002 },
4002 { "CVf_CONST", 9, CVf_CONST0x0004 },
4003 { "CVf_ISXSUB", 10, CVf_ISXSUB0x0008 },
4004 { "CVf_WEAKOUTSIDE", 15, CVf_WEAKOUTSIDE0x0010 },
4005 { "CVf_CLONE", 9, CVf_CLONE0x0020 },
4006 { "CVf_CLONED", 10, CVf_CLONED0x0040 },
4007 { "CVf_ANON", 8, CVf_ANON0x0080 },
4008 { "CVf_UNIQUE", 10, CVf_UNIQUE0x0100 },
4009 { "CVf_NODEBUG", 11, CVf_NODEBUG0x0200 },
4010 { "CVf_CVGV_RC", 11, CVf_CVGV_RC0x0400 },
4011 { "CVf_DYNFILE", 11, CVf_DYNFILE0x1000 },
4012 { "CVf_AUTOLOAD", 12, CVf_AUTOLOAD0x2000 },
4013 { "CVf_HASEVAL", 11, CVf_HASEVAL0x4000 },
4014 { "CVf_NAMED", 9, CVf_NAMED0x8000 },
4015 { "CVf_LEXICAL", 11, CVf_LEXICAL0x10000 },
4016 { "CVf_ANONCONST", 13, CVf_ANONCONST0x20000 },
4017 { "GVf_INTRO", 9, GVf_INTRO0x01 },
4018 { "GVf_MULTI", 9, GVf_MULTI0x02 },
4019 { "GVf_ASSUMECV", 12, GVf_ASSUMECV0x04 },
4020 { "GVf_IMPORTED", 12, GVf_IMPORTED0xF0 },
4021 { "GVf_IMPORTED_SV", 15, GVf_IMPORTED_SV0x10 },
4022 { "GVf_IMPORTED_AV", 15, GVf_IMPORTED_AV0x20 },
4023 { "GVf_IMPORTED_HV", 15, GVf_IMPORTED_HV0x40 },
4024 { "GVf_IMPORTED_CV", 15, GVf_IMPORTED_CV0x80 },
4025 { "OPf_WANT", 8, OPf_WANT3 },
4026 { "OPf_WANT_VOID", 13, OPf_WANT_VOID1 },
4027 { "OPf_WANT_SCALAR", 15, OPf_WANT_SCALAR2 },
4028 { "OPf_WANT_LIST", 13, OPf_WANT_LIST3 },
4029 { "OPf_KIDS", 8, OPf_KIDS4 },
4030 { "OPf_PARENS", 10, OPf_PARENS8 },
4031 { "OPf_REF", 7, OPf_REF16 },
4032 { "OPf_MOD", 7, OPf_MOD32 },
4033 { "OPf_STACKED", 11, OPf_STACKED64 },
4034 { "OPf_SPECIAL", 11, OPf_SPECIAL128 },
4035 { "OPf_FOLDED", 10, OPf_FOLDED(1<<16) },
4036 { "PMf_HAS_ERROR", 13, PMf_HAS_ERROR(1U<<(((0 +12)+2)+3)) },
4037 { "PMf_RETAINT", 11, PMf_RETAINT(1U<<(((0 +12)+2)+4)) },
4038 { "PMf_ONCE", 8, PMf_ONCE(1U<<(((0 +12)+2)+5)) },
4039 { "PMf_USED", 8, PMf_USED(1U<<(((0 +12)+2)+6)) },
4040 { "PMf_CONST", 9, PMf_CONST(1U<<(((0 +12)+2)+7)) },
4041 { "PMf_KEEP", 8, PMf_KEEP(1U<<(((0 +12)+2)+8)) },
4042 { "PMf_GLOBAL", 10, PMf_GLOBAL(1U<<(((0 +12)+2)+9)) },
4043 { "PMf_CONTINUE", 12, PMf_CONTINUE(1U<<(((0 +12)+2)+10)) },
4044 { "PMf_EVAL", 8, PMf_EVAL(1U<<(((0 +12)+2)+11)) },
4045 { "PMf_NONDESTRUCT", 15, PMf_NONDESTRUCT(1U<<(((0 +12)+2)+12)) },
4046 { "PMf_HAS_CV", 10, PMf_HAS_CV(1U<<(((0 +12)+2)+13)) },
4047 { "PMf_CODELIST_PRIVATE", 20, PMf_CODELIST_PRIVATE(1U<<(((0 +12)+2)+14)) },
4048 { "PMf_IS_QR", 9, PMf_IS_QR(1U<<(((0 +12)+2)+15)) },
4049 { "PMf_USE_RE_EVAL", 15, PMf_USE_RE_EVAL(1U<<(((0 +12)+2)+16)) },
4050 { "PMf_WILDCARD", 12, PMf_WILDCARD(1U<<(((0 +12)+2)+17)) },
4051 { "OA_MARK", 7, OA_MARK1 },
4052 { "OA_FOLDCONST", 12, OA_FOLDCONST2 },
4053 { "OA_RETSCALAR", 12, OA_RETSCALAR4 },
4054 { "OA_TARGET", 9, OA_TARGET8 },
4055 { "OA_TARGLEX", 10, OA_TARGLEX16 },
4056 { "OA_OTHERINT", 11, OA_OTHERINT32 },
4057 { "OA_DANGEROUS", 12, OA_DANGEROUS64 },
4058 { "OA_DEFGV", 8, OA_DEFGV128 },
4059 { "OCSHIFT", 7, OCSHIFT8 },
4060 { "OA_CLASS_MASK", 13, OA_CLASS_MASK(15 << 8) },
4061 { "OA_BASEOP", 9, OA_BASEOP(0 << 8) },
4062 { "OA_UNOP", 7, OA_UNOP(1 << 8) },
4063 { "OA_BINOP", 8, OA_BINOP(2 << 8) },
4064 { "OA_LOGOP", 8, OA_LOGOP(3 << 8) },
4065 { "OA_LISTOP", 9, OA_LISTOP(4 << 8) },
4066 { "OA_PMOP", 7, OA_PMOP(5 << 8) },
4067 { "OA_SVOP", 7, OA_SVOP(6 << 8) },
4068 { "OA_PADOP", 8, OA_PADOP(7 << 8) },
4069 { "OA_PVOP_OR_SVOP", 15, OA_PVOP_OR_SVOP(8 << 8) },
4070 { "OA_LOOP", 7, OA_LOOP(9 << 8) },
4071 { "OA_COP", 6, OA_COP(10 << 8) },
4072 { "OA_BASEOP_OR_UNOP", 17, OA_BASEOP_OR_UNOP(11 << 8) },
4073 { "OA_FILESTATOP", 13, OA_FILESTATOP(12 << 8) },
4074 { "OA_LOOPEXOP", 11, OA_LOOPEXOP(13 << 8) },
4075 { "OA_METHOP", 9, OA_METHOP(14 << 8) },
4076 { "OA_UNOP_AUX", 11, OA_UNOP_AUX(15 << 8) },
4077 { "OASHIFT", 7, OASHIFT12 },
4078 { "OA_SCALAR", 9, OA_SCALAR1 },
4079 { "OA_LIST", 7, OA_LIST2 },
4080 { "OA_AVREF", 8, OA_AVREF3 },
4081 { "OA_HVREF", 8, OA_HVREF4 },
4082 { "OA_CVREF", 8, OA_CVREF5 },
4083 { "OA_FILEREF", 10, OA_FILEREF6 },
4084 { "OA_SCALARREF", 12, OA_SCALARREF7 },
4085 { "OA_OPTIONAL", 11, OA_OPTIONAL8 },
4086 { "PERL_LOADMOD_DENY", 17, PERL_LOADMOD_DENY0x1 },
4087 { "PERL_LOADMOD_NOIMPORT", 21, PERL_LOADMOD_NOIMPORT0x2 },
4088 { "PERL_LOADMOD_IMPORT_OPS", 23, PERL_LOADMOD_IMPORT_OPS0x4 },
4089 { "BHKf_bhk_start", 14, BHKf_bhk_start0x01 },
4090 { "BHKf_bhk_pre_end", 16, BHKf_bhk_pre_end0x02 },
4091 { "BHKf_bhk_post_end", 17, BHKf_bhk_post_end0x04 },
4092 { "BHKf_bhk_eval", 13, BHKf_bhk_eval0x08 },
4093 { "RV2CVOPCV_MARK_EARLY", 20, RV2CVOPCV_MARK_EARLY0x00000001 },
4094 { "RV2CVOPCV_RETURN_NAME_GV", 24, RV2CVOPCV_RETURN_NAME_GV0x00000002 },
4095 { "RV2CVOPCV_RETURN_STUB", 21, RV2CVOPCV_RETURN_STUB0x00000004 },
4096 { "RV2CVOPCV_FLAG_MASK", 19, RV2CVOPCV_FLAG_MASK0x0000000f },
4097 { "OP_LVALUE_NO_CROAK", 18, OP_LVALUE_NO_CROAK1 },
4098 { "XOPf_xop_name", 13, XOPf_xop_name0x01 },
4099 { "XOPf_xop_desc", 13, XOPf_xop_desc0x02 },
4100 { "XOPf_xop_class", 14, XOPf_xop_class0x04 },
4101 { "XOPf_xop_peep", 13, XOPf_xop_peep0x08 },
4102 { "MDEREF_reload", 13, MDEREF_reload0 },
4103 { "MDEREF_AV_pop_rv2av_aelem", 25, MDEREF_AV_pop_rv2av_aelem1 },
4104 { "MDEREF_AV_gvsv_vivify_rv2av_aelem", 33, MDEREF_AV_gvsv_vivify_rv2av_aelem2 },
4105 { "MDEREF_AV_padsv_vivify_rv2av_aelem", 34, MDEREF_AV_padsv_vivify_rv2av_aelem3 },
4106 { "MDEREF_AV_vivify_rv2av_aelem", 28, MDEREF_AV_vivify_rv2av_aelem4 },
4107 { "MDEREF_AV_padav_aelem", 21, MDEREF_AV_padav_aelem5 },
4108 { "MDEREF_AV_gvav_aelem", 20, MDEREF_AV_gvav_aelem6 },
4109 { "MDEREF_HV_pop_rv2hv_helem", 25, MDEREF_HV_pop_rv2hv_helem8 },
4110 { "MDEREF_HV_gvsv_vivify_rv2hv_helem", 33, MDEREF_HV_gvsv_vivify_rv2hv_helem9 },
4111 { "MDEREF_HV_padsv_vivify_rv2hv_helem", 34, MDEREF_HV_padsv_vivify_rv2hv_helem10 },
4112 { "MDEREF_HV_vivify_rv2hv_helem", 28, MDEREF_HV_vivify_rv2hv_helem11 },
4113 { "MDEREF_HV_padhv_helem", 21, MDEREF_HV_padhv_helem12 },
4114 { "MDEREF_HV_gvhv_helem", 20, MDEREF_HV_gvhv_helem13 },
4115 { "MDEREF_ACTION_MASK", 18, MDEREF_ACTION_MASK0xf },
4116 { "MDEREF_INDEX_none", 17, MDEREF_INDEX_none0x00 },
4117 { "MDEREF_INDEX_const", 18, MDEREF_INDEX_const0x10 },
4118 { "MDEREF_INDEX_padsv", 18, MDEREF_INDEX_padsv0x20 },
4119 { "MDEREF_INDEX_gvsv", 17, MDEREF_INDEX_gvsv0x30 },
4120 { "MDEREF_INDEX_MASK", 17, MDEREF_INDEX_MASK0x30 },
4121 { "MDEREF_FLAG_last", 16, MDEREF_FLAG_last0x40 },
4122 { "MDEREF_MASK", 11, MDEREF_MASK0x7F },
4123 { "MDEREF_SHIFT", 12, MDEREF_SHIFT7 },
4124 { "OPpARGELEM_SV", 13, OPpARGELEM_SV0x00 },
4125 { "OPpLVREF_SV", 11, OPpLVREF_SV0x00 },
4126 { "OPpARG1_MASK", 12, OPpARG1_MASK0x01 },
4127 { "OPpCOREARGS_DEREF1", 18, OPpCOREARGS_DEREF10x01 },
4128 { "OPpENTERSUB_INARGS", 18, OPpENTERSUB_INARGS0x01 },
4129 { "OPpPADHV_ISKEYS", 15, OPpPADHV_ISKEYS0x01 },
4130 { "OPpRV2HV_ISKEYS", 15, OPpRV2HV_ISKEYS0x01 },
4131 { "OPpSORT_NUMERIC", 15, OPpSORT_NUMERIC0x01 },
4132 { "OPpTRANS_CAN_FORCE_UTF8", 23, OPpTRANS_CAN_FORCE_UTF80x01 },
4133 { "OPpARGELEM_AV", 13, OPpARGELEM_AV0x02 },
4134 { "OPpCONST_NOVER", 14, OPpCONST_NOVER0x02 },
4135 { "OPpCOREARGS_DEREF2", 18, OPpCOREARGS_DEREF20x02 },
4136 { "OPpEVAL_HAS_HH", 14, OPpEVAL_HAS_HH0x02 },
4137 { "OPpFT_ACCESS", 12, OPpFT_ACCESS0x02 },
4138 { "OPpHINT_STRICT_REFS", 19, OPpHINT_STRICT_REFS0x02 },
4139 { "OPpITER_REVERSED", 16, OPpITER_REVERSED0x02 },
4140 { "OPpSORT_INTEGER", 15, OPpSORT_INTEGER0x02 },
4141 { "OPpTRANS_USE_SVOP", 17, OPpTRANS_USE_SVOP0x02 },
4142 { "OPpARG2_MASK", 12, OPpARG2_MASK0x03 },
4143 { "OPpAVHVSWITCH_MASK", 18, OPpAVHVSWITCH_MASK0x03 },
4144 { "OPpARGELEM_HV", 13, OPpARGELEM_HV0x04 },
4145 { "OPpASSIGN_TRUEBOOL", 18, OPpASSIGN_TRUEBOOL0x04 },
4146 { "OPpCONST_SHORTCIRCUIT", 21, OPpCONST_SHORTCIRCUIT0x04 },
4147 { "OPpDONT_INIT_GV", 15, OPpDONT_INIT_GV0x04 },
4148 { "OPpENTERSUB_HASTARG", 19, OPpENTERSUB_HASTARG0x04 },
4149 { "OPpEVAL_UNICODE", 15, OPpEVAL_UNICODE0x04 },
4150 { "OPpFT_STACKED", 13, OPpFT_STACKED0x04 },
4151 { "OPpLVREF_ELEM", 13, OPpLVREF_ELEM0x04 },
4152 { "OPpSLICEWARNING", 15, OPpSLICEWARNING0x04 },
4153 { "OPpSORT_REVERSE", 15, OPpSORT_REVERSE0x04 },
4154 { "OPpSPLIT_IMPLIM", 15, OPpSPLIT_IMPLIM0x04 },
4155 { "OPpTRANS_IDENTICAL", 18, OPpTRANS_IDENTICAL0x04 },
4156 { "OPpARGELEM_MASK", 15, OPpARGELEM_MASK0x06 },
4157 { "OPpARG3_MASK", 12, OPpARG3_MASK0x07 },
4158 { "OPpPADRANGE_COUNTSHIFT", 22, OPpPADRANGE_COUNTSHIFT0x07 },
4159 { "OPpCONST_STRICT", 15, OPpCONST_STRICT0x08 },
4160 { "OPpENTERSUB_AMPER", 17, OPpENTERSUB_AMPER0x08 },
4161 { "OPpEVAL_BYTES", 13, OPpEVAL_BYTES0x08 },
4162 { "OPpFT_STACKING", 14, OPpFT_STACKING0x08 },
4163 { "OPpITER_DEF", 11, OPpITER_DEF0x08 },
4164 { "OPpLVREF_ITER", 13, OPpLVREF_ITER0x08 },
4165 { "OPpMAYBE_LVSUB", 14, OPpMAYBE_LVSUB0x08 },
4166 { "OPpMULTICONCAT_STRINGIFY", 24, OPpMULTICONCAT_STRINGIFY0x08 },
4167 { "OPpREVERSE_INPLACE", 18, OPpREVERSE_INPLACE0x08 },
4168 { "OPpSORT_INPLACE", 15, OPpSORT_INPLACE0x08 },
4169 { "OPpSPLIT_LEX", 12, OPpSPLIT_LEX0x08 },
4170 { "OPpTRANS_SQUASH", 15, OPpTRANS_SQUASH0x08 },
4171 { "OPpARG4_MASK", 12, OPpARG4_MASK0x0f },
4172 { "OPpASSIGN_COMMON_AGG", 20, OPpASSIGN_COMMON_AGG0x10 },
4173 { "OPpCONST_ENTERED", 16, OPpCONST_ENTERED0x10 },
4174 { "OPpDEREF_AV", 11, OPpDEREF_AV0x10 },
4175 { "OPpEVAL_COPHH", 13, OPpEVAL_COPHH0x10 },
4176 { "OPpFT_AFTER_t", 13, OPpFT_AFTER_t0x10 },
4177 { "OPpLVREF_AV", 11, OPpLVREF_AV0x10 },
4178 { "OPpMAYBE_TRUEBOOL", 17, OPpMAYBE_TRUEBOOL0x10 },
4179 { "OPpMULTIDEREF_EXISTS", 20, OPpMULTIDEREF_EXISTS0x10 },
4180 { "OPpOPEN_IN_RAW", 14, OPpOPEN_IN_RAW0x10 },
4181 { "OPpSORT_DESCEND", 15, OPpSORT_DESCEND0x10 },
4182 { "OPpSPLIT_ASSIGN", 15, OPpSPLIT_ASSIGN0x10 },
4183 { "OPpSUBSTR_REPL_FIRST", 20, OPpSUBSTR_REPL_FIRST0x10 },
4184 { "OPpTARGET_MY", 12, OPpTARGET_MY0x10 },
4185 { "OPpASSIGN_COMMON_RC1", 20, OPpASSIGN_COMMON_RC10x20 },
4186 { "OPpDEREF_HV", 11, OPpDEREF_HV0x20 },
4187 { "OPpEARLY_CV", 11, OPpEARLY_CV0x20 },
4188 { "OPpEVAL_RE_REPARSING", 20, OPpEVAL_RE_REPARSING0x20 },
4189 { "OPpHUSH_VMSISH", 14, OPpHUSH_VMSISH0x20 },
4190 { "OPpKVSLICE", 10, OPpKVSLICE0x20 },
4191 { "OPpLVREF_HV", 11, OPpLVREF_HV0x20 },
4192 { "OPpMAY_RETURN_CONSTANT", 22, OPpMAY_RETURN_CONSTANT0x20 },
4193 { "OPpMULTICONCAT_FAKE", 19, OPpMULTICONCAT_FAKE0x20 },
4194 { "OPpMULTIDEREF_DELETE", 20, OPpMULTIDEREF_DELETE0x20 },
4195 { "OPpOPEN_IN_CRLF", 15, OPpOPEN_IN_CRLF0x20 },
4196 { "OPpTRANS_COMPLEMENT", 19, OPpTRANS_COMPLEMENT0x20 },
4197 { "OPpTRUEBOOL", 11, OPpTRUEBOOL0x20 },
4198 { "OPpDEREF", 8, OPpDEREF0x30 },
4199 { "OPpDEREF_SV", 11, OPpDEREF_SV0x30 },
4200 { "OPpLVREF_CV", 11, OPpLVREF_CV0x30 },
4201 { "OPpLVREF_TYPE", 13, OPpLVREF_TYPE0x30 },
4202 { "OPpALLOW_FAKE", 13, OPpALLOW_FAKE0x40 },
4203 { "OPpASSIGN_BACKWARDS", 19, OPpASSIGN_BACKWARDS0x40 },
4204 { "OPpASSIGN_COMMON_SCALAR", 23, OPpASSIGN_COMMON_SCALAR0x40 },
4205 { "OPpCONCAT_NESTED", 16, OPpCONCAT_NESTED0x40 },
4206 { "OPpCONST_BARE", 13, OPpCONST_BARE0x40 },
4207 { "OPpCOREARGS_SCALARMOD", 21, OPpCOREARGS_SCALARMOD0x40 },
4208 { "OPpENTERSUB_DB", 14, OPpENTERSUB_DB0x40 },
4209 { "OPpEXISTS_SUB", 13, OPpEXISTS_SUB0x40 },
4210 { "OPpFLIP_LINENUM", 15, OPpFLIP_LINENUM0x40 },
4211 { "OPpINDEX_BOOLNEG", 16, OPpINDEX_BOOLNEG0x40 },
4212 { "OPpLIST_GUESSED", 15, OPpLIST_GUESSED0x40 },
4213 { "OPpLVAL_DEFER", 13, OPpLVAL_DEFER0x40 },
4214 { "OPpMULTICONCAT_APPEND", 21, OPpMULTICONCAT_APPEND0x40 },
4215 { "OPpOPEN_OUT_RAW", 15, OPpOPEN_OUT_RAW0x40 },
4216 { "OPpOUR_INTRO", 12, OPpOUR_INTRO0x40 },
4217 { "OPpPAD_STATE", 12, OPpPAD_STATE0x40 },
4218 { "OPpREFCOUNTED", 13, OPpREFCOUNTED0x40 },
4219 { "OPpREPEAT_DOLIST", 16, OPpREPEAT_DOLIST0x40 },
4220 { "OPpSLICE", 8, OPpSLICE0x40 },
4221 { "OPpSORT_STABLE", 14, OPpSORT_STABLE0x40 },
4222 { "OPpTRANS_GROWS", 14, OPpTRANS_GROWS0x40 },
4223 { "OPpPADRANGE_COUNTMASK", 21, OPpPADRANGE_COUNTMASK0x7f },
4224 { "OPpASSIGN_CV_TO_GV", 18, OPpASSIGN_CV_TO_GV0x80 },
4225 { "OPpCOREARGS_PUSHMARK", 20, OPpCOREARGS_PUSHMARK0x80 },
4226 { "OPpENTERSUB_NOPAREN", 19, OPpENTERSUB_NOPAREN0x80 },
4227 { "OPpLVALUE", 9, OPpLVALUE0x80 },
4228 { "OPpLVAL_INTRO", 13, OPpLVAL_INTRO0x80 },
4229 { "OPpOFFBYONE", 11, OPpOFFBYONE0x80 },
4230 { "OPpOPEN_OUT_CRLF", 16, OPpOPEN_OUT_CRLF0x80 },
4231 { "OPpPV_IS_UTF8", 13, OPpPV_IS_UTF80x80 },
4232 { "OPpSORT_UNSTABLE", 16, OPpSORT_UNSTABLE0x80 },
4233 { "OPpTRANS_DELETE", 15, OPpTRANS_DELETE0x80 },
4234 { "RXf_PMf_STD_PMMOD_SHIFT", 23, RXf_PMf_STD_PMMOD_SHIFT0 },
4235 { "RXf_PMf_MULTILINE", 17, RXf_PMf_MULTILINE(1U << (0 +0)) },
4236 { "RXf_PMf_SINGLELINE", 18, RXf_PMf_SINGLELINE(1U << (0 +1)) },
4237 { "RXf_PMf_FOLD", 12, RXf_PMf_FOLD(1U << (0 +2)) },
4238 { "RXf_PMf_EXTENDED", 16, RXf_PMf_EXTENDED(1U << (0 +3)) },
4239 { "RXf_PMf_EXTENDED_MORE", 21, RXf_PMf_EXTENDED_MORE(1U << (0 +4)) },
4240 { "RXf_PMf_NOCAPTURE", 17, RXf_PMf_NOCAPTURE(1U << (0 +5)) },
4241 { "RXf_PMf_KEEPCOPY", 16, RXf_PMf_KEEPCOPY(1U << (0 +6)) },
4242 { "RXf_PMf_CHARSET", 15, RXf_PMf_CHARSET(7U << (((0)+7))) },
4243 { "RXf_PMf_STRICT", 14, RXf_PMf_STRICT(1U<<(0 +10)) },
4244 { "RXf_PMf_SPLIT", 13, RXf_PMf_SPLIT(1U<<(0 +11)) },
4245 { "PMf_MULTILINE", 13, PMf_MULTILINE(1U<<0) },
4246 { "PMf_SINGLELINE", 14, PMf_SINGLELINE(1U<<1) },
4247 { "PMf_FOLD", 8, PMf_FOLD(1U<<2) },
4248 { "PMf_EXTENDED", 12, PMf_EXTENDED(1U<<3) },
4249 { "PMf_EXTENDED_MORE", 17, PMf_EXTENDED_MORE(1U<<4) },
4250 { "PMf_NOCAPTURE", 13, PMf_NOCAPTURE(1U<<5) },
4251 { "PMf_KEEPCOPY", 12, PMf_KEEPCOPY(1U<<6) },
4252 { "PMf_CHARSET", 11, PMf_CHARSET(7U<<7) },
4253 { "PMf_STRICT", 10, PMf_STRICT(1U<<10) },
4254 { "PMf_SPLIT", 9, PMf_SPLIT(1U<<11) },
4255 { "PADNAMEt_OUTER", 14, PADNAMEt_OUTER1 },
4256 { "PADNAMEt_STATE", 14, PADNAMEt_STATE2 },
4257 { "PADNAMEt_LVALUE", 15, PADNAMEt_LVALUE4 },
4258 { "PADNAMEt_TYPED", 14, PADNAMEt_TYPED8 },
4259 { "PADNAMEt_OUR", 12, PADNAMEt_OUR16 },
4260 { "RXf_NO_INPLACE_SUBST", 20, RXf_NO_INPLACE_SUBST(1U<<(((0 +12) + 2)+2)) },
4261 { "RXf_EVAL_SEEN", 13, RXf_EVAL_SEEN(1U<<(((0 +12) + 2)+3)) },
4262 { "RXf_UNBOUNDED_QUANTIFIER_SEEN", 29, RXf_UNBOUNDED_QUANTIFIER_SEEN(1U<<(((0 +12) + 2)+4)) },
4263 { "RXf_CHECK_ALL", 13, RXf_CHECK_ALL(1U<<(((0 +12) + 2)+5)) },
4264 { "RXf_MATCH_UTF8", 14, RXf_MATCH_UTF8(1U<<(((0 +12) + 2)+6)) },
4265 { "RXf_USE_INTUIT_NOML", 19, RXf_USE_INTUIT_NOML(1U<<(((0 +12) + 2)+7)) },
4266 { "RXf_USE_INTUIT_ML", 17, RXf_USE_INTUIT_ML(1U<<(((0 +12) + 2)+8)) },
4267 { "RXf_INTUIT_TAIL", 15, RXf_INTUIT_TAIL(1U<<(((0 +12) + 2)+9)) },
4268 { "RXf_IS_ANCHORED", 15, RXf_IS_ANCHORED(1U<<(((0 +12) + 2)+10)) },
4269 { "RXf_COPY_DONE", 13, RXf_COPY_DONE(1U<<(((0 +12) + 2)+11)) },
4270 { "RXf_TAINTED_SEEN", 16, RXf_TAINTED_SEEN(1U<<(((0 +12) + 2)+12)) },
4271 { "RXf_TAINTED", 11, RXf_TAINTED(1U<<(((0 +12) + 2)+13)) },
4272 { "RXf_START_ONLY", 14, RXf_START_ONLY(1U<<(((0 +12) + 2)+14)) },
4273 { "RXf_SKIPWHITE", 13, RXf_SKIPWHITE(1U<<(((0 +12) + 2)+15)) },
4274 { "RXf_WHITE", 9, RXf_WHITE(1U<<(((0 +12) + 2)+16)) },
4275 { "RXf_NULL", 8, RXf_NULL(1U<<(((0 +12) + 2)+17)) },
4276 { "SVf_IOK", 7, SVf_IOK0x00000100 },
4277 { "SVf_NOK", 7, SVf_NOK0x00000200 },
4278 { "SVf_POK", 7, SVf_POK0x00000400 },
4279 { "SVf_ROK", 7, SVf_ROK0x00000800 },
4280 { "SVp_IOK", 7, SVp_IOK0x00001000 },
4281 { "SVp_NOK", 7, SVp_NOK0x00002000 },
4282 { "SVp_POK", 7, SVp_POK0x00004000 },
4283 { "SVp_SCREAM", 10, SVp_SCREAM0x00008000 },
4284 { "SVf_PROTECT", 11, SVf_PROTECT0x00010000 },
4285 { "SVs_PADTMP", 10, SVs_PADTMP0x00020000 },
4286 { "SVs_PADSTALE", 12, SVs_PADSTALE0x00040000 },
4287 { "SVs_TEMP", 8, SVs_TEMP0x00080000 },
4288 { "SVs_OBJECT", 10, SVs_OBJECT0x00100000 },
4289 { "SVs_GMG", 7, SVs_GMG0x00200000 },
4290 { "SVs_SMG", 7, SVs_SMG0x00400000 },
4291 { "SVs_RMG", 7, SVs_RMG0x00800000 },
4292 { "SVf_FAKE", 8, SVf_FAKE0x01000000 },
4293 { "SVf_OOK", 7, SVf_OOK0x02000000 },
4294 { "SVf_BREAK", 9, SVf_BREAK0x04000000 },
4295 { "SVf_READONLY", 12, SVf_READONLY0x08000000 },
4296 { "SVf_AMAGIC", 10, SVf_AMAGIC0x10000000 },
4297 { "SVf_IsCOW", 9, SVf_IsCOW0x10000000 },
4298 { "SVf_UTF8", 8, SVf_UTF80x20000000 },
4299 { "SVf_IVisUV", 10, SVf_IVisUV0x80000000 },
4300 { "SVs_PADMY", 9, SVs_PADMY0 },
4301 { NULL((void*)0), 0, 0 } };
4302 const struct uv_s *value_for_uv = values_for_uv;
4303 while (value_for_iv->name) {
4304 he = _add_symbol(aTHX_ symbol_table, value_for_iv->name,
4305 value_for_iv->namelen, newSViv(value_for_iv->value)Perl_newSViv( value_for_iv->value));
4306 av_push(push, newSVhek(HeKEY_hek(he)))Perl_av_push( push,Perl_newSVhek( (he)->hent_hek));
4307 ++value_for_iv;
4308 }
4309 while (value_for_uv->name) {
4310 he = _add_symbol(aTHX_ symbol_table, value_for_uv->name,
4311 value_for_uv->namelen, newSVuv(value_for_uv->value)Perl_newSVuv( value_for_uv->value));
4312 av_push(push, newSVhek(HeKEY_hek(he)))Perl_av_push( push,Perl_newSVhek( (he)->hent_hek));
4313 ++value_for_uv;
4314 }
4315 if (C_ARRAY_LENGTH(values_for_notfound)(sizeof(values_for_notfound)/sizeof((values_for_notfound)[0])
)
> 1) {
4316#ifndef SYMBIAN
4317 HV *const _missing = get_missing_hash(aTHX);
4318#endif
4319 const struct notfound_s *value_for_notfound = values_for_notfound;
4320 do {
4321
4322 /* Need to add prototypes, else parsing will vary by platform. */
4323 HE *he = (HE*) hv_common_key_len(symbol_table,Perl_hv_common_key_len( symbol_table,value_for_notfound->name
,value_for_notfound->namelen,0x10,((void*)0),0)
4324 value_for_notfound->name,Perl_hv_common_key_len( symbol_table,value_for_notfound->name
,value_for_notfound->namelen,0x10,((void*)0),0)
4325 value_for_notfound->namelen,Perl_hv_common_key_len( symbol_table,value_for_notfound->name
,value_for_notfound->namelen,0x10,((void*)0),0)
4326 HV_FETCH_LVALUE, NULL, 0)Perl_hv_common_key_len( symbol_table,value_for_notfound->name
,value_for_notfound->namelen,0x10,((void*)0),0)
;
4327 SV *sv;
4328#ifndef SYMBIAN
4329 HEK *hek;
4330#endif
4331 if (!he) {
4332 croakPerl_croak("Couldn't add key '%s' to %%B::",
4333 value_for_notfound->name);
4334 }
4335 sv = HeVAL(he)(he)->he_valu.hent_val;
4336 if (!SvOK(sv)((sv)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800
| 0x00001000|0x00002000|0x00004000|0x00008000))
&& SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) != SVt_PVGV) {
4337 /* Nothing was here before, so mark a prototype of "" */
4338 sv_setpvn(sv, "", 0)Perl_sv_setpvn( sv,"",0);
4339 } else if (SvPOK(sv)((sv)->sv_flags & 0x00000400) && SvCUR(sv)((XPV*) (sv)->sv_any)->xpv_cur == 0) {
4340 /* There is already a prototype of "" - do nothing */
4341 } else {
4342 /* Someone has been here before us - have to make a real
4343 typeglob. */
4344 /* It turns out to be incredibly hard to deal with all the
4345 corner cases of sub foo (); and reporting errors correctly,
4346 so lets cheat a bit. Start with a constant subroutine */
4347 CV *cv = newCONSTSUB(symbol_table,Perl_newCONSTSUB( symbol_table,value_for_notfound->name,&
(PL_sv_immortals[0]))
4348 value_for_notfound->name,Perl_newCONSTSUB( symbol_table,value_for_notfound->name,&
(PL_sv_immortals[0]))
4349 &PL_sv_yes)Perl_newCONSTSUB( symbol_table,value_for_notfound->name,&
(PL_sv_immortals[0]))
;
4350 /* and then turn it into a non constant declaration only. */
4351 SvREFCNT_dec(CvXSUBANY(cv).any_ptr)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (((XPVCV*)({ void *_p
= ((cv)->sv_any); _p; }))->xcv_start_u.xcv_xsubany.any_ptr
); _p; })))
;
4352 CvCONST_off(cv)(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_flags
&= ~0x0004)
;
4353 CvXSUB(cv)((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_root_u
.xcv_xsub
= NULL((void*)0);
4354 CvXSUBANY(cv)((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany
.any_ptr = NULL((void*)0);
4355 }
4356#ifndef SYMBIAN
4357 hek = HeKEY_hek(he)(he)->hent_hek;
4358 if (!hv_common(_missing, NULL, HEK_KEY(hek),Perl_hv_common( _missing,((void*)0),(hek)->hek_key,(hek)->
hek_len,(*((unsigned char *)((hek)->hek_key)+(hek)->hek_len
+1)),0x04,&(PL_sv_immortals[0]),(hek)->hek_hash)
4359 HEK_LEN(hek), HEK_FLAGS(hek), HV_FETCH_ISSTORE,Perl_hv_common( _missing,((void*)0),(hek)->hek_key,(hek)->
hek_len,(*((unsigned char *)((hek)->hek_key)+(hek)->hek_len
+1)),0x04,&(PL_sv_immortals[0]),(hek)->hek_hash)
4360 &PL_sv_yes, HEK_HASH(hek))Perl_hv_common( _missing,((void*)0),(hek)->hek_key,(hek)->
hek_len,(*((unsigned char *)((hek)->hek_key)+(hek)->hek_len
+1)),0x04,&(PL_sv_immortals[0]),(hek)->hek_hash)
)
4361 croakPerl_croak("Couldn't add key '%s' to missing_hash",
4362 value_for_notfound->name);
4363#endif
4364 av_push(push, newSVhek(hek))Perl_av_push( push,Perl_newSVhek( hek));
4365 } while ((++value_for_notfound)->name);
4366 }
4367 /* As we've been creating subroutines, we better invalidate any cached
4368 methods */
4369 mro_method_changed_in(symbol_table)Perl_mro_method_changed_in( symbol_table);
4370 }
4371
4372#line 605 "B.xs"
4373{
4374 CV *cv;
4375 const char *file = __FILE__"B.xs";
4376 SV *sv;
4377 MY_CXT_INIT(void)0;
4378 B_init_my_cxt(aTHX_ &(MY_CXTmy_cxt));
4379 cv = newXS("B::init_av", intrpvar_sv_common, file)Perl_newXS( "B::init_av",intrpvar_sv_common,file);
4380 ASSIGN_COMMON_ALIAS(I, initav)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_initav; } while (0)
;
4381 cv = newXS("B::check_av", intrpvar_sv_common, file)Perl_newXS( "B::check_av",intrpvar_sv_common,file);
4382 ASSIGN_COMMON_ALIAS(I, checkav_save)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_checkav_save; } while (
0)
;
4383 cv = newXS("B::unitcheck_av", intrpvar_sv_common, file)Perl_newXS( "B::unitcheck_av",intrpvar_sv_common,file);
4384 ASSIGN_COMMON_ALIAS(I, unitcheckav_save)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_unitcheckav_save; } while
(0)
;
4385 cv = newXS("B::begin_av", intrpvar_sv_common, file)Perl_newXS( "B::begin_av",intrpvar_sv_common,file);
4386 ASSIGN_COMMON_ALIAS(I, beginav_save)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_beginav_save; } while (
0)
;
4387 cv = newXS("B::end_av", intrpvar_sv_common, file)Perl_newXS( "B::end_av",intrpvar_sv_common,file);
4388 ASSIGN_COMMON_ALIAS(I, endav)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_endav; } while (0)
;
4389 cv = newXS("B::main_cv", intrpvar_sv_common, file)Perl_newXS( "B::main_cv",intrpvar_sv_common,file);
4390 ASSIGN_COMMON_ALIAS(I, main_cv)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_main_cv; } while (0)
;
4391 cv = newXS("B::inc_gv", intrpvar_sv_common, file)Perl_newXS( "B::inc_gv",intrpvar_sv_common,file);
4392 ASSIGN_COMMON_ALIAS(I, incgv)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_incgv; } while (0)
;
4393 cv = newXS("B::defstash", intrpvar_sv_common, file)Perl_newXS( "B::defstash",intrpvar_sv_common,file);
4394 ASSIGN_COMMON_ALIAS(I, defstash)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_defstash; } while (0)
;
4395 cv = newXS("B::curstash", intrpvar_sv_common, file)Perl_newXS( "B::curstash",intrpvar_sv_common,file);
4396 ASSIGN_COMMON_ALIAS(I, curstash)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_curstash; } while (0)
;
4397#ifdef USE_ITHREADS
4398 cv = newXS("B::regex_padav", intrpvar_sv_common, file)Perl_newXS( "B::regex_padav",intrpvar_sv_common,file);
4399 ASSIGN_COMMON_ALIAS(I, regex_padav)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_regex_padav; } while (
0)
;
4400#endif
4401 cv = newXS("B::warnhook", intrpvar_sv_common, file)Perl_newXS( "B::warnhook",intrpvar_sv_common,file);
4402 ASSIGN_COMMON_ALIAS(I, warnhook)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_warnhook; } while (0)
;
4403 cv = newXS("B::diehook", intrpvar_sv_common, file)Perl_newXS( "B::diehook",intrpvar_sv_common,file);
4404 ASSIGN_COMMON_ALIAS(I, diehook)do { ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u
.xcv_xsubany.any_ptr = (void *)&PL_diehook; } while (0)
;
4405 sv = get_sv("B::OP::does_parent", GV_ADDMULTI)Perl_get_sv( "B::OP::does_parent",0x02);
4406 sv_setsv(sv, &PL_sv_yes)Perl_sv_setsv_flags( sv,&(PL_sv_immortals[0]),2|0);
4407}
4408
4409#if XSubPPtmpAAAA
4410#endif
4411#line 2241 "B.xs"
4412{
4413 /* Uses less memory than an ALIAS. */
4414 GV *gv = gv_fetchpvs("B::PADNAME::TYPE", 1, SVt_PVGV)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::TYPE" ""), (sizeof("B::PADNAME::TYPE"
)-1), 1, SVt_PVGV)
;
4415 sv_setsv((SV *)gv_fetchpvs("B::PADNAME::SvSTASH",1,SVt_PVGV),(SV *)gv)Perl_sv_setsv_flags( (SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::SvSTASH"
""), (sizeof("B::PADNAME::SvSTASH")-1), 1, SVt_PVGV),(SV *)gv
,2|0)
;
4416 sv_setsv((SV *)gv_fetchpvs("B::PADNAME::PROTOCV",1,SVt_PVGV),(SV *)gv)Perl_sv_setsv_flags( (SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::PROTOCV"
""), (sizeof("B::PADNAME::PROTOCV")-1), 1, SVt_PVGV),(SV *)gv
,2|0)
;
4417 sv_setsv((SV *)gv_fetchpvs("B::PADNAME::PVX",1,SVt_PVGV),Perl_sv_setsv_flags( (SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::PVX"
""), (sizeof("B::PADNAME::PVX")-1), 1, SVt_PVGV),(SV *)Perl_gv_fetchpvn_flags
( ("" "B::PADNAME::PV" ""), (sizeof("B::PADNAME::PV")-1), 1, SVt_PVGV
),2|0)
4418 (SV *)gv_fetchpvs("B::PADNAME::PV" ,1,SVt_PVGV))Perl_sv_setsv_flags( (SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::PVX"
""), (sizeof("B::PADNAME::PVX")-1), 1, SVt_PVGV),(SV *)Perl_gv_fetchpvn_flags
( ("" "B::PADNAME::PV" ""), (sizeof("B::PADNAME::PV")-1), 1, SVt_PVGV
),2|0)
;
4419 sv_setsv((SV *)gv_fetchpvs("B::PADNAME::PARENT_PAD_INDEX" ,1,SVt_PVGV),Perl_sv_setsv_flags( (SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::PARENT_PAD_INDEX"
""), (sizeof("B::PADNAME::PARENT_PAD_INDEX")-1), 1, SVt_PVGV
),(SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::COP_SEQ_RANGE_LOW"
""), (sizeof("B::PADNAME::COP_SEQ_RANGE_LOW")-1), 1, SVt_PVGV
),2|0)
4420 (SV *)gv_fetchpvs("B::PADNAME::COP_SEQ_RANGE_LOW",1,Perl_sv_setsv_flags( (SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::PARENT_PAD_INDEX"
""), (sizeof("B::PADNAME::PARENT_PAD_INDEX")-1), 1, SVt_PVGV
),(SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::COP_SEQ_RANGE_LOW"
""), (sizeof("B::PADNAME::COP_SEQ_RANGE_LOW")-1), 1, SVt_PVGV
),2|0)
4421 SVt_PVGV))Perl_sv_setsv_flags( (SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::PARENT_PAD_INDEX"
""), (sizeof("B::PADNAME::PARENT_PAD_INDEX")-1), 1, SVt_PVGV
),(SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::COP_SEQ_RANGE_LOW"
""), (sizeof("B::PADNAME::COP_SEQ_RANGE_LOW")-1), 1, SVt_PVGV
),2|0)
;
4422 sv_setsv((SV *)gv_fetchpvs("B::PADNAME::PARENT_FAKELEX_FLAGS",1,Perl_sv_setsv_flags( (SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::PARENT_FAKELEX_FLAGS"
""), (sizeof("B::PADNAME::PARENT_FAKELEX_FLAGS")-1), 1, SVt_PVGV
),(SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::COP_SEQ_RANGE_HIGH"
""), (sizeof("B::PADNAME::COP_SEQ_RANGE_HIGH")-1), 1, SVt_PVGV
),2|0)
4423 SVt_PVGV),Perl_sv_setsv_flags( (SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::PARENT_FAKELEX_FLAGS"
""), (sizeof("B::PADNAME::PARENT_FAKELEX_FLAGS")-1), 1, SVt_PVGV
),(SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::COP_SEQ_RANGE_HIGH"
""), (sizeof("B::PADNAME::COP_SEQ_RANGE_HIGH")-1), 1, SVt_PVGV
),2|0)
4424 (SV *)gv_fetchpvs("B::PADNAME::COP_SEQ_RANGE_HIGH" ,1,Perl_sv_setsv_flags( (SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::PARENT_FAKELEX_FLAGS"
""), (sizeof("B::PADNAME::PARENT_FAKELEX_FLAGS")-1), 1, SVt_PVGV
),(SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::COP_SEQ_RANGE_HIGH"
""), (sizeof("B::PADNAME::COP_SEQ_RANGE_HIGH")-1), 1, SVt_PVGV
),2|0)
4425 SVt_PVGV))Perl_sv_setsv_flags( (SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::PARENT_FAKELEX_FLAGS"
""), (sizeof("B::PADNAME::PARENT_FAKELEX_FLAGS")-1), 1, SVt_PVGV
),(SV *)Perl_gv_fetchpvn_flags( ("" "B::PADNAME::COP_SEQ_RANGE_HIGH"
""), (sizeof("B::PADNAME::COP_SEQ_RANGE_HIGH")-1), 1, SVt_PVGV
),2|0)
;
4426}
4427
4428#line 4429 "B.c"
4429
4430 /* End of Initialisation Section */
4431
4432#if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5))
4433# if PERL_VERSION_GE(5, 9, 0)((5*1000000 + 32*1000 + 1) >= (5*1000000 + 9*1000 + 0))
4434 if (PL_unitcheckav)
4435 call_list(PL_scopestack_ix, PL_unitcheckav)Perl_call_list( PL_scopestack_ix,PL_unitcheckav);
4436# endif
4437 XSRETURN_YESdo { (PL_stack_base[ax + (0)] = &(PL_sv_immortals[0]) ); do
{ const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0); } while (0)
;
4438#else
4439 Perl_xs_boot_epilog(aTHX_ ax);
4440#endif
4441}
4442