… | |
… | |
608 | PL_runops = RUNOPS_DEFAULT; |
608 | PL_runops = RUNOPS_DEFAULT; |
609 | PL_curcop = &PL_compiling; |
609 | PL_curcop = &PL_compiling; |
610 | PL_in_eval = EVAL_NULL; |
610 | PL_in_eval = EVAL_NULL; |
611 | PL_comppad = 0; |
611 | PL_comppad = 0; |
612 | PL_curpm = 0; |
612 | PL_curpm = 0; |
|
|
613 | PL_curpad = 1; |
613 | PL_localizing = 0; |
614 | PL_localizing = 0; |
614 | PL_dirty = 0; |
615 | PL_dirty = 0; |
615 | PL_restartop = 0; |
616 | PL_restartop = 0; |
616 | |
617 | |
617 | GvSV (PL_defgv) = newSV (0); |
618 | GvSV (PL_defgv) = newSV (0); |
… | |
… | |
619 | GvSV (PL_errgv) = newSV (0); |
620 | GvSV (PL_errgv) = newSV (0); |
620 | GvSV (irsgv) = newSVpvn ("\n", 1); sv_magic (GvSV (irsgv), (SV *)irsgv, PERL_MAGIC_sv, "/", 0); |
621 | GvSV (irsgv) = newSVpvn ("\n", 1); sv_magic (GvSV (irsgv), (SV *)irsgv, PERL_MAGIC_sv, "/", 0); |
621 | PL_rs = newSVsv (GvSV (irsgv)); |
622 | PL_rs = newSVsv (GvSV (irsgv)); |
622 | PL_defoutgv = SvREFCNT_inc (stdoutgv); |
623 | PL_defoutgv = SvREFCNT_inc (stdoutgv); |
623 | |
624 | |
624 | ENTER; /* necessary e.g. for dounwind */ |
|
|
625 | |
|
|
626 | { |
625 | { |
627 | dSP; |
626 | dSP; |
628 | LOGOP myop; |
627 | LOGOP myop; |
629 | |
628 | |
630 | Zero (&myop, 1, LOGOP); |
629 | Zero (&myop, 1, LOGOP); |
… | |
… | |
636 | PUTBACK; |
635 | PUTBACK; |
637 | PL_op = (OP *)&myop; |
636 | PL_op = (OP *)&myop; |
638 | PL_op = PL_ppaddr[OP_ENTERSUB](aTHX); |
637 | PL_op = PL_ppaddr[OP_ENTERSUB](aTHX); |
639 | SPAGAIN; |
638 | SPAGAIN; |
640 | } |
639 | } |
|
|
640 | |
|
|
641 | ENTER; /* necessary e.g. for dounwind and to balance the xsub-entersub */ |
641 | } |
642 | } |
642 | |
643 | |
643 | static void |
644 | static void |
644 | coro_destroy (pTHX_ struct coro *coro) |
645 | coro_destroy (pTHX_ struct coro *coro) |
645 | { |
646 | { |