#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
int runops_switch(pTHX)
{
while (PL_op) {
switch (PL_op->op_type) {
case OP_NULL:
case OP_SCALAR:
case OP_SCOPE:
case OP_LINESEQ:
case OP_REGCMAYBE:
PL_op = NORMAL; break;
case OP_STUB:
{
dSP;
if (GIMME_V == G_SCALAR)
XPUSHs(&PL_sv_undef);
PUTBACK;
PL_op = NORMAL;
}
break;
case OP_PUSHMARK:
PUSHMARK(PL_stack_sp);
PL_op = NORMAL;
break;
case OP_WANTARRAY:
PL_op = Perl_pp_wantarray(aTHX); break;
case OP_CONST:
{ dSP; XPUSHs(cSVOP_sv); PUTBACK; PL_op = NORMAL; }
break;
case OP_GVSV:
PL_op = Perl_pp_gvsv(aTHX); break;
case OP_GV:
{
dSP;
XPUSHs((SV*)cGVOP_gv);
PUTBACK;
PL_op = NORMAL;
}
break;
case OP_GELEM:
PL_op = Perl_pp_gelem(aTHX); break;
case OP_PADSV:
PL_op = Perl_pp_padsv(aTHX); break;
case OP_PADAV:
PL_op = Perl_pp_padav(aTHX); break;
case OP_PADHV:
PL_op = Perl_pp_padhv(aTHX); break;
case OP_PADANY:
PL_op = Perl_pp_padany(aTHX); break;
case OP_PUSHRE:
PL_op = Perl_pp_pushre(aTHX); break;
case OP_RV2GV:
PL_op = Perl_pp_rv2gv(aTHX); break;
case OP_RV2SV:
PL_op = Perl_pp_rv2sv(aTHX); break;
case OP_AV2ARYLEN:
PL_op = Perl_pp_av2arylen(aTHX); break;
case OP_RV2CV:
PL_op = Perl_pp_rv2cv(aTHX); break;
case OP_ANONCODE:
PL_op = Perl_pp_anoncode(aTHX); break;
case OP_PROTOTYPE:
PL_op = Perl_pp_prototype(aTHX); break;
case OP_REFGEN:
PL_op = Perl_pp_refgen(aTHX); break;
case OP_SREFGEN:
PL_op = Perl_pp_srefgen(aTHX); break;
case OP_REF:
PL_op = Perl_pp_ref(aTHX); break;
case OP_BLESS:
PL_op = Perl_pp_bless(aTHX); break;
case OP_BACKTICK:
PL_op = Perl_pp_backtick(aTHX); break;
case OP_GLOB:
PL_op = Perl_pp_glob(aTHX); break;
case OP_READLINE:
PL_op = Perl_pp_readline(aTHX); break;
case OP_RCATLINE:
PL_op = Perl_pp_rcatline(aTHX); break;
case OP_REGCRESET:
PL_op = Perl_pp_regcreset(aTHX); break;
case OP_REGCOMP:
PL_op = Perl_pp_regcomp(aTHX); break;
case OP_MATCH:
PL_op = Perl_pp_match(aTHX); break;
case OP_QR:
PL_op = Perl_pp_qr(aTHX); break;
case OP_SUBST:
PL_op = Perl_pp_subst(aTHX); break;
case OP_SUBSTCONT:
PL_op = Perl_pp_substcont(aTHX); break;
case OP_TRANS:
PL_op = Perl_pp_trans(aTHX); break;
case OP_SASSIGN:
PL_op = Perl_pp_sassign(aTHX); break;
case OP_AASSIGN:
PL_op = Perl_pp_aassign(aTHX); break;
case OP_CHOP:
PL_op = Perl_pp_chop(aTHX); break;
case OP_SCHOP:
PL_op = Perl_pp_schop(aTHX); break;
case OP_CHOMP:
PL_op = Perl_pp_chomp(aTHX); break;
case OP_SCHOMP:
PL_op = Perl_pp_schomp(aTHX); break;
case OP_DEFINED:
PL_op = Perl_pp_defined(aTHX); break;
case OP_UNDEF:
PL_op = Perl_pp_undef(aTHX); break;
case OP_STUDY:
PL_op = Perl_pp_study(aTHX); break;
case OP_POS:
PL_op = Perl_pp_pos(aTHX); break;
case OP_PREINC:
PL_op = Perl_pp_preinc(aTHX); break;
case OP_I_PREINC:
PL_op = Perl_pp_i_preinc(aTHX); break;
case OP_PREDEC:
PL_op = Perl_pp_predec(aTHX); break;
case OP_I_PREDEC:
PL_op = Perl_pp_i_predec(aTHX); break;
case OP_POSTINC:
PL_op = Perl_pp_postinc(aTHX); break;
case OP_I_POSTINC:
PL_op = Perl_pp_i_postinc(aTHX); break;
case OP_POSTDEC:
PL_op = Perl_pp_postdec(aTHX); break;
case OP_I_POSTDEC:
PL_op = Perl_pp_i_postdec(aTHX); break;
case OP_POW:
PL_op = Perl_pp_pow(aTHX); break;
case OP_MULTIPLY:
PL_op = Perl_pp_multiply(aTHX); break;
case OP_I_MULTIPLY:
PL_op = Perl_pp_i_multiply(aTHX); break;
case OP_DIVIDE:
PL_op = Perl_pp_divide(aTHX); break;
case OP_I_DIVIDE:
PL_op = Perl_pp_i_divide(aTHX); break;
case OP_MODULO:
PL_op = Perl_pp_modulo(aTHX); break;
case OP_I_MODULO:
PL_op = Perl_pp_i_modulo(aTHX); break;
case OP_REPEAT:
PL_op = Perl_pp_repeat(aTHX); break;
case OP_ADD:
PL_op = Perl_pp_add(aTHX); break;
case OP_I_ADD:
PL_op = Perl_pp_i_add(aTHX); break;
case OP_SUBTRACT:
PL_op = Perl_pp_subtract(aTHX); break;
case OP_I_SUBTRACT:
PL_op = Perl_pp_i_subtract(aTHX); break;
case OP_CONCAT:
PL_op = Perl_pp_concat(aTHX); break;
case OP_STRINGIFY:
{
dSP; dTARGET;
sv_copypv(TARG,TOPs);
SETTARG;
PUTBACK;
PL_op = NORMAL;
}
break;
case OP_LEFT_SHIFT:
PL_op = Perl_pp_left_shift(aTHX); break;
case OP_RIGHT_SHIFT:
PL_op = Perl_pp_right_shift(aTHX); break;
case OP_LT:
PL_op = Perl_pp_lt(aTHX); break;
case OP_I_LT:
PL_op = Perl_pp_i_lt(aTHX); break;
case OP_GT:
PL_op = Perl_pp_gt(aTHX); break;
case OP_I_GT:
PL_op = Perl_pp_i_gt(aTHX); break;
case OP_LE:
PL_op = Perl_pp_le(aTHX); break;
case OP_I_LE:
PL_op = Perl_pp_i_le(aTHX); break;
case OP_GE:
PL_op = Perl_pp_ge(aTHX); break;
case OP_I_GE:
PL_op = Perl_pp_i_ge(aTHX); break;
case OP_EQ:
PL_op = Perl_pp_eq(aTHX); break;
case OP_I_EQ:
PL_op = Perl_pp_i_eq(aTHX); break;
case OP_NE:
PL_op = Perl_pp_ne(aTHX); break;
case OP_I_NE:
PL_op = Perl_pp_i_ne(aTHX); break;
case OP_NCMP:
PL_op = Perl_pp_ncmp(aTHX); break;
case OP_I_NCMP:
PL_op = Perl_pp_i_ncmp(aTHX); break;
case OP_SLT:
PL_op = Perl_pp_slt(aTHX); break;
case OP_SGT:
PL_op = Perl_pp_sgt(aTHX); break;
case OP_SLE:
PL_op = Perl_pp_sle(aTHX); break;
case OP_SGE:
PL_op = Perl_pp_sge(aTHX); break;
case OP_SEQ:
PL_op = Perl_pp_seq(aTHX); break;
case OP_SNE:
PL_op = Perl_pp_sne(aTHX); break;
case OP_SCMP:
PL_op = Perl_pp_scmp(aTHX); break;
case OP_BIT_AND:
PL_op = Perl_pp_bit_and(aTHX); break;
case OP_BIT_XOR:
PL_op = Perl_pp_bit_xor(aTHX); break;
case OP_BIT_OR:
PL_op = Perl_pp_bit_or(aTHX); break;
case OP_NEGATE:
PL_op = Perl_pp_negate(aTHX); break;
case OP_I_NEGATE:
PL_op = Perl_pp_i_negate(aTHX); break;
case OP_NOT:
PL_op = Perl_pp_not(aTHX); break;
case OP_COMPLEMENT:
PL_op = Perl_pp_complement(aTHX); break;
case OP_ATAN2:
PL_op = Perl_pp_atan2(aTHX); break;
case OP_SIN:
PL_op = Perl_pp_sin(aTHX); break;
case OP_COS:
PL_op = Perl_pp_cos(aTHX); break;
case OP_RAND:
PL_op = Perl_pp_rand(aTHX); break;
case OP_SRAND:
PL_op = Perl_pp_srand(aTHX); break;
case OP_EXP:
PL_op = Perl_pp_exp(aTHX); break;
case OP_LOG:
PL_op = Perl_pp_log(aTHX); break;
case OP_SQRT:
PL_op = Perl_pp_sqrt(aTHX); break;
case OP_INT:
PL_op = Perl_pp_int(aTHX); break;
case OP_HEX:
PL_op = Perl_pp_hex(aTHX); break;
case OP_OCT:
PL_op = Perl_pp_oct(aTHX); break;
case OP_ABS:
PL_op = Perl_pp_abs(aTHX); break;
case OP_LENGTH:
PL_op = Perl_pp_length(aTHX); break;
case OP_SUBSTR:
PL_op = Perl_pp_substr(aTHX); break;
case OP_VEC:
PL_op = Perl_pp_vec(aTHX); break;
case OP_INDEX:
PL_op = Perl_pp_index(aTHX); break;
case OP_RINDEX:
PL_op = Perl_pp_rindex(aTHX); break;
case OP_SPRINTF:
PL_op = Perl_pp_sprintf(aTHX); break;
case OP_FORMLINE:
PL_op = Perl_pp_formline(aTHX); break;
case OP_ORD:
PL_op = Perl_pp_ord(aTHX); break;
case OP_CHR:
PL_op = Perl_pp_chr(aTHX); break;
case OP_CRYPT:
PL_op = Perl_pp_crypt(aTHX); break;
case OP_UCFIRST:
PL_op = Perl_pp_ucfirst(aTHX); break;
case OP_LCFIRST:
PL_op = Perl_pp_lcfirst(aTHX); break;
case OP_UC:
PL_op = Perl_pp_uc(aTHX); break;
case OP_LC:
PL_op = Perl_pp_lc(aTHX); break;
case OP_QUOTEMETA:
PL_op = Perl_pp_quotemeta(aTHX); break;
case OP_RV2AV:
PL_op = Perl_pp_rv2av(aTHX); break;
case OP_AELEMFAST:
PL_op = Perl_pp_aelemfast(aTHX); break;
case OP_AELEM:
PL_op = Perl_pp_aelem(aTHX); break;
case OP_ASLICE:
PL_op = Perl_pp_aslice(aTHX); break;
case OP_EACH:
PL_op = Perl_pp_each(aTHX); break;
case OP_VALUES:
PL_op = Perl_pp_values(aTHX); break;
case OP_KEYS:
PL_op = Perl_pp_keys(aTHX); break;
case OP_DELETE:
PL_op = Perl_pp_delete(aTHX); break;
case OP_EXISTS:
PL_op = Perl_pp_exists(aTHX); break;
case OP_RV2HV:
PL_op = Perl_pp_rv2hv(aTHX); break;
case OP_HELEM:
PL_op = Perl_pp_helem(aTHX); break;
case OP_HSLICE:
PL_op = Perl_pp_hslice(aTHX); break;
case OP_UNPACK:
PL_op = Perl_pp_unpack(aTHX); break;
case OP_PACK:
PL_op = Perl_pp_pack(aTHX); break;
case OP_SPLIT:
PL_op = Perl_pp_split(aTHX); break;
case OP_JOIN:
PL_op = Perl_pp_join(aTHX); break;
case OP_LIST:
PL_op = Perl_pp_list(aTHX); break;
case OP_LSLICE:
PL_op = Perl_pp_lslice(aTHX); break;
case OP_ANONLIST:
PL_op = Perl_pp_anonlist(aTHX); break;
case OP_ANONHASH:
PL_op = Perl_pp_anonhash(aTHX); break;
case OP_SPLICE:
PL_op = Perl_pp_splice(aTHX); break;
case OP_PUSH:
PL_op = Perl_pp_push(aTHX); break;
case OP_POP:
PL_op = Perl_pp_pop(aTHX); break;
case OP_SHIFT:
PL_op = Perl_pp_shift(aTHX); break;
case OP_UNSHIFT:
PL_op = Perl_pp_unshift(aTHX); break;
case OP_SORT:
PL_op = Perl_pp_sort(aTHX); break;
case OP_REVERSE:
PL_op = Perl_pp_reverse(aTHX); break;
case OP_GREPSTART:
case OP_MAPSTART: /* pp_mapstart isn't used */
PL_op = Perl_pp_grepstart(aTHX); break;
case OP_GREPWHILE:
PL_op = Perl_pp_grepwhile(aTHX); break;
case OP_MAPWHILE:
PL_op = Perl_pp_mapwhile(aTHX); break;
case OP_RANGE:
PL_op = Perl_pp_range(aTHX); break;
case OP_FLIP:
PL_op = Perl_pp_flip(aTHX); break;
case OP_FLOP:
PL_op = Perl_pp_flop(aTHX); break;
case OP_AND:
{
dSP;
if (!SvTRUE(TOPs)) {
PUTBACK;
PL_op = NORMAL;
}
else {
--SP;
PUTBACK;
PL_op = cLOGOP->op_other;
}
}
break;
case OP_OR:
{
dSP;
if (SvTRUE(TOPs)) {
PUTBACK;
PL_op = NORMAL;
}
else {
--SP;
PUTBACK;
PL_op = cLOGOP->op_other;
}
}
break;
case OP_XOR:
PL_op = Perl_pp_xor(aTHX); break;
case OP_COND_EXPR:
{
dSP;
if (SvTRUEx(POPs))
PUTBACK, PL_op = cLOGOP->op_other;
else
PUTBACK, PL_op = cLOGOP->op_next;
}
break;
case OP_ANDASSIGN:
PL_op = Perl_pp_andassign(aTHX); break;
case OP_ORASSIGN:
PL_op = Perl_pp_orassign(aTHX); break;
case OP_METHOD:
PL_op = Perl_pp_method(aTHX); break;
case OP_ENTERSUB:
PL_op = Perl_pp_entersub(aTHX); break;
case OP_LEAVESUB:
PL_op = Perl_pp_leavesub(aTHX); break;
case OP_LEAVESUBLV:
PL_op = Perl_pp_leavesublv(aTHX); break;
case OP_CALLER:
PL_op = Perl_pp_caller(aTHX); break;
case OP_WARN:
PL_op = Perl_pp_warn(aTHX); break;
case OP_DIE:
PL_op = Perl_pp_die(aTHX); break;
case OP_RESET:
PL_op = Perl_pp_reset(aTHX); break;
case OP_NEXTSTATE:
PL_curcop = (COP*)PL_op;
TAINT_NOT; /* Each statement is presumed innocent */
PL_stack_sp = PL_stack_base + cxstack[cxstack_ix].blk_oldsp;
FREETMPS;
PL_op = NORMAL;
break;
case OP_DBSTATE:
PL_op = Perl_pp_dbstate(aTHX); break;
case OP_UNSTACK:
{
I32 oldsave;
TAINT_NOT; /* Each statement is presumed innocent */
PL_stack_sp = PL_stack_base + cxstack[cxstack_ix].blk_oldsp;
FREETMPS;
oldsave = PL_scopestack[PL_scopestack_ix - 1];
LEAVE_SCOPE(oldsave);
PL_op = NORMAL;
}
break;
case OP_ENTER:
PL_op = Perl_pp_enter(aTHX); break;
case OP_LEAVE:
PL_op = Perl_pp_leave(aTHX); break;
case OP_ENTERITER:
PL_op = Perl_pp_enteriter(aTHX); break;
case OP_ITER:
PL_op = Perl_pp_iter(aTHX); break;
case OP_ENTERLOOP:
PL_op = Perl_pp_enterloop(aTHX); break;
case OP_LEAVELOOP:
PL_op = Perl_pp_leaveloop(aTHX); break;
case OP_RETURN:
PL_op = Perl_pp_return(aTHX); break;
case OP_LAST:
PL_op = Perl_pp_last(aTHX); break;
case OP_NEXT:
PL_op = Perl_pp_next(aTHX); break;
case OP_REDO:
PL_op = Perl_pp_redo(aTHX); break;
case OP_DUMP:
PL_op = Perl_pp_dump(aTHX); break;
case OP_GOTO:
PL_op = Perl_pp_goto(aTHX); break;
case OP_EXIT:
PL_op = Perl_pp_exit(aTHX); break;
case OP_OPEN:
PL_op = Perl_pp_open(aTHX); break;
case OP_CLOSE:
PL_op = Perl_pp_close(aTHX); break;
case OP_PIPE_OP:
PL_op = Perl_pp_pipe_op(aTHX); break;
case OP_FILENO:
PL_op = Perl_pp_fileno(aTHX); break;
case OP_UMASK:
PL_op = Perl_pp_umask(aTHX); break;
case OP_BINMODE:
PL_op = Perl_pp_binmode(aTHX); break;
case OP_TIE:
PL_op = Perl_pp_tie(aTHX); break;
case OP_UNTIE:
PL_op = Perl_pp_untie(aTHX); break;
case OP_TIED:
PL_op = Perl_pp_tied(aTHX); break;
case OP_DBMOPEN:
PL_op = Perl_pp_dbmopen(aTHX); break;
case OP_DBMCLOSE:
PL_op = Perl_pp_dbmclose(aTHX); break;
case OP_SSELECT:
PL_op = Perl_pp_sselect(aTHX); break;
case OP_SELECT:
PL_op = Perl_pp_select(aTHX); break;
case OP_GETC:
PL_op = Perl_pp_getc(aTHX); break;
case OP_READ:
PL_op = Perl_pp_read(aTHX); break;
case OP_ENTERWRITE:
PL_op = Perl_pp_enterwrite(aTHX); break;
case OP_LEAVEWRITE:
PL_op = Perl_pp_leavewrite(aTHX); break;
case OP_PRTF:
PL_op = Perl_pp_prtf(aTHX); break;
case OP_PRINT:
#if PERL_VERSION >= 10
case OP_SAY:
#endif
PL_op = Perl_pp_print(aTHX); break;
case OP_SYSOPEN:
PL_op = Perl_pp_sysopen(aTHX); break;
case OP_SYSSEEK:
PL_op = Perl_pp_sysseek(aTHX); break;
case OP_SYSREAD:
PL_op = Perl_pp_sysread(aTHX); break;
case OP_SYSWRITE:
PL_op = Perl_pp_syswrite(aTHX); break;
case OP_SEND:
PL_op = Perl_pp_send(aTHX); break;
case OP_RECV:
PL_op = Perl_pp_recv(aTHX); break;
case OP_EOF:
PL_op = Perl_pp_eof(aTHX); break;
case OP_TELL:
PL_op = Perl_pp_tell(aTHX); break;
case OP_SEEK:
PL_op = Perl_pp_seek(aTHX); break;
case OP_TRUNCATE:
PL_op = Perl_pp_truncate(aTHX); break;
case OP_FCNTL:
PL_op = Perl_pp_fcntl(aTHX); break;
case OP_IOCTL:
PL_op = Perl_pp_ioctl(aTHX); break;
case OP_FLOCK:
PL_op = Perl_pp_flock(aTHX); break;
case OP_SOCKET:
PL_op = Perl_pp_socket(aTHX); break;
case OP_SOCKPAIR:
PL_op = Perl_pp_sockpair(aTHX); break;
case OP_BIND:
PL_op = Perl_pp_bind(aTHX); break;
case OP_CONNECT:
PL_op = Perl_pp_connect(aTHX); break;
case OP_LISTEN:
PL_op = Perl_pp_listen(aTHX); break;
case OP_ACCEPT:
PL_op = Perl_pp_accept(aTHX); break;
case OP_SHUTDOWN:
PL_op = Perl_pp_shutdown(aTHX); break;
case OP_GSOCKOPT:
PL_op = Perl_pp_gsockopt(aTHX); break;
case OP_SSOCKOPT:
PL_op = Perl_pp_ssockopt(aTHX); break;
case OP_GETSOCKNAME:
PL_op = Perl_pp_getsockname(aTHX); break;
case OP_GETPEERNAME:
PL_op = Perl_pp_getpeername(aTHX); break;
case OP_LSTAT:
PL_op = Perl_pp_lstat(aTHX); break;
case OP_STAT:
PL_op = Perl_pp_stat(aTHX); break;
case OP_FTRREAD:
PL_op = Perl_pp_ftrread(aTHX); break;
case OP_FTRWRITE:
PL_op = Perl_pp_ftrwrite(aTHX); break;
case OP_FTREXEC:
PL_op = Perl_pp_ftrexec(aTHX); break;
case OP_FTEREAD:
PL_op = Perl_pp_fteread(aTHX); break;
case OP_FTEWRITE:
PL_op = Perl_pp_ftewrite(aTHX); break;
case OP_FTEEXEC:
PL_op = Perl_pp_fteexec(aTHX); break;
case OP_FTIS:
PL_op = Perl_pp_ftis(aTHX); break;
case OP_FTEOWNED:
PL_op = Perl_pp_fteowned(aTHX); break;
case OP_FTROWNED:
PL_op = Perl_pp_ftrowned(aTHX); break;
case OP_FTZERO:
PL_op = Perl_pp_ftzero(aTHX); break;
case OP_FTSIZE:
PL_op = Perl_pp_ftsize(aTHX); break;
case OP_FTMTIME:
PL_op = Perl_pp_ftmtime(aTHX); break;
case OP_FTATIME:
PL_op = Perl_pp_ftatime(aTHX); break;
case OP_FTCTIME:
PL_op = Perl_pp_ftctime(aTHX); break;
case OP_FTSOCK:
PL_op = Perl_pp_ftsock(aTHX); break;
case OP_FTCHR:
PL_op = Perl_pp_ftchr(aTHX); break;
case OP_FTBLK:
PL_op = Perl_pp_ftblk(aTHX); break;
case OP_FTFILE:
PL_op = Perl_pp_ftfile(aTHX); break;
case OP_FTDIR:
PL_op = Perl_pp_ftdir(aTHX); break;
case OP_FTPIPE:
PL_op = Perl_pp_ftpipe(aTHX); break;
case OP_FTLINK:
PL_op = Perl_pp_ftlink(aTHX); break;
case OP_FTSUID:
PL_op = Perl_pp_ftsuid(aTHX); break;
case OP_FTSGID:
PL_op = Perl_pp_ftsgid(aTHX); break;
case OP_FTSVTX:
PL_op = Perl_pp_ftsvtx(aTHX); break;
case OP_FTTTY:
PL_op = Perl_pp_fttty(aTHX); break;
case OP_FTTEXT:
PL_op = Perl_pp_fttext(aTHX); break;
case OP_FTBINARY:
PL_op = Perl_pp_ftbinary(aTHX); break;
case OP_CHDIR:
PL_op = Perl_pp_chdir(aTHX); break;
case OP_CHOWN:
PL_op = Perl_pp_chown(aTHX); break;
case OP_CHROOT:
PL_op = Perl_pp_chroot(aTHX); break;
case OP_UNLINK:
PL_op = Perl_pp_unlink(aTHX); break;
case OP_CHMOD:
PL_op = Perl_pp_chmod(aTHX); break;
case OP_UTIME:
PL_op = Perl_pp_utime(aTHX); break;
case OP_RENAME:
PL_op = Perl_pp_rename(aTHX); break;
case OP_LINK:
PL_op = Perl_pp_link(aTHX); break;
case OP_SYMLINK:
PL_op = Perl_pp_symlink(aTHX); break;
case OP_READLINK:
PL_op = Perl_pp_readlink(aTHX); break;
case OP_MKDIR:
PL_op = Perl_pp_mkdir(aTHX); break;
case OP_RMDIR:
PL_op = Perl_pp_rmdir(aTHX); break;
case OP_OPEN_DIR:
PL_op = Perl_pp_open_dir(aTHX); break;
case OP_READDIR:
PL_op = Perl_pp_readdir(aTHX); break;
case OP_TELLDIR:
PL_op = Perl_pp_telldir(aTHX); break;
case OP_SEEKDIR:
PL_op = Perl_pp_seekdir(aTHX); break;
case OP_REWINDDIR:
PL_op = Perl_pp_rewinddir(aTHX); break;
case OP_CLOSEDIR:
PL_op = Perl_pp_closedir(aTHX); break;
case OP_FORK:
PL_op = Perl_pp_fork(aTHX); break;
case OP_WAIT:
PL_op = Perl_pp_wait(aTHX); break;
case OP_WAITPID:
PL_op = Perl_pp_waitpid(aTHX); break;
case OP_SYSTEM:
PL_op = Perl_pp_system(aTHX); break;
case OP_EXEC:
PL_op = Perl_pp_exec(aTHX); break;
case OP_KILL:
PL_op = Perl_pp_kill(aTHX); break;
case OP_GETPPID:
PL_op = Perl_pp_getppid(aTHX); break;
case OP_GETPGRP:
PL_op = Perl_pp_getpgrp(aTHX); break;
case OP_SETPGRP:
PL_op = Perl_pp_setpgrp(aTHX); break;
case OP_GETPRIORITY:
PL_op = Perl_pp_getpriority(aTHX); break;
case OP_SETPRIORITY:
PL_op = Perl_pp_setpriority(aTHX); break;
case OP_TIME:
PL_op = Perl_pp_time(aTHX); break;
case OP_TMS:
PL_op = Perl_pp_tms(aTHX); break;
case OP_LOCALTIME:
PL_op = Perl_pp_localtime(aTHX); break;
case OP_GMTIME:
PL_op = Perl_pp_gmtime(aTHX); break;
case OP_ALARM:
PL_op = Perl_pp_alarm(aTHX); break;
case OP_SLEEP:
PL_op = Perl_pp_sleep(aTHX); break;
case OP_SHMGET:
PL_op = Perl_pp_shmget(aTHX); break;
case OP_SHMCTL:
PL_op = Perl_pp_shmctl(aTHX); break;
case OP_SHMREAD:
PL_op = Perl_pp_shmread(aTHX); break;
case OP_SHMWRITE:
PL_op = Perl_pp_shmwrite(aTHX); break;
case OP_MSGGET:
PL_op = Perl_pp_msgget(aTHX); break;
case OP_MSGCTL:
PL_op = Perl_pp_msgctl(aTHX); break;
case OP_MSGSND:
PL_op = Perl_pp_msgsnd(aTHX); break;
case OP_MSGRCV:
PL_op = Perl_pp_msgrcv(aTHX); break;
case OP_SEMGET:
PL_op = Perl_pp_semget(aTHX); break;
case OP_SEMCTL:
PL_op = Perl_pp_semctl(aTHX); break;
case OP_SEMOP:
PL_op = Perl_pp_semop(aTHX); break;
case OP_REQUIRE:
case OP_DOFILE:
PL_op = Perl_pp_require(aTHX); break;
case OP_ENTEREVAL:
PL_op = Perl_pp_entereval(aTHX); break;
case OP_LEAVEEVAL:
PL_op = Perl_pp_leaveeval(aTHX); break;
case OP_ENTERTRY:
PL_op = Perl_pp_entertry(aTHX); break;
case OP_LEAVETRY:
PL_op = Perl_pp_leavetry(aTHX); break;
case OP_GHBYNAME:
PL_op = Perl_pp_ghbyname(aTHX); break;
case OP_GHBYADDR:
PL_op = Perl_pp_ghbyaddr(aTHX); break;
case OP_GHOSTENT:
PL_op = Perl_pp_ghostent(aTHX); break;
case OP_GNBYNAME:
PL_op = Perl_pp_gnbyname(aTHX); break;
case OP_GNBYADDR:
PL_op = Perl_pp_gnbyaddr(aTHX); break;
case OP_GNETENT:
PL_op = Perl_pp_gnetent(aTHX); break;
case OP_GPBYNAME:
PL_op = Perl_pp_gpbyname(aTHX); break;
case OP_GPBYNUMBER:
PL_op = Perl_pp_gpbynumber(aTHX); break;
case OP_GPROTOENT:
PL_op = Perl_pp_gprotoent(aTHX); break;
case OP_GSBYNAME:
PL_op = Perl_pp_gsbyname(aTHX); break;
case OP_GSBYPORT:
PL_op = Perl_pp_gsbyport(aTHX); break;
case OP_GSERVENT:
PL_op = Perl_pp_gservent(aTHX); break;
case OP_SHOSTENT:
PL_op = Perl_pp_shostent(aTHX); break;
case OP_SNETENT:
PL_op = Perl_pp_snetent(aTHX); break;
case OP_SPROTOENT:
PL_op = Perl_pp_sprotoent(aTHX); break;
case OP_SSERVENT:
PL_op = Perl_pp_sservent(aTHX); break;
case OP_EHOSTENT:
PL_op = Perl_pp_ehostent(aTHX); break;
case OP_ENETENT:
PL_op = Perl_pp_enetent(aTHX); break;
case OP_EPROTOENT:
PL_op = Perl_pp_eprotoent(aTHX); break;
case OP_ESERVENT:
PL_op = Perl_pp_eservent(aTHX); break;
case OP_GPWNAM:
PL_op = Perl_pp_gpwnam(aTHX); break;
case OP_GPWUID:
PL_op = Perl_pp_gpwuid(aTHX); break;
case OP_GPWENT:
PL_op = Perl_pp_gpwent(aTHX); break;
case OP_SPWENT:
PL_op = Perl_pp_spwent(aTHX); break;
case OP_EPWENT:
PL_op = Perl_pp_epwent(aTHX); break;
case OP_GGRNAM:
PL_op = Perl_pp_ggrnam(aTHX); break;
case OP_GGRGID:
PL_op = Perl_pp_ggrgid(aTHX); break;
case OP_GGRENT:
PL_op = Perl_pp_ggrent(aTHX); break;
case OP_SGRENT:
PL_op = Perl_pp_sgrent(aTHX); break;
case OP_EGRENT:
PL_op = Perl_pp_egrent(aTHX); break;
case OP_GETLOGIN:
PL_op = Perl_pp_getlogin(aTHX); break;
case OP_SYSCALL:
PL_op = Perl_pp_syscall(aTHX); break;
case OP_LOCK:
PL_op = Perl_pp_lock(aTHX); break;
#if PERL_VERSION < 10
case OP_THREADSV:
PL_op = Perl_pp_threadsv(aTHX); break;
#endif
case OP_SETSTATE:
PL_curcop = (COP*)PL_op;
PL_op = NORMAL;
break;
case OP_METHOD_NAMED:
PL_op = Perl_pp_method_named(aTHX); break;
#if PERL_VERSION >= 9
case OP_DOR:
PL_op = Perl_pp_dor(aTHX); break;
case OP_DORASSIGN:
PL_op = Perl_pp_dorassign(aTHX); break;
#endif
#if PERL_VERSION >= 10
case OP_ENTERGIVEN:
PL_op = Perl_pp_entergiven(aTHX); break;
case OP_LEAVEGIVEN:
PL_op = Perl_pp_leavegiven(aTHX); break;
case OP_ENTERWHEN:
PL_op = Perl_pp_enterwhen(aTHX); break;
case OP_LEAVEWHEN:
PL_op = Perl_pp_leavewhen(aTHX); break;
case OP_BREAK:
PL_op = Perl_pp_break(aTHX); break;
case OP_CONTINUE:
PL_op = Perl_pp_continue(aTHX); break;
case OP_SMARTMATCH:
PL_op = Perl_pp_smartmatch(aTHX); break;
case OP_ONCE:
PL_op = Perl_pp_once(aTHX); break;
#endif
case OP_CUSTOM:
PL_op = CALL_FPTR(PL_op->op_ppaddr)(aTHX); break;
default:
Perl_croak(aTHX_ "Invalid opcode '%s'\n", OP_NAME(PL_op));
}
PERL_ASYNC_CHECK();
}
TAINT_NOT;
return 0;
}
MODULE = Runops::Switch PACKAGE = Runops::Switch
BOOT:
PL_runops = runops_switch;