static void S_clear_yystack(pTHX_ const yy_parser *parser) { yy_stack_frame *ps = parser->ps; int i = 0; if (!parser->stack) return; YYDPRINTF ((Perl_debug_log, "clearing the parse stack\n")); for (i=0; i< parser->yylen; i++) { SvREFCNT_dec(ps[-i].compcv); } ps -= parser->yylen; /* now free whole the stack, including the just-reduced ops */ while (ps > parser->stack) { LEAVE_SCOPE(ps->savestack_ix); if (yy_type_tab[yystos[ps->state]] == toketype_opval && ps->val.opval) { if (ps->compcv != PL_compcv) { PL_compcv = ps->compcv; PAD_SET_CUR_NOSAVE(CvPADLIST(PL_compcv), 1); PL_comppad_name = PadlistNAMES(CvPADLIST(PL_compcv)); } YYDPRINTF ((Perl_debug_log, "(freeing op)\n")); op_free(ps->val.opval); } SvREFCNT_dec(ps->compcv); ps--; } Safefree(parser->stack); }
SV * DeadCode(pTHX) { #ifdef PURIFY return Nullsv; #else SV* sva; SV* sv; SV* ret = newRV_noinc((SV*)newAV()); register SV* svend; int tm = 0, tref = 0, ts = 0, ta = 0, tas = 0; for (sva = PL_sv_arenaroot; sva; sva = (SV*)SvANY(sva)) { svend = &sva[SvREFCNT(sva)]; for (sv = sva + 1; sv < svend; ++sv) { if (SvTYPE(sv) == SVt_PVCV) { CV *cv = (CV*)sv; AV* padlist = CvPADLIST(cv), *argav; SV** svp; SV** pad; int i = 0, j, levelm, totm = 0, levelref, totref = 0; int levels, tots = 0, levela, tota = 0, levelas, totas = 0; int dumpit = 0; if (CvXSUB(sv)) { continue; /* XSUB */ } if (!CvGV(sv)) { continue; /* file-level scope. */ } if (!CvROOT(cv)) { /* PerlIO_printf(Perl_debug_log, " no root?!\n"); */ continue; /* autoloading stub. */ } do_gvgv_dump(0, Perl_debug_log, "GVGV::GV", CvGV(sv)); if (CvDEPTH(cv)) { PerlIO_printf(Perl_debug_log, " busy\n"); continue; } svp = AvARRAY(padlist); while (++i <= AvFILL(padlist)) { /* Depth. */ SV **args; pad = AvARRAY((AV*)svp[i]); argav = (AV*)pad[0]; if (!argav || (SV*)argav == &PL_sv_undef) { PerlIO_printf(Perl_debug_log, " closure-template\n"); continue; } args = AvARRAY(argav); levelm = levels = levelref = levelas = 0; levela = sizeof(SV*) * (AvMAX(argav) + 1); if (AvREAL(argav)) { for (j = 0; j < AvFILL(argav); j++) { if (SvROK(args[j])) { PerlIO_printf(Perl_debug_log, " ref in args!\n"); levelref++; } /* else if (SvPOK(args[j]) && SvPVX(args[j])) { */ else if (SvTYPE(args[j]) >= SVt_PV && SvLEN(args[j])) { levelas += SvLEN(args[j])/SvREFCNT(args[j]); } } } for (j = 1; j < AvFILL((AV*)svp[1]); j++) { /* Vars. */ if (SvROK(pad[j])) { levelref++; do_sv_dump(0, Perl_debug_log, pad[j], 0, 4, 0, 0); dumpit = 1; } /* else if (SvPOK(pad[j]) && SvPVX(pad[j])) { */ else if (SvTYPE(pad[j]) >= SVt_PVAV) { if (!SvPADMY(pad[j])) { levelref++; do_sv_dump(0, Perl_debug_log, pad[j], 0, 4, 0, 0); dumpit = 1; } } else if (SvTYPE(pad[j]) >= SVt_PV && SvLEN(pad[j])) { levels++; levelm += SvLEN(pad[j])/SvREFCNT(pad[j]); /* Dump(pad[j],4); */ } } PerlIO_printf(Perl_debug_log, " level %i: refs: %i, strings: %i in %i,\targsarray: %i, argsstrings: %i\n", i, levelref, levelm, levels, levela, levelas); totm += levelm; tota += levela; totas += levelas; tots += levels; totref += levelref; if (dumpit) do_sv_dump(0, Perl_debug_log, (SV*)cv, 0, 2, 0, 0); } if (AvFILL(padlist) > 1) { PerlIO_printf(Perl_debug_log, " total: refs: %i, strings: %i in %i,\targsarrays: %i, argsstrings: %i\n", totref, totm, tots, tota, totas); } tref += totref; tm += totm; ts += tots; ta += tota; tas += totas; } } } PerlIO_printf(Perl_debug_log, "total: refs: %i, strings: %i in %i\targsarray: %i, argsstrings: %i\n", tref, tm, ts, ta, tas); return ret; #endif /* !PURIFY */ }
static int perl_init_aaaa() { dTARG; dSP; listop_list[0].op_ppaddr = PL_ppaddr[OP_LEAVE]; op_list[0].op_ppaddr = PL_ppaddr[OP_ENTER]; cop_list[0].op_ppaddr = PL_ppaddr[OP_NEXTSTATE]; cop_list[0].cop_warnings = pWARN_STD; CopFILE_set(&cop_list[0], "hello.p"); CopSTASHPV_set(&cop_list[0], "main"); listop_list[1].op_ppaddr = PL_ppaddr[OP_PRINT]; op_list[1].op_ppaddr = PL_ppaddr[OP_PUSHMARK]; svop_list[0].op_ppaddr = PL_ppaddr[OP_CONST]; gv_list[0] = gv_fetchpv("main::/", TRUE, SVt_PV); SvFLAGS(gv_list[0]) = 0x600d; GvFLAGS(gv_list[0]) = 0xa; GvLINE(gv_list[0]) = 0; SvPVX(gv_list[0]) = emptystring; SvREFCNT(gv_list[0]) += 4; GvREFCNT(gv_list[0]) += 1; gv_list[1] = gv_fetchpv("main::stderr", TRUE, SVt_PV); SvFLAGS(gv_list[1]) = 0x600d; GvFLAGS(gv_list[1]) = 0x2; GvLINE(gv_list[1]) = 0; SvPVX(gv_list[1]) = emptystring; SvREFCNT(gv_list[1]) += 2; GvREFCNT(gv_list[1]) += 1; GvSV(gv_list[1]) = &sv_list[0]; GvFILE(gv_list[1]) = "hello.p"; IoIFP((IO*)&sv_list[1])=PerlIO_stderr(); IoOFP((IO*)&sv_list[1])=PerlIO_stderr(); hv0 = gv_stashpv("FileHandle", TRUE); SvSTASH((IO*)&sv_list[1]) = hv0; GvIOp(gv_list[1]) = (IO*)&sv_list[1]; gv_list[2] = gv_fetchpv("main::SIG", TRUE, SVt_PV); SvFLAGS(gv_list[2]) = 0x600d; GvFLAGS(gv_list[2]) = 0xa; GvLINE(gv_list[2]) = 62; SvPVX(gv_list[2]) = emptystring; SvREFCNT(gv_list[2]) += 12; GvREFCNT(gv_list[2]) += 1; gv_list[3] = gv_fetchpv("main::,", TRUE, SVt_PV); SvFLAGS(gv_list[3]) = 0x600d; GvFLAGS(gv_list[3]) = 0xa; GvLINE(gv_list[3]) = 474; SvPVX(gv_list[3]) = emptystring; SvREFCNT(gv_list[3]) += 6; GvREFCNT(gv_list[3]) += 1; gv_list[4] = gv_fetchpv("utf8::unicode_to_native", TRUE, SVt_PV); SvFLAGS(gv_list[4]) = 0x600d; GvFLAGS(gv_list[4]) = 0xa; GvLINE(gv_list[4]) = 0; SvPVX(gv_list[4]) = emptystring; SvREFCNT(gv_list[4]) += 3; GvREFCNT(gv_list[4]) += 1; GvSV(gv_list[4]) = &sv_list[2]; GvCV(gv_list[4]) = (CV*)((perl_get_cv("utf8::unicode_to_native",TRUE))); GvFILE(gv_list[4]) = "hello.p"; gv_list[5] = gv_fetchpv("utf8::encode", TRUE, SVt_PV); SvFLAGS(gv_list[5]) = 0x600d; GvFLAGS(gv_list[5]) = 0x2; GvLINE(gv_list[5]) = 0; SvPVX(gv_list[5]) = emptystring; SvREFCNT(gv_list[5]) += 2; GvREFCNT(gv_list[5]) += 1; GvSV(gv_list[5]) = &sv_list[3]; GvCV(gv_list[5]) = (CV*)((perl_get_cv("utf8::encode",TRUE))); GvFILE(gv_list[5]) = "hello.p"; gv_list[6] = gv_fetchpv("utf8::valid", TRUE, SVt_PV); SvFLAGS(gv_list[6]) = 0x600d; GvFLAGS(gv_list[6]) = 0x2; GvLINE(gv_list[6]) = 0; SvPVX(gv_list[6]) = emptystring; SvREFCNT(gv_list[6]) += 2; GvREFCNT(gv_list[6]) += 1; GvSV(gv_list[6]) = &sv_list[4]; GvCV(gv_list[6]) = (CV*)((perl_get_cv("utf8::valid",TRUE))); GvFILE(gv_list[6]) = "hello.p"; gv_list[7] = gv_fetchpv("utf8::native_to_unicode", TRUE, SVt_PV); SvFLAGS(gv_list[7]) = 0x600d; GvFLAGS(gv_list[7]) = 0x2; GvLINE(gv_list[7]) = 0; SvPVX(gv_list[7]) = emptystring; SvREFCNT(gv_list[7]) += 2; GvREFCNT(gv_list[7]) += 1; GvSV(gv_list[7]) = &sv_list[5]; GvCV(gv_list[7]) = (CV*)((perl_get_cv("utf8::native_to_unicode",TRUE))); GvFILE(gv_list[7]) = "hello.p"; gv_list[8] = gv_fetchpv("utf8::decode", TRUE, SVt_PV); SvFLAGS(gv_list[8]) = 0x600d; GvFLAGS(gv_list[8]) = 0x2; GvLINE(gv_list[8]) = 0; SvPVX(gv_list[8]) = emptystring; SvREFCNT(gv_list[8]) += 2; GvREFCNT(gv_list[8]) += 1; GvSV(gv_list[8]) = &sv_list[6]; GvCV(gv_list[8]) = (CV*)((perl_get_cv("utf8::decode",TRUE))); GvFILE(gv_list[8]) = "hello.p"; gv_list[9] = gv_fetchpv("utf8::downgrade", TRUE, SVt_PV); SvFLAGS(gv_list[9]) = 0x600d; GvFLAGS(gv_list[9]) = 0x2; GvLINE(gv_list[9]) = 0; SvPVX(gv_list[9]) = emptystring; SvREFCNT(gv_list[9]) += 2; GvREFCNT(gv_list[9]) += 1; GvSV(gv_list[9]) = &sv_list[7]; GvCV(gv_list[9]) = (CV*)((perl_get_cv("utf8::downgrade",TRUE))); GvFILE(gv_list[9]) = "hello.p"; gv_list[10] = gv_fetchpv("utf8::upgrade", TRUE, SVt_PV); SvFLAGS(gv_list[10]) = 0x600d; GvFLAGS(gv_list[10]) = 0x2; GvLINE(gv_list[10]) = 0; SvPVX(gv_list[10]) = emptystring; SvREFCNT(gv_list[10]) += 2; GvREFCNT(gv_list[10]) += 1; GvSV(gv_list[10]) = &sv_list[8]; GvCV(gv_list[10]) = (CV*)((perl_get_cv("utf8::upgrade",TRUE))); GvFILE(gv_list[10]) = "hello.p"; gv_list[11] = gv_fetchpv("utf8::is_utf8", TRUE, SVt_PV); SvFLAGS(gv_list[11]) = 0x600d; GvFLAGS(gv_list[11]) = 0x2; GvLINE(gv_list[11]) = 0; SvPVX(gv_list[11]) = emptystring; SvREFCNT(gv_list[11]) += 2; GvREFCNT(gv_list[11]) += 1; GvSV(gv_list[11]) = &sv_list[9]; GvCV(gv_list[11]) = (CV*)((perl_get_cv("utf8::is_utf8",TRUE))); GvFILE(gv_list[11]) = "hello.p"; gv_list[12] = gv_fetchpv("main::\"", TRUE, SVt_PV); SvFLAGS(gv_list[12]) = 0x600d; GvFLAGS(gv_list[12]) = 0xa; GvLINE(gv_list[12]) = 0; SvPVX(gv_list[12]) = emptystring; SvREFCNT(gv_list[12]) += 10; GvREFCNT(gv_list[12]) += 1; gv_list[13] = gv_fetchpv("main::stdout", TRUE, SVt_PV); SvFLAGS(gv_list[13]) = 0x600d; GvFLAGS(gv_list[13]) = 0x2; GvLINE(gv_list[13]) = 0; SvPVX(gv_list[13]) = emptystring; SvREFCNT(gv_list[13]) += 2; GvREFCNT(gv_list[13]) += 1; GvSV(gv_list[13]) = &sv_list[10]; GvFILE(gv_list[13]) = "hello.p"; IoIFP((IO*)&sv_list[11])=PerlIO_stdout(); IoOFP((IO*)&sv_list[11])=PerlIO_stdout(); SvSTASH((IO*)&sv_list[11]) = hv0; GvIOp(gv_list[13]) = (IO*)&sv_list[11]; gv_list[14] = gv_fetchpv("main::\022", TRUE, SVt_PV); SvFLAGS(gv_list[14]) = 0x600d; GvFLAGS(gv_list[14]) = 0x2; GvLINE(gv_list[14]) = 0; SvPVX(gv_list[14]) = emptystring; SvREFCNT(gv_list[14]) += 2; GvREFCNT(gv_list[14]) += 1; gv_list[15] = gv_fetchpv("main::|", TRUE, SVt_PV); SvFLAGS(gv_list[15]) = 0x600d; GvFLAGS(gv_list[15]) = 0xa; GvLINE(gv_list[15]) = 466; SvPVX(gv_list[15]) = emptystring; SvREFCNT(gv_list[15]) += 5; GvREFCNT(gv_list[15]) += 1; gv_list[16] = gv_fetchpv("Regexp::DESTROY", TRUE, SVt_PV); SvFLAGS(gv_list[16]) = 0x600d; GvFLAGS(gv_list[16]) = 0x2; GvLINE(gv_list[16]) = 0; SvPVX(gv_list[16]) = emptystring; SvREFCNT(gv_list[16]) += 2; GvREFCNT(gv_list[16]) += 1; GvSV(gv_list[16]) = &sv_list[12]; GvCV(gv_list[16]) = (CV*)((perl_get_cv("Regexp::DESTROY",TRUE))); GvFILE(gv_list[16]) = "hello.p"; gv_list[17] = gv_fetchpv("main::\f", TRUE, SVt_PV); SvFLAGS(gv_list[17]) = 0x600d; GvFLAGS(gv_list[17]) = 0xa; GvLINE(gv_list[17]) = 554; SvPVX(gv_list[17]) = emptystring; SvREFCNT(gv_list[17]) += 4; GvREFCNT(gv_list[17]) += 1; gv_list[18] = gv_fetchpv("main::^", TRUE, SVt_PV); SvFLAGS(gv_list[18]) = 0x600d; GvFLAGS(gv_list[18]) = 0xa; GvLINE(gv_list[18]) = 538; SvPVX(gv_list[18]) = emptystring; SvREFCNT(gv_list[18]) += 4; GvREFCNT(gv_list[18]) += 1; gv_list[19] = gv_fetchpv("main::\001", TRUE, SVt_PV); SvFLAGS(gv_list[19]) = 0x600d; GvFLAGS(gv_list[19]) = 0xa; GvLINE(gv_list[19]) = 562; SvPVX(gv_list[19]) = emptystring; SvREFCNT(gv_list[19]) += 5; GvREFCNT(gv_list[19]) += 1; gv_list[20] = gv_fetchpv("main::$", TRUE, SVt_PV); SvFLAGS(gv_list[20]) = 0x600d; GvFLAGS(gv_list[20]) = 0x2; GvLINE(gv_list[20]) = 0; SvPVX(gv_list[20]) = emptystring; SvREFCNT(gv_list[20]) += 2; GvREFCNT(gv_list[20]) += 1; gv_list[21] = gv_fetchpv("main::\\", TRUE, SVt_PV); SvFLAGS(gv_list[21]) = 0x600d; GvFLAGS(gv_list[21]) = 0xa; GvLINE(gv_list[21]) = 441; SvPVX(gv_list[21]) = emptystring; SvREFCNT(gv_list[21]) += 9; GvREFCNT(gv_list[21]) += 1; gv_list[22] = gv_fetchpv("main::_</usr/lib/perl5/5.8.5/i386-linux-thread-multi/XSLoader.pm", TRUE, SVt_PV); SvFLAGS(gv_list[22]) = 0x600d; GvFLAGS(gv_list[22]) = 0x2; GvLINE(gv_list[22]) = 4294967295; SvPVX(gv_list[22]) = emptystring; SvREFCNT(gv_list[22]) += 2; GvREFCNT(gv_list[22]) += 1; xpv_list[0].xpv_pv = savepvn("/usr/lib/perl5/5.8.5/i386-linux-thread-multi/XSLoader.pm", 56); GvSV(gv_list[22]) = &sv_list[13]; GvFILE(gv_list[22]) = "/usr/lib/perl5/5.8.5/i386-linux-thread-multi/XSLoader.pm"; gv_list[23] = gv_fetchpv("main::~", TRUE, SVt_PV); SvFLAGS(gv_list[23]) = 0x600d; GvFLAGS(gv_list[23]) = 0xa; GvLINE(gv_list[23]) = 530; SvPVX(gv_list[23]) = emptystring; SvREFCNT(gv_list[23]) += 4; GvREFCNT(gv_list[23]) += 1; gv_list[24] = gv_fetchpv("main::-", TRUE, SVt_PV); SvFLAGS(gv_list[24]) = 0x600d; GvFLAGS(gv_list[24]) = 0xa; GvLINE(gv_list[24]) = 0; SvPVX(gv_list[24]) = emptystring; SvREFCNT(gv_list[24]) += 4; GvREFCNT(gv_list[24]) += 1; gv_list[25] = gv_fetchpv("main::_<perlmain.c", TRUE, SVt_PV); SvFLAGS(gv_list[25]) = 0x600d; GvFLAGS(gv_list[25]) = 0x2; GvLINE(gv_list[25]) = 0; SvPVX(gv_list[25]) = emptystring; SvREFCNT(gv_list[25]) += 2; GvREFCNT(gv_list[25]) += 1; xpv_list[1].xpv_pv = savepvn("perlmain.c", 10); GvSV(gv_list[25]) = &sv_list[14]; GvFILE(gv_list[25]) = "hello.p"; gv_list[26] = gv_fetchpv("main::_</usr/lib/perl5/5.8.5/File/Spec/Unix.pm", TRUE, SVt_PV); SvFLAGS(gv_list[26]) = 0x600d; GvFLAGS(gv_list[26]) = 0x2; GvLINE(gv_list[26]) = 98; SvPVX(gv_list[26]) = emptystring; SvREFCNT(gv_list[26]) += 2; GvREFCNT(gv_list[26]) += 1; xpv_list[2].xpv_pv = savepvn("/usr/lib/perl5/5.8.5/File/Spec/Unix.pm", 38); GvSV(gv_list[26]) = &sv_list[15]; GvFILE(gv_list[26]) = "x/\031\b q\024\b\332T\305"; gv_list[27] = gv_fetchpv("main::_</usr/lib/perl5/5.8.5/i386-linux-thread-multi/auto/B/C/C.so", TRUE, SVt_PV); SvFLAGS(gv_list[27]) = 0x600d; GvFLAGS(gv_list[27]) = 0x2; GvLINE(gv_list[27]) = 87; SvPVX(gv_list[27]) = emptystring; SvREFCNT(gv_list[27]) += 2; GvREFCNT(gv_list[27]) += 1; xpv_list[3].xpv_pv = savepvn("/usr/lib/perl5/5.8.5/i386-linux-thread-multi/auto/B/C/C.so", 58); GvSV(gv_list[27]) = &sv_list[16]; GvFILE(gv_list[27]) = "/usr/lib/perl5/5.8.5/i386-linux-thread-multi/XSLoader.pm"; gv_list[28] = gv_fetchpv("main::_<universal.c", TRUE, SVt_PV); SvFLAGS(gv_list[28]) = 0x600d; GvFLAGS(gv_list[28]) = 0x2; GvLINE(gv_list[28]) = 0; SvPVX(gv_list[28]) = emptystring; SvREFCNT(gv_list[28]) += 2; GvREFCNT(gv_list[28]) += 1; xpv_list[4].xpv_pv = savepvn("universal.c", 11); GvSV(gv_list[28]) = &sv_list[17]; GvFILE(gv_list[28]) = "hello.p"; gv_list[29] = gv_fetchpv("main::BEGIN", TRUE, SVt_PV); SvFLAGS(gv_list[29]) = 0x600d; GvFLAGS(gv_list[29]) = 0x2; GvLINE(gv_list[29]) = 0; SvPVX(gv_list[29]) = emptystring; SvREFCNT(gv_list[29]) += 2; GvREFCNT(gv_list[29]) += 1; GvSV(gv_list[29]) = &sv_list[18]; GvFILE(gv_list[29]) = "hello.p"; gv_list[30] = gv_fetchpv("main::_<xsutils.c", TRUE, SVt_PV); SvFLAGS(gv_list[30]) = 0x600d; GvFLAGS(gv_list[30]) = 0x2; GvLINE(gv_list[30]) = 0; SvPVX(gv_list[30]) = emptystring; SvREFCNT(gv_list[30]) += 2; GvREFCNT(gv_list[30]) += 1; xpv_list[5].xpv_pv = savepvn("xsutils.c", 9); GvSV(gv_list[30]) = &sv_list[19]; GvFILE(gv_list[30]) = "hello.p"; gv_list[31] = gv_fetchpv("main::!", TRUE, SVt_PV); SvFLAGS(gv_list[31]) = 0x600d; GvFLAGS(gv_list[31]) = 0xa; GvLINE(gv_list[31]) = 2054; SvPVX(gv_list[31]) = emptystring; SvREFCNT(gv_list[31]) += 3; GvREFCNT(gv_list[31]) += 1; GvFILE(gv_list[31]) = ""; gv_list[32] = gv_fetchpv("main::\024AINT", TRUE, SVt_PV); SvFLAGS(gv_list[32]) = 0x600d; GvFLAGS(gv_list[32]) = 0xa; GvLINE(gv_list[32]) = 1589; SvPVX(gv_list[32]) = emptystring; SvREFCNT(gv_list[32]) += 3; GvREFCNT(gv_list[32]) += 1; sv_magic((SV*)&sv_list[20], (SV*)gv_list[32], '\000', "\024AINT", 5); GvSV(gv_list[32]) = &sv_list[20]; GvFILE(gv_list[32]) = ""; gv_list[33] = gv_fetchpv("main::\017", TRUE, SVt_PV); SvFLAGS(gv_list[33]) = 0x600d; GvFLAGS(gv_list[33]) = 0xa; GvLINE(gv_list[33]) = 55; SvPVX(gv_list[33]) = emptystring; SvREFCNT(gv_list[33]) += 4; GvREFCNT(gv_list[33]) += 1; gv_list[34] = gv_fetchpv("main::%", TRUE, SVt_PV); SvFLAGS(gv_list[34]) = 0x600d; GvFLAGS(gv_list[34]) = 0xa; GvLINE(gv_list[34]) = 506; SvPVX(gv_list[34]) = emptystring; SvREFCNT(gv_list[34]) += 4; GvREFCNT(gv_list[34]) += 1; gv_list[35] = gv_fetchpv("main::\030", TRUE, SVt_PV); SvFLAGS(gv_list[35]) = 0x600d; GvFLAGS(gv_list[35]) = 0x2; GvLINE(gv_list[35]) = 0; SvPVX(gv_list[35]) = emptystring; SvREFCNT(gv_list[35]) += 2; GvREFCNT(gv_list[35]) += 1; gv_list[36] = gv_fetchpv("main::_", TRUE, SVt_PV); SvFLAGS(gv_list[36]) = 0x630d; GvFLAGS(gv_list[36]) = 0xa; GvLINE(gv_list[36]) = 0; SvPVX(gv_list[36]) = emptystring; SvREFCNT(gv_list[36]) += 470; GvREFCNT(gv_list[36]) += 1; gv_list[37] = gv_fetchpv("main::+", TRUE, SVt_PV); SvFLAGS(gv_list[37]) = 0x600d; GvFLAGS(gv_list[37]) = 0x2; GvLINE(gv_list[37]) = 0; SvPVX(gv_list[37]) = emptystring; SvREFCNT(gv_list[37]) += 2; GvREFCNT(gv_list[37]) += 1; gv_list[38] = gv_fetchpv("Internals::SvREFCNT", TRUE, SVt_PV); SvFLAGS(gv_list[38]) = 0x600d; GvFLAGS(gv_list[38]) = 0x2; GvLINE(gv_list[38]) = 0; SvPVX(gv_list[38]) = emptystring; SvREFCNT(gv_list[38]) += 2; GvREFCNT(gv_list[38]) += 1; GvSV(gv_list[38]) = &sv_list[21]; GvCV(gv_list[38]) = (CV*)((perl_get_cv("Internals::SvREFCNT",TRUE))); GvFILE(gv_list[38]) = "hello.p"; gv_list[39] = gv_fetchpv("Internals::hv_clear_placeholders", TRUE, SVt_PV); SvFLAGS(gv_list[39]) = 0x600d; GvFLAGS(gv_list[39]) = 0x2; GvLINE(gv_list[39]) = 0; SvPVX(gv_list[39]) = emptystring; SvREFCNT(gv_list[39]) += 2; GvREFCNT(gv_list[39]) += 1; GvSV(gv_list[39]) = &sv_list[22]; GvCV(gv_list[39]) = (CV*)((perl_get_cv("Internals::hv_clear_placeholders",TRUE))); GvFILE(gv_list[39]) = "hello.p"; gv_list[40] = gv_fetchpv("Internals::hash_seed", TRUE, SVt_PV); SvFLAGS(gv_list[40]) = 0x600d; GvFLAGS(gv_list[40]) = 0x2; GvLINE(gv_list[40]) = 0; SvPVX(gv_list[40]) = emptystring; SvREFCNT(gv_list[40]) += 2; GvREFCNT(gv_list[40]) += 1; GvSV(gv_list[40]) = &sv_list[23]; GvCV(gv_list[40]) = (CV*)((perl_get_cv("Internals::hash_seed",TRUE))); GvFILE(gv_list[40]) = "hello.p"; gv_list[41] = gv_fetchpv("Internals::SvREADONLY", TRUE, SVt_PV); SvFLAGS(gv_list[41]) = 0x600d; GvFLAGS(gv_list[41]) = 0x2; GvLINE(gv_list[41]) = 0; SvPVX(gv_list[41]) = emptystring; SvREFCNT(gv_list[41]) += 2; GvREFCNT(gv_list[41]) += 1; GvSV(gv_list[41]) = &sv_list[24]; GvCV(gv_list[41]) = (CV*)((perl_get_cv("Internals::SvREADONLY",TRUE))); GvFILE(gv_list[41]) = "hello.p"; gv_list[42] = gv_fetchpv("Internals::HvREHASH", TRUE, SVt_PV); SvFLAGS(gv_list[42]) = 0x600d; GvFLAGS(gv_list[42]) = 0x2; GvLINE(gv_list[42]) = 0; SvPVX(gv_list[42]) = emptystring; SvREFCNT(gv_list[42]) += 2; GvREFCNT(gv_list[42]) += 1; GvSV(gv_list[42]) = &sv_list[25]; GvCV(gv_list[42]) = (CV*)((perl_get_cv("Internals::HvREHASH",TRUE))); GvFILE(gv_list[42]) = "hello.p"; gv_list[43] = gv_fetchpv("Internals::rehash_seed", TRUE, SVt_PV); SvFLAGS(gv_list[43]) = 0x600d; GvFLAGS(gv_list[43]) = 0x2; GvLINE(gv_list[43]) = 0; SvPVX(gv_list[43]) = emptystring; SvREFCNT(gv_list[43]) += 2; GvREFCNT(gv_list[43]) += 1; GvSV(gv_list[43]) = &sv_list[26]; GvCV(gv_list[43]) = (CV*)((perl_get_cv("Internals::rehash_seed",TRUE))); GvFILE(gv_list[43]) = "hello.p"; gv_list[44] = gv_fetchpv("main::STDIN", TRUE, SVt_PV); SvFLAGS(gv_list[44]) = 0x600d; GvFLAGS(gv_list[44]) = 0xa; GvLINE(gv_list[44]) = 0; SvPVX(gv_list[44]) = emptystring; SvREFCNT(gv_list[44]) += 2; GvREFCNT(gv_list[44]) += 1; gv_list[45] = gv_fetchpv("DB::args", TRUE, SVt_PV); SvFLAGS(gv_list[45]) = 0x600d; GvFLAGS(gv_list[45]) = 0xa; GvLINE(gv_list[45]) = 431; SvPVX(gv_list[45]) = emptystring; SvREFCNT(gv_list[45]) += 4; GvREFCNT(gv_list[45]) += 1; GvSV(gv_list[45]) = &sv_list[27]; GvAV(gv_list[45]) = (AV*)&sv_list[28]; GvFILE(gv_list[45]) = "\260\r\016\b"; gv_list[46] = gv_fetchpv("main::\026", TRUE, SVt_PV); SvFLAGS(gv_list[46]) = 0x600d; GvFLAGS(gv_list[46]) = 0xa; GvLINE(gv_list[46]) = 30; SvPVX(gv_list[46]) = emptystring; SvREFCNT(gv_list[46]) += 2; GvREFCNT(gv_list[46]) += 1; gv_list[47] = gv_fetchpv("main::=", TRUE, SVt_PV); SvFLAGS(gv_list[47]) = 0x600d; GvFLAGS(gv_list[47]) = 0xa; GvLINE(gv_list[47]) = 514; SvPVX(gv_list[47]) = emptystring; SvREFCNT(gv_list[47]) += 4; GvREFCNT(gv_list[47]) += 1; gv_list[48] = gv_fetchpv("main::2", TRUE, SVt_PV); SvFLAGS(gv_list[48]) = 0x600d; GvFLAGS(gv_list[48]) = 0xa; GvLINE(gv_list[48]) = 257; SvPVX(gv_list[48]) = emptystring; SvREFCNT(gv_list[48]) += 6; GvREFCNT(gv_list[48]) += 1; gv_list[49] = gv_fetchpv("main::_<Fcntl.c", TRUE, SVt_PV); SvFLAGS(gv_list[49]) = 0x600d; GvFLAGS(gv_list[49]) = 0x2; GvLINE(gv_list[49]) = 92; SvPVX(gv_list[49]) = emptystring; SvREFCNT(gv_list[49]) += 2; GvREFCNT(gv_list[49]) += 1; xpv_list[6].xpv_pv = savepvn("Fcntl.c", 7); GvSV(gv_list[49]) = &sv_list[29]; GvFILE(gv_list[49]) = "/usr/lib/perl5/5.8.5/i386-linux-thread-multi/XSLoader.pm"; gv_list[50] = gv_fetchpv("main::1", TRUE, SVt_PV); SvFLAGS(gv_list[50]) = 0x600d; GvFLAGS(gv_list[50]) = 0xa; GvLINE(gv_list[50]) = 74; SvPVX(gv_list[50]) = emptystring; SvREFCNT(gv_list[50]) += 28; GvREFCNT(gv_list[50]) += 1; gv_list[51] = gv_fetchpv("main::_<IO.c", TRUE, SVt_PV); SvFLAGS(gv_list[51]) = 0x600d; GvFLAGS(gv_list[51]) = 0x2; GvLINE(gv_list[51]) = 92; SvPVX(gv_list[51]) = emptystring; SvREFCNT(gv_list[51]) += 2; GvREFCNT(gv_list[51]) += 1; xpv_list[7].xpv_pv = savepvn("IO.c", 4); GvSV(gv_list[51]) = &sv_list[30]; GvFILE(gv_list[51]) = "/usr/lib/perl5/5.8.5/i386-linux-thread-multi/XSLoader.pm"; gv_list[52] = gv_fetchpv("main::\027ARNING_BITS", TRUE, SVt_PV); SvFLAGS(gv_list[52]) = 0x600d; GvFLAGS(gv_list[52]) = 0xa; GvLINE(gv_list[52]) = 341; SvPVX(gv_list[52]) = emptystring; SvREFCNT(gv_list[52]) += 6; GvREFCNT(gv_list[52]) += 1; sv_magic((SV*)&sv_list[31], (SV*)gv_list[52], '\000', "\027ARNING_BITS", 12); GvSV(gv_list[52]) = &sv_list[31]; GvFILE(gv_list[52]) = "\260\r\016\b"; gv_list[53] = gv_fetchpv("main::_<B.c", TRUE, SVt_PV); SvFLAGS(gv_list[53]) = 0x600d; GvFLAGS(gv_list[53]) = 0x2; GvLINE(gv_list[53]) = 92; SvPVX(gv_list[53]) = emptystring; SvREFCNT(gv_list[53]) += 2; GvREFCNT(gv_list[53]) += 1; xpv_list[8].xpv_pv = savepvn("B.c", 3); GvSV(gv_list[53]) = &sv_list[32]; GvFILE(gv_list[53]) = "/usr/lib/perl5/5.8.5/i386-linux-thread-multi/XSLoader.pm"; gv_list[54] = gv_fetchpv("main::_<DynaLoader.c", TRUE, SVt_PV); SvFLAGS(gv_list[54]) = 0x600d; GvFLAGS(gv_list[54]) = 0x2; GvLINE(gv_list[54]) = 16; SvPVX(gv_list[54]) = emptystring; SvREFCNT(gv_list[54]) += 2; GvREFCNT(gv_list[54]) += 1; xpv_list[9].xpv_pv = savepvn("DynaLoader.c", 12); GvSV(gv_list[54]) = &sv_list[33]; GvFILE(gv_list[54]) = "\335\367\302"; gv_list[55] = gv_fetchpv("main::_</usr/lib/perl5/5.8.5/i386-linux-thread-multi/auto/IO/IO.so", TRUE, SVt_PV); SvFLAGS(gv_list[55]) = 0x600d; GvFLAGS(gv_list[55]) = 0x2; GvLINE(gv_list[55]) = 87; SvPVX(gv_list[55]) = emptystring; SvREFCNT(gv_list[55]) += 2; GvREFCNT(gv_list[55]) += 1; xpv_list[10].xpv_pv = savepvn("/usr/lib/perl5/5.8.5/i386-linux-thread-multi/auto/IO/IO.so", 58); GvSV(gv_list[55]) = &sv_list[34]; GvFILE(gv_list[55]) = "/usr/lib/perl5/5.8.5/i386-linux-thread-multi/XSLoader.pm"; gv_list[56] = gv_fetchpv("attributes::bootstrap", TRUE, SVt_PV); SvFLAGS(gv_list[56]) = 0x600d; GvFLAGS(gv_list[56]) = 0x2; GvLINE(gv_list[56]) = 0; SvPVX(gv_list[56]) = emptystring; SvREFCNT(gv_list[56]) += 2; GvREFCNT(gv_list[56]) += 1; GvSV(gv_list[56]) = &sv_list[35]; GvFILE(gv_list[56]) = "hello.p"; gv_list[57] = gv_fetchpv("main::stdin", TRUE, SVt_PV); SvFLAGS(gv_list[57]) = 0x600d; GvFLAGS(gv_list[57]) = 0x2; GvLINE(gv_list[57]) = 0; SvPVX(gv_list[57]) = emptystring; SvREFCNT(gv_list[57]) += 2; GvREFCNT(gv_list[57]) += 1; GvSV(gv_list[57]) = &sv_list[36]; GvFILE(gv_list[57]) = "hello.p"; IoIFP((IO*)&sv_list[37])=PerlIO_stdin(); IoOFP((IO*)&sv_list[37])=PerlIO_stdin(); SvSTASH((IO*)&sv_list[37]) = hv0; GvIOp(gv_list[57]) = (IO*)&sv_list[37]; gv_list[58] = gv_fetchpv("main::ARGV", TRUE, SVt_PV); SvFLAGS(gv_list[58]) = 0x600d; GvFLAGS(gv_list[58]) = 0x2; GvLINE(gv_list[58]) = 0; SvPVX(gv_list[58]) = emptystring; SvREFCNT(gv_list[58]) += 2; GvREFCNT(gv_list[58]) += 1; gv_list[59] = gv_fetchpv("main::INC", TRUE, SVt_PV); SvFLAGS(gv_list[59]) = 0x600d; GvFLAGS(gv_list[59]) = 0xa; GvLINE(gv_list[59]) = 0; SvPVX(gv_list[59]) = emptystring; SvREFCNT(gv_list[59]) += 7; GvREFCNT(gv_list[59]) += 1; GvSV(gv_list[59]) = &sv_list[38]; xpv_list[11].xpv_pv = savepvn("/usr/lib/perl5/5.8.5/i386-linux-thread-multi", 44); xpv_list[12].xpv_pv = savepvn("/usr/lib/perl5/5.8.5", 20); xpv_list[13].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi", 54); xpv_list[14].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi", 54); xpv_list[15].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi", 54); xpv_list[16].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi", 54); xpv_list[17].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi", 54); xpv_list[18].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi", 54); xpv_list[19].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.5", 30); xpv_list[20].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.4", 30); xpv_list[21].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.3", 30); xpv_list[22].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.2", 30); xpv_list[23].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.1", 30); xpv_list[24].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.0", 30); xpv_list[25].xpv_pv = savepvn("/usr/lib/perl5/site_perl", 24); xpv_list[26].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi", 56); xpv_list[27].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi", 56); xpv_list[28].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi", 56); xpv_list[29].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi", 56); xpv_list[30].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi", 56); xpv_list[31].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi", 56); xpv_list[32].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.5", 32); xpv_list[33].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.4", 32); xpv_list[34].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.3", 32); xpv_list[35].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.2", 32); xpv_list[36].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.1", 32); xpv_list[37].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.0", 32); xpv_list[38].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl", 26); xpv_list[39].xpv_pv = savepvn(".", 1); xpv_list[40].xpv_pv = savepvn("/usr/lib/perl5/5.8.5/i386-linux-thread-multi", 44); xpv_list[41].xpv_pv = savepvn("/usr/lib/perl5/5.8.5", 20); xpv_list[42].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi", 54); xpv_list[43].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi", 54); xpv_list[44].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi", 54); xpv_list[45].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi", 54); xpv_list[46].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi", 54); xpv_list[47].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi", 54); xpv_list[48].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.5", 30); xpv_list[49].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.4", 30); xpv_list[50].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.3", 30); xpv_list[51].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.2", 30); xpv_list[52].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.1", 30); xpv_list[53].xpv_pv = savepvn("/usr/lib/perl5/site_perl/5.8.0", 30); xpv_list[54].xpv_pv = savepvn("/usr/lib/perl5/site_perl", 24); xpv_list[55].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi", 56); xpv_list[56].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi", 56); xpv_list[57].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi", 56); xpv_list[58].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi", 56); xpv_list[59].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi", 56); xpv_list[60].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi", 56); xpv_list[61].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.5", 32); xpv_list[62].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.4", 32); xpv_list[63].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.3", 32); xpv_list[64].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.2", 32); xpv_list[65].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.1", 32); xpv_list[66].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl/5.8.0", 32); xpv_list[67].xpv_pv = savepvn("/usr/lib/perl5/vendor_perl", 26); xpv_list[68].xpv_pv = savepvn(".", 1); { SV **svp; AV *av = (AV*)&sv_list[39]; av_extend(av, 57); svp = AvARRAY(av); *svp++ = (SV*)&sv_list[40]; *svp++ = (SV*)&sv_list[41]; *svp++ = (SV*)&sv_list[42]; *svp++ = (SV*)&sv_list[43]; *svp++ = (SV*)&sv_list[44]; *svp++ = (SV*)&sv_list[45]; *svp++ = (SV*)&sv_list[46]; *svp++ = (SV*)&sv_list[47]; *svp++ = (SV*)&sv_list[48]; *svp++ = (SV*)&sv_list[49]; *svp++ = (SV*)&sv_list[50]; *svp++ = (SV*)&sv_list[51]; *svp++ = (SV*)&sv_list[52]; *svp++ = (SV*)&sv_list[53]; *svp++ = (SV*)&sv_list[54]; *svp++ = (SV*)&sv_list[55]; *svp++ = (SV*)&sv_list[56]; *svp++ = (SV*)&sv_list[57]; *svp++ = (SV*)&sv_list[58]; *svp++ = (SV*)&sv_list[59]; *svp++ = (SV*)&sv_list[60]; *svp++ = (SV*)&sv_list[61]; *svp++ = (SV*)&sv_list[62]; *svp++ = (SV*)&sv_list[63]; *svp++ = (SV*)&sv_list[64]; *svp++ = (SV*)&sv_list[65]; *svp++ = (SV*)&sv_list[66]; *svp++ = (SV*)&sv_list[67]; *svp++ = (SV*)&sv_list[68]; *svp++ = (SV*)&sv_list[69]; *svp++ = (SV*)&sv_list[70]; *svp++ = (SV*)&sv_list[71]; *svp++ = (SV*)&sv_list[72]; *svp++ = (SV*)&sv_list[73]; *svp++ = (SV*)&sv_list[74]; *svp++ = (SV*)&sv_list[75]; *svp++ = (SV*)&sv_list[76]; *svp++ = (SV*)&sv_list[77]; *svp++ = (SV*)&sv_list[78]; *svp++ = (SV*)&sv_list[79]; *svp++ = (SV*)&sv_list[80]; *svp++ = (SV*)&sv_list[81]; *svp++ = (SV*)&sv_list[82]; *svp++ = (SV*)&sv_list[83]; *svp++ = (SV*)&sv_list[84]; *svp++ = (SV*)&sv_list[85]; *svp++ = (SV*)&sv_list[86]; *svp++ = (SV*)&sv_list[87]; *svp++ = (SV*)&sv_list[88]; *svp++ = (SV*)&sv_list[89]; *svp++ = (SV*)&sv_list[90]; *svp++ = (SV*)&sv_list[91]; *svp++ = (SV*)&sv_list[92]; *svp++ = (SV*)&sv_list[93]; *svp++ = (SV*)&sv_list[94]; *svp++ = (SV*)&sv_list[95]; *svp++ = (SV*)&sv_list[96]; *svp++ = (SV*)&sv_list[97]; AvFILLp(av) = 57; } GvAV(gv_list[59]) = (AV*)&sv_list[39]; GvHV(gv_list[59]) = (HV*)&sv_list[98]; GvFILE(gv_list[59]) = ""; gv_list[60] = gv_fetchpv("main::ENV", TRUE, SVt_PV); SvFLAGS(gv_list[60]) = 0x600d; GvFLAGS(gv_list[60]) = 0xa; GvLINE(gv_list[60]) = 0; SvPVX(gv_list[60]) = emptystring; SvREFCNT(gv_list[60]) += 5; GvREFCNT(gv_list[60]) += 1; gv_list[61] = gv_fetchpv("main::_<perlio.c", TRUE, SVt_PV); SvFLAGS(gv_list[61]) = 0x600d; GvFLAGS(gv_list[61]) = 0x2; GvLINE(gv_list[61]) = 0; SvPVX(gv_list[61]) = emptystring; SvREFCNT(gv_list[61]) += 2; GvREFCNT(gv_list[61]) += 1; xpv_list[69].xpv_pv = savepvn("perlio.c", 8); GvSV(gv_list[61]) = &sv_list[99]; GvFILE(gv_list[61]) = "hello.p"; gv_list[62] = gv_fetchpv("main:::", TRUE, SVt_PV); SvFLAGS(gv_list[62]) = 0x600d; GvFLAGS(gv_list[62]) = 0xa; GvLINE(gv_list[62]) = 546; SvPVX(gv_list[62]) = emptystring; SvREFCNT(gv_list[62]) += 4; GvREFCNT(gv_list[62]) += 1; gv_list[63] = gv_fetchpv("PerlIO::get_layers", TRUE, SVt_PV); SvFLAGS(gv_list[63]) = 0x600d; GvFLAGS(gv_list[63]) = 0x2; GvLINE(gv_list[63]) = 0; SvPVX(gv_list[63]) = emptystring; SvREFCNT(gv_list[63]) += 2; GvREFCNT(gv_list[63]) += 1; GvSV(gv_list[63]) = &sv_list[100]; GvCV(gv_list[63]) = (CV*)((perl_get_cv("PerlIO::get_layers",TRUE))); GvFILE(gv_list[63]) = "hello.p"; gv_list[64] = gv_fetchpv("PerlIO::Layer::NoWarnings", TRUE, SVt_PV); SvFLAGS(gv_list[64]) = 0x600d; GvFLAGS(gv_list[64]) = 0x2; GvLINE(gv_list[64]) = 0; SvPVX(gv_list[64]) = emptystring; SvREFCNT(gv_list[64]) += 2; GvREFCNT(gv_list[64]) += 1; GvSV(gv_list[64]) = &sv_list[101]; GvCV(gv_list[64]) = (CV*)((perl_get_cv("PerlIO::Layer::NoWarnings",TRUE))); GvFILE(gv_list[64]) = "hello.p"; gv_list[65] = gv_fetchpv("PerlIO::Layer::find", TRUE, SVt_PV); SvFLAGS(gv_list[65]) = 0x600d; GvFLAGS(gv_list[65]) = 0x2; GvLINE(gv_list[65]) = 0; SvPVX(gv_list[65]) = emptystring; SvREFCNT(gv_list[65]) += 2; GvREFCNT(gv_list[65]) += 1; GvSV(gv_list[65]) = &sv_list[102]; GvCV(gv_list[65]) = (CV*)((perl_get_cv("PerlIO::Layer::find",TRUE))); GvFILE(gv_list[65]) = "hello.p"; gv_list[66] = gv_fetchpv("main::0", TRUE, SVt_PV); SvFLAGS(gv_list[66]) = 0x600d; GvFLAGS(gv_list[66]) = 0xa; GvLINE(gv_list[66]) = 0; SvPVX(gv_list[66]) = emptystring; SvREFCNT(gv_list[66]) += 5; GvREFCNT(gv_list[66]) += 1; gv_list[67] = gv_fetchpv("main::.", TRUE, SVt_PV); SvFLAGS(gv_list[67]) = 0x600d; GvFLAGS(gv_list[67]) = 0xa; GvLINE(gv_list[67]) = 496; SvPVX(gv_list[67]) = emptystring; SvREFCNT(gv_list[67]) += 5; GvREFCNT(gv_list[67]) += 1; gv_list[68] = gv_fetchpv("main::\b", TRUE, SVt_PV); SvFLAGS(gv_list[68]) = 0x600d; GvFLAGS(gv_list[68]) = 0xa; GvLINE(gv_list[68]) = 0; SvPVX(gv_list[68]) = emptystring; SvREFCNT(gv_list[68]) += 5; GvREFCNT(gv_list[68]) += 1; gv_list[69] = gv_fetchpv("main::@", TRUE, SVt_PV); SvFLAGS(gv_list[69]) = 0x600d; GvFLAGS(gv_list[69]) = 0xa; GvLINE(gv_list[69]) = 0; SvPVX(gv_list[69]) = emptystring; SvREFCNT(gv_list[69]) += 13; GvREFCNT(gv_list[69]) += 1; gv_list[70] = gv_fetchpv("main::_</usr/lib/perl5/5.8.5/base.pm", TRUE, SVt_PV); SvFLAGS(gv_list[70]) = 0x600d; GvFLAGS(gv_list[70]) = 0x2; GvLINE(gv_list[70]) = 8; SvPVX(gv_list[70]) = emptystring; SvREFCNT(gv_list[70]) += 2; GvREFCNT(gv_list[70]) += 1; xpv_list[70].xpv_pv = savepvn("/usr/lib/perl5/5.8.5/base.pm", 28); GvSV(gv_list[70]) = &sv_list[103]; GvFILE(gv_list[70]) = "\270/\r\b"; gv_list[71] = gv_fetchpv("main::STDOUT", TRUE, SVt_PV); SvFLAGS(gv_list[71]) = 0x630d; GvFLAGS(gv_list[71]) = 0xa; GvLINE(gv_list[71]) = 0; SvPVX(gv_list[71]) = emptystring; SvREFCNT(gv_list[71]) += 13; GvREFCNT(gv_list[71]) += 1; gv_list[72] = gv_fetchpv("main::_</usr/lib/perl5/5.8.5/i386-linux-thread-multi/B/C.pm", TRUE, SVt_PV); SvFLAGS(gv_list[72]) = 0x600d; GvFLAGS(gv_list[72]) = 0x2; GvLINE(gv_list[72]) = 1096; SvPVX(gv_list[72]) = emptystring; SvREFCNT(gv_list[72]) += 2; GvREFCNT(gv_list[72]) += 1; xpv_list[71].xpv_pv = savepvn("/usr/lib/perl5/5.8.5/i386-linux-thread-multi/B/C.pm", 51); GvSV(gv_list[72]) = &sv_list[104]; GvFILE(gv_list[72]) = ""; gv_list[73] = gv_fetchpv("main::_</usr/lib/perl5/5.8.5/i386-linux-thread-multi/B.pm", TRUE, SVt_PV); SvFLAGS(gv_list[73]) = 0x600d; GvFLAGS(gv_list[73]) = 0x2; GvLINE(gv_list[73]) = 87; SvPVX(gv_list[73]) = emptystring; SvREFCNT(gv_list[73]) += 2; GvREFCNT(gv_list[73]) += 1; xpv_list[72].xpv_pv = savepvn("/usr/lib/perl5/5.8.5/i386-linux-thread-multi/B.pm", 49); GvSV(gv_list[73]) = &sv_list[105]; GvFILE(gv_list[73]) = "\210\327\a\b\b"; gv_list[74] = gv_fetchpv("main::]", TRUE, SVt_PV); SvFLAGS(gv_list[74]) = 0x600d; GvFLAGS(gv_list[74]) = 0xa; GvLINE(gv_list[74]) = 41; SvPVX(gv_list[74]) = emptystring; SvREFCNT(gv_list[74]) += 2; GvREFCNT(gv_list[74]) += 1; gv_list[75] = gv_fetchpv("main::\027", TRUE, SVt_PV); SvFLAGS(gv_list[75]) = 0x600d; GvFLAGS(gv_list[75]) = 0xa; GvLINE(gv_list[75]) = 227; SvPVX(gv_list[75]) = emptystring; SvREFCNT(gv_list[75]) += 4; GvREFCNT(gv_list[75]) += 1; gv_list[76] = gv_fetchpv("main::STDERR", TRUE, SVt_PV); SvFLAGS(gv_list[76]) = 0x630d; GvFLAGS(gv_list[76]) = 0xa; GvLINE(gv_list[76]) = 0; SvPVX(gv_list[76]) = emptystring; SvREFCNT(gv_list[76]) += 4; GvREFCNT(gv_list[76]) += 1; gv_list[77] = gv_fetchpv("main::_</usr/lib/perl5/5.8.5/i386-linux-thread-multi/auto/B/B.so", TRUE, SVt_PV); SvFLAGS(gv_list[77]) = 0x600d; GvFLAGS(gv_list[77]) = 0x2; GvLINE(gv_list[77]) = 87; SvPVX(gv_list[77]) = emptystring; SvREFCNT(gv_list[77]) += 2; GvREFCNT(gv_list[77]) += 1; xpv_list[73].xpv_pv = savepvn("/usr/lib/perl5/5.8.5/i386-linux-thread-multi/auto/B/B.so", 56); GvSV(gv_list[77]) = &sv_list[106]; GvFILE(gv_list[77]) = "/usr/lib/perl5/5.8.5/i386-linux-thread-multi/XSLoader.pm"; gv_list[78] = gv_fetchpv("main::_</usr/lib/perl5/5.8.5/i386-linux-thread-multi/auto/Fcntl/Fcntl.so", TRUE, SVt_PV); SvFLAGS(gv_list[78]) = 0x600d; GvFLAGS(gv_list[78]) = 0x2; GvLINE(gv_list[78]) = 87; SvPVX(gv_list[78]) = emptystring; SvREFCNT(gv_list[78]) += 2; GvREFCNT(gv_list[78]) += 1; xpv_list[74].xpv_pv = savepvn("/usr/lib/perl5/5.8.5/i386-linux-thread-multi/auto/Fcntl/Fcntl.so", 64); GvSV(gv_list[78]) = &sv_list[107]; GvFILE(gv_list[78]) = "/usr/lib/perl5/5.8.5/i386-linux-thread-multi/XSLoader.pm"; PL_dowarn = ( 0 ) ? G_WARN_ON : G_WARN_OFF; PL_main_root = (OP*)&listop_list[0]; PL_main_start = &op_list[0]; PL_initav = (AV *) Nullsv; PL_endav = (AV*) Nullsv; xpv_list[75].xpv_pv = savepvn("Hello World\n", 12); { SV **svp; AV *av = (AV*)&sv_list[109]; av_extend(av, 2); svp = AvARRAY(av); *svp++ = (SV*)&PL_sv_undef; *svp++ = (SV*)&sv_list[110]; *svp++ = (SV*)&sv_list[111]; AvFILLp(av) = 2; } PL_curpad = AvARRAY((AV*)&sv_list[109]); GvHV(PL_incgv) = (HV*)&sv_list[98]; GvAV(PL_incgv) = (AV*)&sv_list[39]; av_store(CvPADLIST(PL_main_cv),0,SvREFCNT_inc((AV*)&sv_list[108])); av_store(CvPADLIST(PL_main_cv),1,SvREFCNT_inc((AV*)&sv_list[109])); PL_amagic_generation= 0; return 0; }
Perl_yyparse (pTHX_ int gramtype) #endif { dVAR; int yystate; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; yy_parser *parser; /* the parser object */ yy_stack_frame *ps; /* current parser stack frame */ #define YYPOPSTACK parser->ps = --ps #define YYPUSHSTACK parser->ps = ++ps /* The variable used to return semantic value and location from the action routines: ie $$. */ YYSTYPE yyval; #ifndef PERL_IN_MADLY_C # ifdef PERL_MAD if (PL_madskills) return madparse(gramtype); # endif #endif YYDPRINTF ((Perl_debug_log, "Starting parse\n")); parser = PL_parser; ENTER; /* force parser state cleanup/restoration before we return */ SAVEPPTR(parser->yylval.pval); SAVEINT(parser->yychar); SAVEINT(parser->yyerrstatus); SAVEINT(parser->stack_size); SAVEINT(parser->yylen); SAVEVPTR(parser->stack); SAVEVPTR(parser->ps); /* initialise state for this parse */ parser->yychar = gramtype; parser->yyerrstatus = 0; parser->stack_size = YYINITDEPTH; parser->yylen = 0; Newx(parser->stack, YYINITDEPTH, yy_stack_frame); ps = parser->ps = parser->stack; ps->state = 0; SAVEDESTRUCTOR_X(S_clear_yystack, parser); /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: yystate = ps->state; YYDPRINTF ((Perl_debug_log, "Entering state %d\n", yystate)); parser->yylen = 0; { size_t size = ps - parser->stack + 1; /* grow the stack? We always leave 1 spare slot, * in case of a '' -> 'foo' reduction */ if (size >= (size_t)parser->stack_size - 1) { /* this will croak on insufficient memory */ parser->stack_size *= 2; Renew(parser->stack, parser->stack_size, yy_stack_frame); ps = parser->ps = parser->stack + size -1; YYDPRINTF((Perl_debug_log, "parser stack size increased to %lu frames\n", (unsigned long int)parser->stack_size)); } } /* Do appropriate processing given the current state. */ /* Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (parser->yychar == YYEMPTY) { YYDPRINTF ((Perl_debug_log, "Reading a token: ")); #ifdef PERL_IN_MADLY_C parser->yychar = PL_madskills ? madlex() : yylex(); #else parser->yychar = yylex(); #endif # ifdef EBCDIC if (parser->yychar >= 0 && parser->yychar < 255) { parser->yychar = NATIVE_TO_ASCII(parser->yychar); } # endif } if (parser->yychar <= YYEOF) { parser->yychar = yytoken = YYEOF; YYDPRINTF ((Perl_debug_log, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (parser->yychar); YYDSYMPRINTF ("Next token is", yytoken, &parser->yylval); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ YYDPRINTF ((Perl_debug_log, "Shifting token %s, ", yytname[yytoken])); /* Discard the token being shifted unless it is eof. */ if (parser->yychar != YYEOF) parser->yychar = YYEMPTY; YYPUSHSTACK; ps->state = yyn; ps->val = parser->yylval; ps->compcv = (CV*)SvREFCNT_inc(PL_compcv); ps->savestack_ix = PL_savestack_ix; #ifdef DEBUGGING ps->name = (const char *)(yytname[yytoken]); #endif /* Count tokens shifted since error; after three, turn off error status. */ if (parser->yyerrstatus) parser->yyerrstatus--; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ parser->yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: "$$ = $1". Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = ps[1-parser->yylen].val; YY_STACK_PRINT(parser); YY_REDUCE_PRINT (yyn); switch (yyn) { #define dep() deprecate("\"do\" to call subroutines") #ifdef PERL_IN_MADLY_C # define IVAL(i) (i)->tk_lval.ival # define PVAL(p) (p)->tk_lval.pval # define TOKEN_GETMAD(a,b,c) token_getmad((a),(b),(c)) # define TOKEN_FREE(a) token_free(a) # define OP_GETMAD(a,b,c) op_getmad((a),(b),(c)) # define IF_MAD(a,b) (a) # define DO_MAD(a) a # define MAD #else # define IVAL(i) (i) # define PVAL(p) (p) # define TOKEN_GETMAD(a,b,c) # define TOKEN_FREE(a) # define OP_GETMAD(a,b,c) # define IF_MAD(a,b) (b) # define DO_MAD(a) # undef MAD #endif /* contains all the rule actions; auto-generated from perly.y */ #include "perly.act" } { int i; for (i=0; i< parser->yylen; i++) { SvREFCNT_dec(ps[-i].compcv); } } parser->ps = ps -= (parser->yylen-1); /* Now shift the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ ps->val = yyval; ps->compcv = (CV*)SvREFCNT_inc(PL_compcv); ps->savestack_ix = PL_savestack_ix; #ifdef DEBUGGING ps->name = (const char *)(yytname [yyr1[yyn]]); #endif yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + ps[-1].state; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == ps[-1].state) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; ps->state = yystate; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!parser->yyerrstatus) { yyerror ("syntax error"); } if (parser->yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ /* Return failure if at end of input. */ if (parser->yychar == YYEOF) { /* Pop the error token. */ SvREFCNT_dec(ps->compcv); YYPOPSTACK; /* Pop the rest of the stack. */ while (ps > parser->stack) { YYDSYMPRINTF ("Error: popping", yystos[ps->state], &ps->val); LEAVE_SCOPE(ps->savestack_ix); if (yy_type_tab[yystos[ps->state]] == toketype_opval && ps->val.opval) { YYDPRINTF ((Perl_debug_log, "(freeing op)\n")); if (ps->compcv != PL_compcv) { PL_compcv = ps->compcv; PAD_SET_CUR_NOSAVE(CvPADLIST(PL_compcv), 1); } op_free(ps->val.opval); } SvREFCNT_dec(ps->compcv); YYPOPSTACK; } YYABORT; } YYDSYMPRINTF ("Error: discarding", yytoken, &parser->yylval); parser->yychar = YYEMPTY; } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*----------------------------------------------------. | yyerrlab1 -- error raised explicitly by an action. | `----------------------------------------------------*/ yyerrlab1: parser->yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (ps == parser->stack) YYABORT; YYDSYMPRINTF ("Error: popping", yystos[ps->state], &ps->val); LEAVE_SCOPE(ps->savestack_ix); if (yy_type_tab[yystos[ps->state]] == toketype_opval && ps->val.opval) { YYDPRINTF ((Perl_debug_log, "(freeing op)\n")); if (ps->compcv != PL_compcv) { PL_compcv = ps->compcv; PAD_SET_CUR_NOSAVE(CvPADLIST(PL_compcv), 1); } op_free(ps->val.opval); } SvREFCNT_dec(ps->compcv); YYPOPSTACK; yystate = ps->state; YY_STACK_PRINT(parser); } if (yyn == YYFINAL) YYACCEPT; YYDPRINTF ((Perl_debug_log, "Shifting error token, ")); YYPUSHSTACK; ps->state = yyn; ps->val = parser->yylval; ps->compcv = (CV*)SvREFCNT_inc(PL_compcv); ps->savestack_ix = PL_savestack_ix; #ifdef DEBUGGING ps->name ="<err>"; #endif goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; for (ps=parser->ps; ps > parser->stack; ps--) { SvREFCNT_dec(ps->compcv); } parser->ps = parser->stack; /* disable cleanup */ goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; yyreturn: LEAVE; /* force parser stack cleanup before we return */ return yyresult; }