X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=opcode.h;h=a4efb5acbafbc5187fe57aeefb75d6ee8437b7cd;hb=a9ef352ac26829339bf17aa20568b3bde2fb1dd0;hp=a33e5009005f2c335af5f641975493f7244c798b;hpb=8782bef2aa2ca158fdd0d7436e68ae3ac2b01ff7;p=p5sagit%2Fp5-mst-13.2.git diff --git a/opcode.h b/opcode.h index a33e500..a4efb5a 100644 --- a/opcode.h +++ b/opcode.h @@ -358,9 +358,9 @@ typedef enum { #define MAXO 348 #ifndef DOINIT -EXT char *op_name[]; +EXT char *PL_op_name[]; #else -EXT char *op_name[] = { +EXT char *PL_op_name[] = { "null", "stub", "scalar", @@ -713,9 +713,9 @@ EXT char *op_name[] = { #endif #ifndef DOINIT -EXT char *op_desc[]; +EXT char *PL_op_desc[]; #else -EXT char *op_desc[] = { +EXT char *PL_op_desc[] = { "null operation", "stub", "scalar", @@ -891,7 +891,7 @@ EXT char *op_desc[] = { "line sequence", "next statement", "debug next statement", - "unstack", + "iteration finalizer", "block entry", "block exit", "block", @@ -1070,396 +1070,21 @@ EXT char *op_desc[] = { #ifndef PERL_OBJECT START_EXTERN_C -OP * ck_anoncode _((OP* o)); -OP * ck_bitop _((OP* o)); -OP * ck_concat _((OP* o)); -OP * ck_delete _((OP* o)); -OP * ck_eof _((OP* o)); -OP * ck_eval _((OP* o)); -OP * ck_exec _((OP* o)); -OP * ck_exists _((OP* o)); -OP * ck_ftst _((OP* o)); -OP * ck_fun _((OP* o)); -OP * ck_fun_locale _((OP* o)); -OP * ck_glob _((OP* o)); -OP * ck_grep _((OP* o)); -OP * ck_index _((OP* o)); -OP * ck_lengthconst _((OP* o)); -OP * ck_lfun _((OP* o)); -OP * ck_listiob _((OP* o)); -OP * ck_match _((OP* o)); -OP * ck_null _((OP* o)); -OP * ck_repeat _((OP* o)); -OP * ck_require _((OP* o)); -OP * ck_rfun _((OP* o)); -OP * ck_rvconst _((OP* o)); -OP * ck_scmp _((OP* o)); -OP * ck_select _((OP* o)); -OP * ck_shift _((OP* o)); -OP * ck_sort _((OP* o)); -OP * ck_spair _((OP* o)); -OP * ck_split _((OP* o)); -OP * ck_subr _((OP* o)); -OP * ck_svconst _((OP* o)); -OP * ck_trunc _((OP* o)); +#undef PERL_CKDEF +#undef PERL_PPDEF +#define PERL_CKDEF(s) OP *s _((OP *o)); +#define PERL_PPDEF(s) OP *s _((ARGSproto)); + +#include "pp_proto.h" -OP * pp_null _((ARGSproto)); -OP * pp_stub _((ARGSproto)); -OP * pp_scalar _((ARGSproto)); -OP * pp_pushmark _((ARGSproto)); -OP * pp_wantarray _((ARGSproto)); -OP * pp_const _((ARGSproto)); -OP * pp_gvsv _((ARGSproto)); -OP * pp_gv _((ARGSproto)); -OP * pp_gelem _((ARGSproto)); -OP * pp_padsv _((ARGSproto)); -OP * pp_padav _((ARGSproto)); -OP * pp_padhv _((ARGSproto)); -OP * pp_padany _((ARGSproto)); -OP * pp_pushre _((ARGSproto)); -OP * pp_rv2gv _((ARGSproto)); -OP * pp_rv2sv _((ARGSproto)); -OP * pp_av2arylen _((ARGSproto)); -OP * pp_rv2cv _((ARGSproto)); -OP * pp_anoncode _((ARGSproto)); -OP * pp_prototype _((ARGSproto)); -OP * pp_refgen _((ARGSproto)); -OP * pp_srefgen _((ARGSproto)); -OP * pp_ref _((ARGSproto)); -OP * pp_bless _((ARGSproto)); -OP * pp_backtick _((ARGSproto)); -OP * pp_glob _((ARGSproto)); -OP * pp_readline _((ARGSproto)); -OP * pp_rcatline _((ARGSproto)); -OP * pp_regcmaybe _((ARGSproto)); -OP * pp_regcreset _((ARGSproto)); -OP * pp_regcomp _((ARGSproto)); -OP * pp_match _((ARGSproto)); -OP * pp_qr _((ARGSproto)); -OP * pp_subst _((ARGSproto)); -OP * pp_substcont _((ARGSproto)); -OP * pp_trans _((ARGSproto)); -OP * pp_sassign _((ARGSproto)); -OP * pp_aassign _((ARGSproto)); -OP * pp_chop _((ARGSproto)); -OP * pp_schop _((ARGSproto)); -OP * pp_chomp _((ARGSproto)); -OP * pp_schomp _((ARGSproto)); -OP * pp_defined _((ARGSproto)); -OP * pp_undef _((ARGSproto)); -OP * pp_study _((ARGSproto)); -OP * pp_pos _((ARGSproto)); -OP * pp_preinc _((ARGSproto)); -OP * pp_i_preinc _((ARGSproto)); -OP * pp_predec _((ARGSproto)); -OP * pp_i_predec _((ARGSproto)); -OP * pp_postinc _((ARGSproto)); -OP * pp_i_postinc _((ARGSproto)); -OP * pp_postdec _((ARGSproto)); -OP * pp_i_postdec _((ARGSproto)); -OP * pp_pow _((ARGSproto)); -OP * pp_multiply _((ARGSproto)); -OP * pp_i_multiply _((ARGSproto)); -OP * pp_divide _((ARGSproto)); -OP * pp_i_divide _((ARGSproto)); -OP * pp_modulo _((ARGSproto)); -OP * pp_i_modulo _((ARGSproto)); -OP * pp_repeat _((ARGSproto)); -OP * pp_add _((ARGSproto)); -OP * pp_i_add _((ARGSproto)); -OP * pp_subtract _((ARGSproto)); -OP * pp_i_subtract _((ARGSproto)); -OP * pp_concat _((ARGSproto)); -OP * pp_stringify _((ARGSproto)); -OP * pp_left_shift _((ARGSproto)); -OP * pp_right_shift _((ARGSproto)); -OP * pp_lt _((ARGSproto)); -OP * pp_i_lt _((ARGSproto)); -OP * pp_gt _((ARGSproto)); -OP * pp_i_gt _((ARGSproto)); -OP * pp_le _((ARGSproto)); -OP * pp_i_le _((ARGSproto)); -OP * pp_ge _((ARGSproto)); -OP * pp_i_ge _((ARGSproto)); -OP * pp_eq _((ARGSproto)); -OP * pp_i_eq _((ARGSproto)); -OP * pp_ne _((ARGSproto)); -OP * pp_i_ne _((ARGSproto)); -OP * pp_ncmp _((ARGSproto)); -OP * pp_i_ncmp _((ARGSproto)); -OP * pp_slt _((ARGSproto)); -OP * pp_sgt _((ARGSproto)); -OP * pp_sle _((ARGSproto)); -OP * pp_sge _((ARGSproto)); -OP * pp_seq _((ARGSproto)); -OP * pp_sne _((ARGSproto)); -OP * pp_scmp _((ARGSproto)); -OP * pp_bit_and _((ARGSproto)); -OP * pp_bit_xor _((ARGSproto)); -OP * pp_bit_or _((ARGSproto)); -OP * pp_negate _((ARGSproto)); -OP * pp_i_negate _((ARGSproto)); -OP * pp_not _((ARGSproto)); -OP * pp_complement _((ARGSproto)); -OP * pp_atan2 _((ARGSproto)); -OP * pp_sin _((ARGSproto)); -OP * pp_cos _((ARGSproto)); -OP * pp_rand _((ARGSproto)); -OP * pp_srand _((ARGSproto)); -OP * pp_exp _((ARGSproto)); -OP * pp_log _((ARGSproto)); -OP * pp_sqrt _((ARGSproto)); -OP * pp_int _((ARGSproto)); -OP * pp_hex _((ARGSproto)); -OP * pp_oct _((ARGSproto)); -OP * pp_abs _((ARGSproto)); -OP * pp_length _((ARGSproto)); -OP * pp_substr _((ARGSproto)); -OP * pp_vec _((ARGSproto)); -OP * pp_index _((ARGSproto)); -OP * pp_rindex _((ARGSproto)); -OP * pp_sprintf _((ARGSproto)); -OP * pp_formline _((ARGSproto)); -OP * pp_ord _((ARGSproto)); -OP * pp_chr _((ARGSproto)); -OP * pp_crypt _((ARGSproto)); -OP * pp_ucfirst _((ARGSproto)); -OP * pp_lcfirst _((ARGSproto)); -OP * pp_uc _((ARGSproto)); -OP * pp_lc _((ARGSproto)); -OP * pp_quotemeta _((ARGSproto)); -OP * pp_rv2av _((ARGSproto)); -OP * pp_aelemfast _((ARGSproto)); -OP * pp_aelem _((ARGSproto)); -OP * pp_aslice _((ARGSproto)); -OP * pp_each _((ARGSproto)); -OP * pp_values _((ARGSproto)); -OP * pp_keys _((ARGSproto)); -OP * pp_delete _((ARGSproto)); -OP * pp_exists _((ARGSproto)); -OP * pp_rv2hv _((ARGSproto)); -OP * pp_helem _((ARGSproto)); -OP * pp_hslice _((ARGSproto)); -OP * pp_unpack _((ARGSproto)); -OP * pp_pack _((ARGSproto)); -OP * pp_split _((ARGSproto)); -OP * pp_join _((ARGSproto)); -OP * pp_list _((ARGSproto)); -OP * pp_lslice _((ARGSproto)); -OP * pp_anonlist _((ARGSproto)); -OP * pp_anonhash _((ARGSproto)); -OP * pp_splice _((ARGSproto)); -OP * pp_push _((ARGSproto)); -OP * pp_pop _((ARGSproto)); -OP * pp_shift _((ARGSproto)); -OP * pp_unshift _((ARGSproto)); -OP * pp_sort _((ARGSproto)); -OP * pp_reverse _((ARGSproto)); -OP * pp_grepstart _((ARGSproto)); -OP * pp_grepwhile _((ARGSproto)); -OP * pp_mapstart _((ARGSproto)); -OP * pp_mapwhile _((ARGSproto)); -OP * pp_range _((ARGSproto)); -OP * pp_flip _((ARGSproto)); -OP * pp_flop _((ARGSproto)); -OP * pp_and _((ARGSproto)); -OP * pp_or _((ARGSproto)); -OP * pp_xor _((ARGSproto)); -OP * pp_cond_expr _((ARGSproto)); -OP * pp_andassign _((ARGSproto)); -OP * pp_orassign _((ARGSproto)); -OP * pp_method _((ARGSproto)); -OP * pp_entersub _((ARGSproto)); -OP * pp_leavesub _((ARGSproto)); -OP * pp_caller _((ARGSproto)); -OP * pp_warn _((ARGSproto)); -OP * pp_die _((ARGSproto)); -OP * pp_reset _((ARGSproto)); -OP * pp_lineseq _((ARGSproto)); -OP * pp_nextstate _((ARGSproto)); -OP * pp_dbstate _((ARGSproto)); -OP * pp_unstack _((ARGSproto)); -OP * pp_enter _((ARGSproto)); -OP * pp_leave _((ARGSproto)); -OP * pp_scope _((ARGSproto)); -OP * pp_enteriter _((ARGSproto)); -OP * pp_iter _((ARGSproto)); -OP * pp_enterloop _((ARGSproto)); -OP * pp_leaveloop _((ARGSproto)); -OP * pp_return _((ARGSproto)); -OP * pp_last _((ARGSproto)); -OP * pp_next _((ARGSproto)); -OP * pp_redo _((ARGSproto)); -OP * pp_dump _((ARGSproto)); -OP * pp_goto _((ARGSproto)); -OP * pp_exit _((ARGSproto)); -OP * pp_open _((ARGSproto)); -OP * pp_close _((ARGSproto)); -OP * pp_pipe_op _((ARGSproto)); -OP * pp_fileno _((ARGSproto)); -OP * pp_umask _((ARGSproto)); -OP * pp_binmode _((ARGSproto)); -OP * pp_tie _((ARGSproto)); -OP * pp_untie _((ARGSproto)); -OP * pp_tied _((ARGSproto)); -OP * pp_dbmopen _((ARGSproto)); -OP * pp_dbmclose _((ARGSproto)); -OP * pp_sselect _((ARGSproto)); -OP * pp_select _((ARGSproto)); -OP * pp_getc _((ARGSproto)); -OP * pp_read _((ARGSproto)); -OP * pp_enterwrite _((ARGSproto)); -OP * pp_leavewrite _((ARGSproto)); -OP * pp_prtf _((ARGSproto)); -OP * pp_print _((ARGSproto)); -OP * pp_sysopen _((ARGSproto)); -OP * pp_sysseek _((ARGSproto)); -OP * pp_sysread _((ARGSproto)); -OP * pp_syswrite _((ARGSproto)); -OP * pp_send _((ARGSproto)); -OP * pp_recv _((ARGSproto)); -OP * pp_eof _((ARGSproto)); -OP * pp_tell _((ARGSproto)); -OP * pp_seek _((ARGSproto)); -OP * pp_truncate _((ARGSproto)); -OP * pp_fcntl _((ARGSproto)); -OP * pp_ioctl _((ARGSproto)); -OP * pp_flock _((ARGSproto)); -OP * pp_socket _((ARGSproto)); -OP * pp_sockpair _((ARGSproto)); -OP * pp_bind _((ARGSproto)); -OP * pp_connect _((ARGSproto)); -OP * pp_listen _((ARGSproto)); -OP * pp_accept _((ARGSproto)); -OP * pp_shutdown _((ARGSproto)); -OP * pp_gsockopt _((ARGSproto)); -OP * pp_ssockopt _((ARGSproto)); -OP * pp_getsockname _((ARGSproto)); -OP * pp_getpeername _((ARGSproto)); -OP * pp_lstat _((ARGSproto)); -OP * pp_stat _((ARGSproto)); -OP * pp_ftrread _((ARGSproto)); -OP * pp_ftrwrite _((ARGSproto)); -OP * pp_ftrexec _((ARGSproto)); -OP * pp_fteread _((ARGSproto)); -OP * pp_ftewrite _((ARGSproto)); -OP * pp_fteexec _((ARGSproto)); -OP * pp_ftis _((ARGSproto)); -OP * pp_fteowned _((ARGSproto)); -OP * pp_ftrowned _((ARGSproto)); -OP * pp_ftzero _((ARGSproto)); -OP * pp_ftsize _((ARGSproto)); -OP * pp_ftmtime _((ARGSproto)); -OP * pp_ftatime _((ARGSproto)); -OP * pp_ftctime _((ARGSproto)); -OP * pp_ftsock _((ARGSproto)); -OP * pp_ftchr _((ARGSproto)); -OP * pp_ftblk _((ARGSproto)); -OP * pp_ftfile _((ARGSproto)); -OP * pp_ftdir _((ARGSproto)); -OP * pp_ftpipe _((ARGSproto)); -OP * pp_ftlink _((ARGSproto)); -OP * pp_ftsuid _((ARGSproto)); -OP * pp_ftsgid _((ARGSproto)); -OP * pp_ftsvtx _((ARGSproto)); -OP * pp_fttty _((ARGSproto)); -OP * pp_fttext _((ARGSproto)); -OP * pp_ftbinary _((ARGSproto)); -OP * pp_chdir _((ARGSproto)); -OP * pp_chown _((ARGSproto)); -OP * pp_chroot _((ARGSproto)); -OP * pp_unlink _((ARGSproto)); -OP * pp_chmod _((ARGSproto)); -OP * pp_utime _((ARGSproto)); -OP * pp_rename _((ARGSproto)); -OP * pp_link _((ARGSproto)); -OP * pp_symlink _((ARGSproto)); -OP * pp_readlink _((ARGSproto)); -OP * pp_mkdir _((ARGSproto)); -OP * pp_rmdir _((ARGSproto)); -OP * pp_open_dir _((ARGSproto)); -OP * pp_readdir _((ARGSproto)); -OP * pp_telldir _((ARGSproto)); -OP * pp_seekdir _((ARGSproto)); -OP * pp_rewinddir _((ARGSproto)); -OP * pp_closedir _((ARGSproto)); -OP * pp_fork _((ARGSproto)); -OP * pp_wait _((ARGSproto)); -OP * pp_waitpid _((ARGSproto)); -OP * pp_system _((ARGSproto)); -OP * pp_exec _((ARGSproto)); -OP * pp_kill _((ARGSproto)); -OP * pp_getppid _((ARGSproto)); -OP * pp_getpgrp _((ARGSproto)); -OP * pp_setpgrp _((ARGSproto)); -OP * pp_getpriority _((ARGSproto)); -OP * pp_setpriority _((ARGSproto)); -OP * pp_time _((ARGSproto)); -OP * pp_tms _((ARGSproto)); -OP * pp_localtime _((ARGSproto)); -OP * pp_gmtime _((ARGSproto)); -OP * pp_alarm _((ARGSproto)); -OP * pp_sleep _((ARGSproto)); -OP * pp_shmget _((ARGSproto)); -OP * pp_shmctl _((ARGSproto)); -OP * pp_shmread _((ARGSproto)); -OP * pp_shmwrite _((ARGSproto)); -OP * pp_msgget _((ARGSproto)); -OP * pp_msgctl _((ARGSproto)); -OP * pp_msgsnd _((ARGSproto)); -OP * pp_msgrcv _((ARGSproto)); -OP * pp_semget _((ARGSproto)); -OP * pp_semctl _((ARGSproto)); -OP * pp_semop _((ARGSproto)); -OP * pp_require _((ARGSproto)); -OP * pp_dofile _((ARGSproto)); -OP * pp_entereval _((ARGSproto)); -OP * pp_leaveeval _((ARGSproto)); -OP * pp_entertry _((ARGSproto)); -OP * pp_leavetry _((ARGSproto)); -OP * pp_ghbyname _((ARGSproto)); -OP * pp_ghbyaddr _((ARGSproto)); -OP * pp_ghostent _((ARGSproto)); -OP * pp_gnbyname _((ARGSproto)); -OP * pp_gnbyaddr _((ARGSproto)); -OP * pp_gnetent _((ARGSproto)); -OP * pp_gpbyname _((ARGSproto)); -OP * pp_gpbynumber _((ARGSproto)); -OP * pp_gprotoent _((ARGSproto)); -OP * pp_gsbyname _((ARGSproto)); -OP * pp_gsbyport _((ARGSproto)); -OP * pp_gservent _((ARGSproto)); -OP * pp_shostent _((ARGSproto)); -OP * pp_snetent _((ARGSproto)); -OP * pp_sprotoent _((ARGSproto)); -OP * pp_sservent _((ARGSproto)); -OP * pp_ehostent _((ARGSproto)); -OP * pp_enetent _((ARGSproto)); -OP * pp_eprotoent _((ARGSproto)); -OP * pp_eservent _((ARGSproto)); -OP * pp_gpwnam _((ARGSproto)); -OP * pp_gpwuid _((ARGSproto)); -OP * pp_gpwent _((ARGSproto)); -OP * pp_spwent _((ARGSproto)); -OP * pp_epwent _((ARGSproto)); -OP * pp_ggrnam _((ARGSproto)); -OP * pp_ggrgid _((ARGSproto)); -OP * pp_ggrent _((ARGSproto)); -OP * pp_sgrent _((ARGSproto)); -OP * pp_egrent _((ARGSproto)); -OP * pp_getlogin _((ARGSproto)); -OP * pp_syscall _((ARGSproto)); -OP * pp_lock _((ARGSproto)); -OP * pp_threadsv _((ARGSproto)); END_EXTERN_C #endif /* PERL_OBJECT */ #ifndef DOINIT -EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto); +EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto); #else -#ifndef PERL_OBJECT -EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = { +EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto) = { pp_null, pp_stub, pp_scalar, @@ -1809,14 +1434,12 @@ EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = { pp_lock, pp_threadsv, }; -#endif /* PERL_OBJECT */ #endif #ifndef DOINIT -EXT OP * (CPERLscope(*check)[]) _((OP *op)); +EXT OP * (CPERLscope(*PL_check)[]) _((OP *op)); #else -#ifndef PERL_OBJECT -EXT OP * (CPERLscope(*check)[]) _((OP *op)) = { +EXT OP * (CPERLscope(*PL_check)[]) _((OP *op)) = { ck_null, /* null */ ck_null, /* stub */ ck_fun, /* scalar */ @@ -2166,13 +1789,12 @@ EXT OP * (CPERLscope(*check)[]) _((OP *op)) = { ck_rfun, /* lock */ ck_null, /* threadsv */ }; -#endif /* PERL_OBJECT */ #endif #ifndef DOINIT -EXT U32 opargs[]; +EXT U32 PL_opargs[]; #else -EXT U32 opargs[] = { +EXT U32 PL_opargs[] = { 0x00000000, /* null */ 0x00000000, /* stub */ 0x00001c04, /* scalar */ @@ -2205,7 +1827,7 @@ EXT U32 opargs[] = { 0x00001104, /* regcreset */ 0x00001304, /* regcomp */ 0x00000640, /* match */ - 0x00000004, /* qr */ + 0x00000604, /* qr */ 0x00001654, /* subst */ 0x00000354, /* substcont */ 0x00001914, /* trans */ @@ -2320,7 +1942,7 @@ EXT U32 opargs[] = { 0x00002505, /* anonhash */ 0x02993501, /* splice */ 0x0002351d, /* push */ - 0x00003c14, /* pop */ + 0x00003c04, /* pop */ 0x00003c04, /* shift */ 0x0002351d, /* unshift */ 0x0002d501, /* sort */ @@ -2385,7 +2007,7 @@ EXT U32 opargs[] = { 0x09116504, /* sysopen */ 0x00116504, /* sysseek */ 0x0917651d, /* sysread */ - 0x0911651d, /* syswrite */ + 0x0991651d, /* syswrite */ 0x0911651d, /* send */ 0x0117651d, /* recv */ 0x0000ec14, /* eof */