Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
4755 lines (4694 sloc) 154 KB
/* ex: set ro ft=c: -*- buffer-read-only: t -*-
*
* opcode.h
*
* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
* 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
* 2014, 2015 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
* This file is built by regen/opcode.pl from its data.
* Any changes made here will be lost!
*/
#ifndef PERL_GLOBAL_STRUCT_INIT
#define Perl_pp_scalar Perl_pp_null
#define Perl_pp_padany Perl_unimplemented_op
#define Perl_pp_chomp Perl_pp_chop
#define Perl_pp_schomp Perl_pp_schop
#define Perl_pp_i_preinc Perl_pp_preinc
#define Perl_pp_predec Perl_pp_preinc
#define Perl_pp_i_predec Perl_pp_preinc
#define Perl_pp_i_postinc Perl_pp_postinc
#define Perl_pp_postdec Perl_pp_postinc
#define Perl_pp_i_postdec Perl_pp_postinc
#if IVSIZE<=4
#define Perl_pp_u_multiply Perl_pp_multiply
#endif
#if IVSIZE<=4
#define Perl_pp_u_add Perl_pp_add
#endif
#if IVSIZE<=4
#define Perl_pp_u_subtract Perl_pp_subtract
#endif
#define Perl_pp_s_lt Perl_pp_s_le
#define Perl_pp_s_gt Perl_pp_s_le
#define Perl_pp_s_ge Perl_pp_s_le
#define Perl_pp_bit_xor Perl_pp_bit_or
#define Perl_pp_i_bit_xor Perl_pp_i_bit_or
#define Perl_pp_s_bit_xor Perl_pp_s_bit_or
#define Perl_pp_cos Perl_pp_sin
#define Perl_pp_exp Perl_pp_sin
#define Perl_pp_log Perl_pp_sin
#define Perl_pp_sqrt Perl_pp_sin
#define Perl_pp_hex Perl_pp_oct
#define Perl_pp_regcmaybe Perl_pp_null
#define Perl_pp_transr Perl_pp_trans
#define Perl_pp_rindex Perl_pp_index
#define Perl_pp_lcfirst Perl_pp_ucfirst
#define Perl_pp_aelemfast_lex Perl_pp_aelemfast
#define Perl_pp_n_aelem Perl_pp_i_aelem
#define Perl_pp_s_aelem Perl_pp_i_aelem
#define Perl_pp_i_aelem_u Perl_pp_aelem_u
#define Perl_pp_n_aelem_u Perl_pp_aelem_u
#define Perl_pp_s_aelem_u Perl_pp_aelem_u
#define Perl_pp_avalues Perl_pp_akeys
#define Perl_pp_values Perl_do_kv
#define Perl_pp_keys Perl_do_kv
#define Perl_pp_rv2hv Perl_pp_rv2av
#define Perl_pp_pop Perl_pp_shift
#define Perl_pp_mapstart Perl_pp_grepstart
#define Perl_pp_dor Perl_pp_defined
#define Perl_pp_andassign Perl_pp_and
#define Perl_pp_orassign Perl_pp_or
#define Perl_pp_dorassign Perl_pp_defined
#define Perl_pp_lineseq Perl_pp_null
#define Perl_pp_scope Perl_pp_null
#define Perl_pp_dump Perl_pp_goto
#define Perl_pp_dbmclose Perl_pp_untie
#define Perl_pp_read Perl_pp_sysread
#define Perl_pp_say Perl_pp_print
#define Perl_pp_seek Perl_pp_sysseek
#define Perl_pp_fcntl Perl_pp_ioctl
#ifdef HAS_SOCKET
#define Perl_pp_send Perl_pp_syswrite
#define Perl_pp_recv Perl_pp_sysread
#else
#define Perl_pp_send Perl_unimplemented_op
#define Perl_pp_recv Perl_unimplemented_op
#define Perl_pp_socket Perl_unimplemented_op
#endif
#ifdef HAS_SOCKET
#define Perl_pp_connect Perl_pp_bind
#define Perl_pp_gsockopt Perl_pp_ssockopt
#define Perl_pp_getsockname Perl_pp_getpeername
#else
#define Perl_pp_bind Perl_unimplemented_op
#define Perl_pp_connect Perl_unimplemented_op
#define Perl_pp_listen Perl_unimplemented_op
#define Perl_pp_accept Perl_unimplemented_op
#define Perl_pp_shutdown Perl_unimplemented_op
#define Perl_pp_gsockopt Perl_unimplemented_op
#define Perl_pp_ssockopt Perl_unimplemented_op
#define Perl_pp_getsockname Perl_unimplemented_op
#define Perl_pp_getpeername Perl_unimplemented_op
#endif
#define Perl_pp_lstat Perl_pp_stat
#define Perl_pp_ftrwrite Perl_pp_ftrread
#define Perl_pp_ftrexec Perl_pp_ftrread
#define Perl_pp_fteread Perl_pp_ftrread
#define Perl_pp_ftewrite Perl_pp_ftrread
#define Perl_pp_fteexec Perl_pp_ftrread
#define Perl_pp_ftsize Perl_pp_ftis
#define Perl_pp_ftmtime Perl_pp_ftis
#define Perl_pp_ftatime Perl_pp_ftis
#define Perl_pp_ftctime Perl_pp_ftis
#define Perl_pp_fteowned Perl_pp_ftrowned
#define Perl_pp_ftzero Perl_pp_ftrowned
#define Perl_pp_ftsock Perl_pp_ftrowned
#define Perl_pp_ftchr Perl_pp_ftrowned
#define Perl_pp_ftblk Perl_pp_ftrowned
#define Perl_pp_ftfile Perl_pp_ftrowned
#define Perl_pp_ftdir Perl_pp_ftrowned
#define Perl_pp_ftpipe Perl_pp_ftrowned
#define Perl_pp_ftsuid Perl_pp_ftrowned
#define Perl_pp_ftsgid Perl_pp_ftrowned
#define Perl_pp_ftsvtx Perl_pp_ftrowned
#define Perl_pp_ftbinary Perl_pp_fttext
#define Perl_pp_unlink Perl_pp_chown
#define Perl_pp_chmod Perl_pp_chown
#define Perl_pp_utime Perl_pp_chown
#define Perl_pp_symlink Perl_pp_link
#define Perl_pp_kill Perl_pp_chown
#define Perl_pp_localtime Perl_pp_gmtime
#define Perl_pp_shmget Perl_pp_semget
#define Perl_pp_shmctl Perl_pp_semctl
#define Perl_pp_shmread Perl_pp_shmwrite
#define Perl_pp_msgget Perl_pp_semget
#define Perl_pp_msgctl Perl_pp_semctl
#define Perl_pp_msgsnd Perl_pp_shmwrite
#define Perl_pp_msgrcv Perl_pp_shmwrite
#define Perl_pp_semop Perl_pp_shmwrite
#define Perl_pp_dofile Perl_pp_require
#define Perl_pp_ghbyname Perl_pp_ghostent
#define Perl_pp_ghbyaddr Perl_pp_ghostent
#define Perl_pp_gnbyname Perl_pp_gnetent
#define Perl_pp_gnbyaddr Perl_pp_gnetent
#define Perl_pp_gpbyname Perl_pp_gprotoent
#define Perl_pp_gpbynumber Perl_pp_gprotoent
#define Perl_pp_gsbyname Perl_pp_gservent
#define Perl_pp_gsbyport Perl_pp_gservent
#define Perl_pp_snetent Perl_pp_shostent
#define Perl_pp_sprotoent Perl_pp_shostent
#define Perl_pp_sservent Perl_pp_shostent
#define Perl_pp_enetent Perl_pp_ehostent
#define Perl_pp_eprotoent Perl_pp_ehostent
#define Perl_pp_eservent Perl_pp_ehostent
#define Perl_pp_gpwnam Perl_pp_gpwent
#define Perl_pp_gpwuid Perl_pp_gpwent
#define Perl_pp_spwent Perl_pp_ehostent
#define Perl_pp_epwent Perl_pp_ehostent
#define Perl_pp_ggrnam Perl_pp_ggrent
#define Perl_pp_ggrgid Perl_pp_ggrent
#define Perl_pp_sgrent Perl_pp_ehostent
#define Perl_pp_egrent Perl_pp_ehostent
#define Perl_pp_custom Perl_unimplemented_op
#define Perl_pp_reach Perl_pp_rkeys
#define Perl_pp_rvalues Perl_pp_rkeys
START_EXTERN_C
#ifndef DOINIT
EXTCONST char* const PL_op_name[];
#else
EXTCONST char* const PL_op_name[] = {
"null", /* 0: null operation */
"stub", /* 1: stub */
"scalar", /* 2: scalar */
"pushmark", /* 3: pushmark */
"wantarray", /* 4: wantarray */
"const", /* 5: constant item */
"gvsv", /* 6: scalar variable */
"gv", /* 7: glob value */
"gelem", /* 8: glob elem */
"padsv", /* 9: private variable */
"padav", /* 10: private array */
"padhv", /* 11: private hash */
"padany", /* 12: private value */
"pushre", /* 13: push regexp */
"sassign", /* 14: scalar assignment */
"aassign", /* 15: list assignment */
"chop", /* 16: chop */
"schop", /* 17: scalar chop */
"chomp", /* 18: chomp */
"schomp", /* 19: scalar chomp */
"defined", /* 20: defined operator */
"undef", /* 21: undef operator */
"study", /* 22: study */
"pos", /* 23: match position */
"preinc", /* 24: preincrement (++) */
"i_preinc", /* 25: integer preincrement (++) */
"predec", /* 26: predecrement (--) */
"i_predec", /* 27: integer predecrement (--) */
"postinc", /* 28: postincrement (++) */
"i_postinc", /* 29: integer postincrement (++) */
"postdec", /* 30: postdecrement (--) */
"i_postdec", /* 31: integer postdecrement (--) */
"pow", /* 32: exponentiation (**) */
"multiply", /* 33: multiplication (*) */
"i_multiply", /* 34: integer multiplication (*) */
"u_multiply", /* 35: iv+uv multiplication (+) */
"divide", /* 36: division (/) */
"i_divide", /* 37: integer division (/) */
"modulo", /* 38: modulus (%) */
"i_modulo", /* 39: integer modulus (%) */
"repeat", /* 40: repeat (x) */
"add", /* 41: addition (+) */
"i_add", /* 42: integer addition (+) */
"u_add", /* 43: iv+uv addition (+) */
"subtract", /* 44: subtraction (-) */
"i_subtract", /* 45: integer subtraction (-) */
"u_subtract", /* 46: iv+uv subtraction (-) */
"concat", /* 47: concatenation (.) or string */
"stringify", /* 48: string */
"left_shift", /* 49: left bitshift (<<) */
"right_shift", /* 50: right bitshift (>>) */
"lt", /* 51: numeric lt (<) */
"i_lt", /* 52: integer lt (<) */
"gt", /* 53: numeric gt (>) */
"i_gt", /* 54: integer gt (>) */
"le", /* 55: numeric le (<=) */
"i_le", /* 56: integer le (<=) */
"ge", /* 57: numeric ge (>=) */
"i_ge", /* 58: integer ge (>=) */
"eq", /* 59: numeric eq (==) */
"i_eq", /* 60: integer eq (==) */
"ne", /* 61: numeric ne (!=) */
"i_ne", /* 62: integer ne (!=) */
"cmp", /* 63: numeric comparison (<=>) */
"i_cmp", /* 64: integer comparison (<=>) */
"s_lt", /* 65: string lt */
"s_gt", /* 66: string gt */
"s_le", /* 67: string le */
"s_ge", /* 68: string ge */
"s_eq", /* 69: string eq */
"s_ne", /* 70: string ne */
"s_cmp", /* 71: string comparison (cmp) */
"bit_and", /* 72: bitwise and (&) */
"bit_xor", /* 73: bitwise xor (^) */
"bit_or", /* 74: bitwise or (|) */
"i_bit_and", /* 75: integer bitwise and (&) */
"i_bit_xor", /* 76: integer bitwise xor (^) */
"i_bit_or", /* 77: integer bitwise or (|) */
"s_bit_and", /* 78: string bitiwse and (&) */
"s_bit_xor", /* 79: string bitwise xor (^) */
"s_bit_or", /* 80: string bitwise or (|) */
"negate", /* 81: negation (-) */
"i_negate", /* 82: integer negation (-) */
"not", /* 83: not */
"complement", /* 84: 1's complement (~) */
"i_complement", /* 85: integer 1's complement (~) */
"s_complement", /* 86: string 1's complement (~) */
"smartmatch", /* 87: smart match */
"atan2", /* 88: atan2 */
"sin", /* 89: sin */
"cos", /* 90: cos */
"rand", /* 91: rand */
"srand", /* 92: srand */
"exp", /* 93: exp */
"log", /* 94: log */
"sqrt", /* 95: sqrt */
"int", /* 96: int */
"hex", /* 97: hex */
"oct", /* 98: oct */
"abs", /* 99: abs */
"rv2gv", /* 100: ref-to-glob cast */
"rv2sv", /* 101: scalar dereference */
"av2arylen", /* 102: array length */
"rv2cv", /* 103: subroutine dereference */
"anoncode", /* 104: anonymous subroutine */
"prototype", /* 105: subroutine prototype */
"refgen", /* 106: reference constructor */
"srefgen", /* 107: single ref constructor */
"ref", /* 108: reference-type operator */
"bless", /* 109: bless */
"backtick", /* 110: quoted execution (``, qx) */
"glob", /* 111: glob */
"readline", /* 112: <HANDLE> */
"rcatline", /* 113: append I/O operator */
"regcmaybe", /* 114: regexp internal guard */
"regcreset", /* 115: regexp internal reset */
"regcomp", /* 116: regexp compilation */
"match", /* 117: pattern match (m//) */
"qr", /* 118: pattern quote (qr//) */
"subst", /* 119: substitution (s///) */
"substcont", /* 120: substitution iterator */
"trans", /* 121: transliteration (tr///) */
"transr", /* 122: transliteration (tr///) */
"length", /* 123: length */
"substr", /* 124: substr */
"vec", /* 125: vec */
"index", /* 126: index */
"rindex", /* 127: rindex */
"sprintf", /* 128: sprintf */
"formline", /* 129: formline */
"ord", /* 130: ord */
"chr", /* 131: chr */
"crypt", /* 132: crypt */
"ucfirst", /* 133: ucfirst */
"lcfirst", /* 134: lcfirst */
"uc", /* 135: uc */
"lc", /* 136: lc */
"quotemeta", /* 137: quotemeta */
"rv2av", /* 138: array dereference */
"aelemfast", /* 139: constant array element */
"aelemfast_lex", /* 140: constant lexical array element */
"aelem", /* 141: array element */
"i_aelem", /* 142: int array element */
"n_aelem", /* 143: num array element */
"s_aelem", /* 144: str array element */
"aelemfast_lex_u", /* 145: unchecked constant aelem */
"aelem_u", /* 146: unchecked aelem */
"i_aelem_u", /* 147: unchecked int aelem */
"n_aelem_u", /* 148: unchecked num aelem */
"s_aelem_u", /* 149: unchecked str aelem */
"aslice", /* 150: array slice */
"kvaslice", /* 151: index/value array slice */
"aeach", /* 152: each on array */
"akeys", /* 153: keys on array */
"avalues", /* 154: values on array */
"each", /* 155: each */
"values", /* 156: values */
"keys", /* 157: keys */
"delete", /* 158: delete */
"exists", /* 159: exists */
"rv2hv", /* 160: hash dereference */
"helem", /* 161: hash element */
"hslice", /* 162: hash slice */
"kvhslice", /* 163: key/value hash slice */
"multideref", /* 164: array or hash lookup */
"unpack", /* 165: unpack */
"pack", /* 166: pack */
"split", /* 167: split */
"join", /* 168: join or string */
"list", /* 169: list */
"lslice", /* 170: list slice */
"anonlist", /* 171: anonymous array ([]) */
"anonhash", /* 172: anonymous hash ({}) */
"splice", /* 173: splice */
"push", /* 174: push */
"pop", /* 175: pop */
"shift", /* 176: shift */
"unshift", /* 177: unshift */
"sort", /* 178: sort */
"reverse", /* 179: reverse */
"grepstart", /* 180: grep */
"grepwhile", /* 181: grep iterator */
"mapstart", /* 182: map */
"mapwhile", /* 183: map iterator */
"range", /* 184: flipflop */
"flip", /* 185: range (or flip) */
"flop", /* 186: range (or flop) */
"and", /* 187: logical and (&&) */
"or", /* 188: logical or (||) */
"xor", /* 189: logical xor */
"dor", /* 190: defined or (//) */
"cond_expr", /* 191: conditional expression */
"andassign", /* 192: logical and assignment (&&=) */
"orassign", /* 193: logical or assignment (||=) */
"dorassign", /* 194: defined or assignment (//=) */
"method", /* 195: method lookup */
"entersub", /* 196: subroutine entry */
"enterxssub", /* 197: XS subroutine entry */
"leavesub", /* 198: subroutine exit */
"leavesublv", /* 199: lvalue subroutine return */
"caller", /* 200: caller */
"warn", /* 201: warn */
"die", /* 202: die */
"reset", /* 203: symbol reset */
"lineseq", /* 204: line sequence */
"nextstate", /* 205: next statement */
"dbstate", /* 206: debug next statement */
"unstack", /* 207: iteration finalizer */
"enter", /* 208: block entry */
"leave", /* 209: block exit */
"scope", /* 210: block */
"enteriter", /* 211: foreach loop entry */
"iter", /* 212: foreach loop iterator */
"enterloop", /* 213: loop entry */
"leaveloop", /* 214: loop exit */
"return", /* 215: return */
"last", /* 216: last */
"next", /* 217: next */
"redo", /* 218: redo */
"dump", /* 219: dump */
"goto", /* 220: goto */
"exit", /* 221: exit */
"method_named", /* 222: named method */
"method_super", /* 223: named super method */
"method_redir", /* 224: redirect named method */
"method_redir_super", /* 225: redirect named super */
"entergiven", /* 226: given() */
"leavegiven", /* 227: leave given block */
"enterwhen", /* 228: when() */
"leavewhen", /* 229: leave when block */
"break", /* 230: break */
"continue", /* 231: continue */
"open", /* 232: open */
"close", /* 233: close */
"pipe_op", /* 234: pipe */
"fileno", /* 235: fileno */
"umask", /* 236: umask */
"binmode", /* 237: binmode */
"tie", /* 238: tie */
"untie", /* 239: untie */
"tied", /* 240: tied */
"dbmopen", /* 241: dbmopen */
"dbmclose", /* 242: dbmclose */
"sselect", /* 243: select system call */
"select", /* 244: select */
"getc", /* 245: getc */
"read", /* 246: read */
"enterwrite", /* 247: write */
"leavewrite", /* 248: write exit */
"prtf", /* 249: printf */
"print", /* 250: print */
"say", /* 251: say */
"sysopen", /* 252: sysopen */
"sysseek", /* 253: sysseek */
"sysread", /* 254: sysread */
"syswrite", /* 255: syswrite */
"eof", /* 256: eof */
"tell", /* 257: tell */
"seek", /* 258: seek */
"truncate", /* 259: truncate */
"fcntl", /* 260: fcntl */
"ioctl", /* 261: ioctl */
"flock", /* 262: flock */
"send", /* 263: send */
"recv", /* 264: recv */
"socket", /* 265: socket */
"sockpair", /* 266: socketpair */
"bind", /* 267: bind */
"connect", /* 268: connect */
"listen", /* 269: listen */
"accept", /* 270: accept */
"shutdown", /* 271: shutdown */
"gsockopt", /* 272: getsockopt */
"ssockopt", /* 273: setsockopt */
"getsockname", /* 274: getsockname */
"getpeername", /* 275: getpeername */
"lstat", /* 276: lstat */
"stat", /* 277: stat */
"ftrread", /* 278: -R */
"ftrwrite", /* 279: -W */
"ftrexec", /* 280: -X */
"fteread", /* 281: -r */
"ftewrite", /* 282: -w */
"fteexec", /* 283: -x */
"ftis", /* 284: -e */
"ftsize", /* 285: -s */
"ftmtime", /* 286: -M */
"ftatime", /* 287: -A */
"ftctime", /* 288: -C */
"ftrowned", /* 289: -O */
"fteowned", /* 290: -o */
"ftzero", /* 291: -z */
"ftsock", /* 292: -S */
"ftchr", /* 293: -c */
"ftblk", /* 294: -b */
"ftfile", /* 295: -f */
"ftdir", /* 296: -d */
"ftpipe", /* 297: -p */
"ftsuid", /* 298: -u */
"ftsgid", /* 299: -g */
"ftsvtx", /* 300: -k */
"ftlink", /* 301: -l */
"fttty", /* 302: -t */
"fttext", /* 303: -T */
"ftbinary", /* 304: -B */
"chdir", /* 305: chdir */
"chown", /* 306: chown */
"chroot", /* 307: chroot */
"unlink", /* 308: unlink */
"chmod", /* 309: chmod */
"utime", /* 310: utime */
"rename", /* 311: rename */
"link", /* 312: link */
"symlink", /* 313: symlink */
"readlink", /* 314: readlink */
"mkdir", /* 315: mkdir */
"rmdir", /* 316: rmdir */
"open_dir", /* 317: opendir */
"readdir", /* 318: readdir */
"telldir", /* 319: telldir */
"seekdir", /* 320: seekdir */
"rewinddir", /* 321: rewinddir */
"closedir", /* 322: closedir */
"fork", /* 323: fork */
"wait", /* 324: wait */
"waitpid", /* 325: waitpid */
"system", /* 326: system */
"exec", /* 327: exec */
"kill", /* 328: kill */
"getppid", /* 329: getppid */
"getpgrp", /* 330: getpgrp */
"setpgrp", /* 331: setpgrp */
"getpriority", /* 332: getpriority */
"setpriority", /* 333: setpriority */
"time", /* 334: time */
"tms", /* 335: times */
"localtime", /* 336: localtime */
"gmtime", /* 337: gmtime */
"alarm", /* 338: alarm */
"sleep", /* 339: sleep */
"shmget", /* 340: shmget */
"shmctl", /* 341: shmctl */
"shmread", /* 342: shmread */
"shmwrite", /* 343: shmwrite */
"msgget", /* 344: msgget */
"msgctl", /* 345: msgctl */
"msgsnd", /* 346: msgsnd */
"msgrcv", /* 347: msgrcv */
"semop", /* 348: semop */
"semget", /* 349: semget */
"semctl", /* 350: semctl */
"require", /* 351: require */
"dofile", /* 352: do "file" */
"hintseval", /* 353: eval hints */
"entereval", /* 354: eval "string" */
"leaveeval", /* 355: eval "string" exit */
"entertry", /* 356: eval {block} */
"leavetry", /* 357: eval {block} exit */
"ghbyname", /* 358: gethostbyname */
"ghbyaddr", /* 359: gethostbyaddr */
"ghostent", /* 360: gethostent */
"gnbyname", /* 361: getnetbyname */
"gnbyaddr", /* 362: getnetbyaddr */
"gnetent", /* 363: getnetent */
"gpbyname", /* 364: getprotobyname */
"gpbynumber", /* 365: getprotobynumber */
"gprotoent", /* 366: getprotoent */
"gsbyname", /* 367: getservbyname */
"gsbyport", /* 368: getservbyport */
"gservent", /* 369: getservent */
"shostent", /* 370: sethostent */
"snetent", /* 371: setnetent */
"sprotoent", /* 372: setprotoent */
"sservent", /* 373: setservent */
"ehostent", /* 374: endhostent */
"enetent", /* 375: endnetent */
"eprotoent", /* 376: endprotoent */
"eservent", /* 377: endservent */
"gpwnam", /* 378: getpwnam */
"gpwuid", /* 379: getpwuid */
"gpwent", /* 380: getpwent */
"spwent", /* 381: setpwent */
"epwent", /* 382: endpwent */
"ggrnam", /* 383: getgrnam */
"ggrgid", /* 384: getgrgid */
"ggrent", /* 385: getgrent */
"sgrent", /* 386: setgrent */
"egrent", /* 387: endgrent */
"getlogin", /* 388: getlogin */
"syscall", /* 389: syscall */
"lock", /* 390: lock */
"once", /* 391: once */
"custom", /* 392: unknown custom operator */
"reach", /* 393: each on reference */
"rkeys", /* 394: keys on reference */
"rvalues", /* 395: values on reference */
"coreargs", /* 396: CORE:: subroutine */
"runcv", /* 397: __SUB__ */
"fc", /* 398: fc */
"padcv", /* 399: private subroutine */
"introcv", /* 400: private subroutine */
"clonecv", /* 401: private subroutine */
"padrange", /* 402: list of private variables */
"refassign", /* 403: lvalue ref assignment */
"lvref", /* 404: lvalue ref assignment */
"lvrefslice", /* 405: lvalue ref assignment */
"lvavref", /* 406: lvalue array reference */
"anonconst", /* 407: anonymous constant */
"freed", /* 408: freed op */
};
#endif
#ifndef DOINIT
EXTCONST char* const PL_op_desc[];
#else
EXTCONST char* const PL_op_desc[] = {
"null operation", /* 0: null */
"stub", /* 1: stub */
"scalar", /* 2: scalar */
"pushmark", /* 3: pushmark */
"wantarray", /* 4: wantarray */
"constant item", /* 5: const */
"scalar variable", /* 6: gvsv */
"glob value", /* 7: gv */
"glob elem", /* 8: gelem */
"private variable", /* 9: padsv */
"private array", /* 10: padav */
"private hash", /* 11: padhv */
"private value", /* 12: padany */
"push regexp", /* 13: pushre */
"scalar assignment", /* 14: sassign */
"list assignment", /* 15: aassign */
"chop", /* 16: chop */
"scalar chop", /* 17: schop */
"chomp", /* 18: chomp */
"scalar chomp", /* 19: schomp */
"defined operator", /* 20: defined */
"undef operator", /* 21: undef */
"study", /* 22: study */
"match position", /* 23: pos */
"preincrement (++)", /* 24: preinc */
"integer preincrement (++)", /* 25: i_preinc */
"predecrement (--)", /* 26: predec */
"integer predecrement (--)", /* 27: i_predec */
"postincrement (++)", /* 28: postinc */
"integer postincrement (++)", /* 29: i_postinc */
"postdecrement (--)", /* 30: postdec */
"integer postdecrement (--)", /* 31: i_postdec */
"exponentiation (**)", /* 32: pow */
"multiplication (*)", /* 33: multiply */
"integer multiplication (*)", /* 34: i_multiply */
"iv+uv multiplication (+)", /* 35: u_multiply */
"division (/)", /* 36: divide */
"integer division (/)", /* 37: i_divide */
"modulus (%)", /* 38: modulo */
"integer modulus (%)", /* 39: i_modulo */
"repeat (x)", /* 40: repeat */
"addition (+)", /* 41: add */
"integer addition (+)", /* 42: i_add */
"iv+uv addition (+)", /* 43: u_add */
"subtraction (-)", /* 44: subtract */
"integer subtraction (-)", /* 45: i_subtract */
"iv+uv subtraction (-)", /* 46: u_subtract */
"concatenation (.) or string", /* 47: concat */
"string", /* 48: stringify */
"left bitshift (<<)", /* 49: left_shift */
"right bitshift (>>)", /* 50: right_shift */
"numeric lt (<)", /* 51: lt */
"integer lt (<)", /* 52: i_lt */
"numeric gt (>)", /* 53: gt */
"integer gt (>)", /* 54: i_gt */
"numeric le (<=)", /* 55: le */
"integer le (<=)", /* 56: i_le */
"numeric ge (>=)", /* 57: ge */
"integer ge (>=)", /* 58: i_ge */
"numeric eq (==)", /* 59: eq */
"integer eq (==)", /* 60: i_eq */
"numeric ne (!=)", /* 61: ne */
"integer ne (!=)", /* 62: i_ne */
"numeric comparison (<=>)", /* 63: cmp */
"integer comparison (<=>)", /* 64: i_cmp */
"string lt", /* 65: s_lt */
"string gt", /* 66: s_gt */
"string le", /* 67: s_le */
"string ge", /* 68: s_ge */
"string eq", /* 69: s_eq */
"string ne", /* 70: s_ne */
"string comparison (cmp)", /* 71: s_cmp */
"bitwise and (&)", /* 72: bit_and */
"bitwise xor (^)", /* 73: bit_xor */
"bitwise or (|)", /* 74: bit_or */
"integer bitwise and (&)", /* 75: i_bit_and */
"integer bitwise xor (^)", /* 76: i_bit_xor */
"integer bitwise or (|)", /* 77: i_bit_or */
"string bitiwse and (&)", /* 78: s_bit_and */
"string bitwise xor (^)", /* 79: s_bit_xor */
"string bitwise or (|)", /* 80: s_bit_or */
"negation (-)", /* 81: negate */
"integer negation (-)", /* 82: i_negate */
"not", /* 83: not */
"1's complement (~)", /* 84: complement */
"integer 1's complement (~)", /* 85: i_complement */
"string 1's complement (~)", /* 86: s_complement */
"smart match", /* 87: smartmatch */
"atan2", /* 88: atan2 */
"sin", /* 89: sin */
"cos", /* 90: cos */
"rand", /* 91: rand */
"srand", /* 92: srand */
"exp", /* 93: exp */
"log", /* 94: log */
"sqrt", /* 95: sqrt */
"int", /* 96: int */
"hex", /* 97: hex */
"oct", /* 98: oct */
"abs", /* 99: abs */
"ref-to-glob cast", /* 100: rv2gv */
"scalar dereference", /* 101: rv2sv */
"array length", /* 102: av2arylen */
"subroutine dereference", /* 103: rv2cv */
"anonymous subroutine", /* 104: anoncode */
"subroutine prototype", /* 105: prototype */
"reference constructor", /* 106: refgen */
"single ref constructor", /* 107: srefgen */
"reference-type operator", /* 108: ref */
"bless", /* 109: bless */
"quoted execution (``, qx)", /* 110: backtick */
"glob", /* 111: glob */
"<HANDLE>", /* 112: readline */
"append I/O operator", /* 113: rcatline */
"regexp internal guard", /* 114: regcmaybe */
"regexp internal reset", /* 115: regcreset */
"regexp compilation", /* 116: regcomp */
"pattern match (m//)", /* 117: match */
"pattern quote (qr//)", /* 118: qr */
"substitution (s///)", /* 119: subst */
"substitution iterator", /* 120: substcont */
"transliteration (tr///)", /* 121: trans */
"transliteration (tr///)", /* 122: transr */
"length", /* 123: length */
"substr", /* 124: substr */
"vec", /* 125: vec */
"index", /* 126: index */
"rindex", /* 127: rindex */
"sprintf", /* 128: sprintf */
"formline", /* 129: formline */
"ord", /* 130: ord */
"chr", /* 131: chr */
"crypt", /* 132: crypt */
"ucfirst", /* 133: ucfirst */
"lcfirst", /* 134: lcfirst */
"uc", /* 135: uc */
"lc", /* 136: lc */
"quotemeta", /* 137: quotemeta */
"array dereference", /* 138: rv2av */
"constant array element", /* 139: aelemfast */
"constant lexical array element", /* 140: aelemfast_lex */
"array element", /* 141: aelem */
"int array element", /* 142: i_aelem */
"num array element", /* 143: n_aelem */
"str array element", /* 144: s_aelem */
"unchecked constant aelem", /* 145: aelemfast_lex_u */
"unchecked aelem", /* 146: aelem_u */
"unchecked int aelem", /* 147: i_aelem_u */
"unchecked num aelem", /* 148: n_aelem_u */
"unchecked str aelem", /* 149: s_aelem_u */
"array slice", /* 150: aslice */
"index/value array slice", /* 151: kvaslice */
"each on array", /* 152: aeach */
"keys on array", /* 153: akeys */
"values on array", /* 154: avalues */
"each", /* 155: each */
"values", /* 156: values */
"keys", /* 157: keys */
"delete", /* 158: delete */
"exists", /* 159: exists */
"hash dereference", /* 160: rv2hv */
"hash element", /* 161: helem */
"hash slice", /* 162: hslice */
"key/value hash slice", /* 163: kvhslice */
"array or hash lookup", /* 164: multideref */
"unpack", /* 165: unpack */
"pack", /* 166: pack */
"split", /* 167: split */
"join or string", /* 168: join */
"list", /* 169: list */
"list slice", /* 170: lslice */
"anonymous array ([])", /* 171: anonlist */
"anonymous hash ({})", /* 172: anonhash */
"splice", /* 173: splice */
"push", /* 174: push */
"pop", /* 175: pop */
"shift", /* 176: shift */
"unshift", /* 177: unshift */
"sort", /* 178: sort */
"reverse", /* 179: reverse */
"grep", /* 180: grepstart */
"grep iterator", /* 181: grepwhile */
"map", /* 182: mapstart */
"map iterator", /* 183: mapwhile */
"flipflop", /* 184: range */
"range (or flip)", /* 185: flip */
"range (or flop)", /* 186: flop */
"logical and (&&)", /* 187: and */
"logical or (||)", /* 188: or */
"logical xor", /* 189: xor */
"defined or (//)", /* 190: dor */
"conditional expression", /* 191: cond_expr */
"logical and assignment (&&=)", /* 192: andassign */
"logical or assignment (||=)", /* 193: orassign */
"defined or assignment (//=)", /* 194: dorassign */
"method lookup", /* 195: method */
"subroutine entry", /* 196: entersub */
"XS subroutine entry", /* 197: enterxssub */
"subroutine exit", /* 198: leavesub */
"lvalue subroutine return", /* 199: leavesublv */
"caller", /* 200: caller */
"warn", /* 201: warn */
"die", /* 202: die */
"symbol reset", /* 203: reset */
"line sequence", /* 204: lineseq */
"next statement", /* 205: nextstate */
"debug next statement", /* 206: dbstate */
"iteration finalizer", /* 207: unstack */
"block entry", /* 208: enter */
"block exit", /* 209: leave */
"block", /* 210: scope */
"foreach loop entry", /* 211: enteriter */
"foreach loop iterator", /* 212: iter */
"loop entry", /* 213: enterloop */
"loop exit", /* 214: leaveloop */
"return", /* 215: return */
"last", /* 216: last */
"next", /* 217: next */
"redo", /* 218: redo */
"dump", /* 219: dump */
"goto", /* 220: goto */
"exit", /* 221: exit */
"named method", /* 222: method_named */
"named super method", /* 223: method_super */
"redirect named method", /* 224: method_redir */
"redirect named super", /* 225: method_redir_super */
"given()", /* 226: entergiven */
"leave given block", /* 227: leavegiven */
"when()", /* 228: enterwhen */
"leave when block", /* 229: leavewhen */
"break", /* 230: break */
"continue", /* 231: continue */
"open", /* 232: open */
"close", /* 233: close */
"pipe", /* 234: pipe_op */
"fileno", /* 235: fileno */
"umask", /* 236: umask */
"binmode", /* 237: binmode */
"tie", /* 238: tie */
"untie", /* 239: untie */
"tied", /* 240: tied */
"dbmopen", /* 241: dbmopen */
"dbmclose", /* 242: dbmclose */
"select system call", /* 243: sselect */
"select", /* 244: select */
"getc", /* 245: getc */
"read", /* 246: read */
"write", /* 247: enterwrite */
"write exit", /* 248: leavewrite */
"printf", /* 249: prtf */
"print", /* 250: print */
"say", /* 251: say */
"sysopen", /* 252: sysopen */
"sysseek", /* 253: sysseek */
"sysread", /* 254: sysread */
"syswrite", /* 255: syswrite */
"eof", /* 256: eof */
"tell", /* 257: tell */
"seek", /* 258: seek */
"truncate", /* 259: truncate */
"fcntl", /* 260: fcntl */
"ioctl", /* 261: ioctl */
"flock", /* 262: flock */
"send", /* 263: send */
"recv", /* 264: recv */
"socket", /* 265: socket */
"socketpair", /* 266: sockpair */
"bind", /* 267: bind */
"connect", /* 268: connect */
"listen", /* 269: listen */
"accept", /* 270: accept */
"shutdown", /* 271: shutdown */
"getsockopt", /* 272: gsockopt */
"setsockopt", /* 273: ssockopt */
"getsockname", /* 274: getsockname */
"getpeername", /* 275: getpeername */
"lstat", /* 276: lstat */
"stat", /* 277: stat */
"-R", /* 278: ftrread */
"-W", /* 279: ftrwrite */
"-X", /* 280: ftrexec */
"-r", /* 281: fteread */
"-w", /* 282: ftewrite */
"-x", /* 283: fteexec */
"-e", /* 284: ftis */
"-s", /* 285: ftsize */
"-M", /* 286: ftmtime */
"-A", /* 287: ftatime */
"-C", /* 288: ftctime */
"-O", /* 289: ftrowned */
"-o", /* 290: fteowned */
"-z", /* 291: ftzero */
"-S", /* 292: ftsock */
"-c", /* 293: ftchr */
"-b", /* 294: ftblk */
"-f", /* 295: ftfile */
"-d", /* 296: ftdir */
"-p", /* 297: ftpipe */
"-u", /* 298: ftsuid */
"-g", /* 299: ftsgid */
"-k", /* 300: ftsvtx */
"-l", /* 301: ftlink */
"-t", /* 302: fttty */
"-T", /* 303: fttext */
"-B", /* 304: ftbinary */
"chdir", /* 305: chdir */
"chown", /* 306: chown */
"chroot", /* 307: chroot */
"unlink", /* 308: unlink */
"chmod", /* 309: chmod */
"utime", /* 310: utime */
"rename", /* 311: rename */
"link", /* 312: link */
"symlink", /* 313: symlink */
"readlink", /* 314: readlink */
"mkdir", /* 315: mkdir */
"rmdir", /* 316: rmdir */
"opendir", /* 317: open_dir */
"readdir", /* 318: readdir */
"telldir", /* 319: telldir */
"seekdir", /* 320: seekdir */
"rewinddir", /* 321: rewinddir */
"closedir", /* 322: closedir */
"fork", /* 323: fork */
"wait", /* 324: wait */
"waitpid", /* 325: waitpid */
"system", /* 326: system */
"exec", /* 327: exec */
"kill", /* 328: kill */
"getppid", /* 329: getppid */
"getpgrp", /* 330: getpgrp */
"setpgrp", /* 331: setpgrp */
"getpriority", /* 332: getpriority */
"setpriority", /* 333: setpriority */
"time", /* 334: time */
"times", /* 335: tms */
"localtime", /* 336: localtime */
"gmtime", /* 337: gmtime */
"alarm", /* 338: alarm */
"sleep", /* 339: sleep */
"shmget", /* 340: shmget */
"shmctl", /* 341: shmctl */
"shmread", /* 342: shmread */
"shmwrite", /* 343: shmwrite */
"msgget", /* 344: msgget */
"msgctl", /* 345: msgctl */
"msgsnd", /* 346: msgsnd */
"msgrcv", /* 347: msgrcv */
"semop", /* 348: semop */
"semget", /* 349: semget */
"semctl", /* 350: semctl */
"require", /* 351: require */
"do \"file\"", /* 352: dofile */
"eval hints", /* 353: hintseval */
"eval \"string\"", /* 354: entereval */
"eval \"string\" exit", /* 355: leaveeval */
"eval {block}", /* 356: entertry */
"eval {block} exit", /* 357: leavetry */
"gethostbyname", /* 358: ghbyname */
"gethostbyaddr", /* 359: ghbyaddr */
"gethostent", /* 360: ghostent */
"getnetbyname", /* 361: gnbyname */
"getnetbyaddr", /* 362: gnbyaddr */
"getnetent", /* 363: gnetent */
"getprotobyname", /* 364: gpbyname */
"getprotobynumber", /* 365: gpbynumber */
"getprotoent", /* 366: gprotoent */
"getservbyname", /* 367: gsbyname */
"getservbyport", /* 368: gsbyport */
"getservent", /* 369: gservent */
"sethostent", /* 370: shostent */
"setnetent", /* 371: snetent */
"setprotoent", /* 372: sprotoent */
"setservent", /* 373: sservent */
"endhostent", /* 374: ehostent */
"endnetent", /* 375: enetent */
"endprotoent", /* 376: eprotoent */
"endservent", /* 377: eservent */
"getpwnam", /* 378: gpwnam */
"getpwuid", /* 379: gpwuid */
"getpwent", /* 380: gpwent */
"setpwent", /* 381: spwent */
"endpwent", /* 382: epwent */
"getgrnam", /* 383: ggrnam */
"getgrgid", /* 384: ggrgid */
"getgrent", /* 385: ggrent */
"setgrent", /* 386: sgrent */
"endgrent", /* 387: egrent */
"getlogin", /* 388: getlogin */
"syscall", /* 389: syscall */
"lock", /* 390: lock */
"once", /* 391: once */
"unknown custom operator", /* 392: custom */
"each on reference", /* 393: reach */
"keys on reference", /* 394: rkeys */
"values on reference", /* 395: rvalues */
"CORE:: subroutine", /* 396: coreargs */
"__SUB__", /* 397: runcv */
"fc", /* 398: fc */
"private subroutine", /* 399: padcv */
"private subroutine", /* 400: introcv */
"private subroutine", /* 401: clonecv */
"list of private variables", /* 402: padrange */
"lvalue ref assignment", /* 403: refassign */
"lvalue ref assignment", /* 404: lvref */
"lvalue ref assignment", /* 405: lvrefslice */
"lvalue array reference", /* 406: lvavref */
"anonymous constant", /* 407: anonconst */
"freed op", /* 408: freed */
};
#endif
/* core types */
typedef enum {
type_none = 0,
type_int = 1,
type_uint = 2,
type_num = 3,
type_str = 4,
type_Int = 5,
type_UInt = 6,
type_Num = 7,
type_Str = 8,
type_Bool = 9,
type_Numeric = 10,
type_Scalar = 11,
type_Ref = 12,
type_Sub = 13,
type_Array = 14,
type_Hash = 15,
type_List = 16,
type_Any = 17,
type_Void = 255,
} core_types_t;
#ifdef PERL_IN_OP_C
static const char* const
core_types_n[] = {
"",
"int",
"uint",
"num",
"str",
"Int",
"UInt",
"Num",
"Str",
"Bool",
"Numeric",
"Scalar",
"Ref",
"Sub",
"Array",
"Hash",
"List",
"Any",
"Void",
};
#ifdef DEBUGGING
static const char* const
PL_op_type_str[] = {
"():Void", /* 0: null */
"():Void", /* 1: stub */
"():Void", /* 2: scalar */
"():Void", /* 3: pushmark */
"", /* 4: wantarray */
"():Scalar", /* 5: const */
"():Scalar", /* 6: gvsv */
"():Scalar", /* 7: gv */
"", /* 8: gelem */
"():Scalar", /* 9: padsv */
"():Array", /* 10: padav */
"():Hash", /* 11: padhv */
"():Void", /* 12: padany */
"", /* 13: pushre */
"(:Scalar,:Scalar):Scalar", /* 14: sassign */
"(:List,:List):List", /* 15: aassign */
"(:List(:Str)):Scalar", /* 16: chop */
"(:Str):Int", /* 17: schop */
"(:List(:Str)):Scalar", /* 18: chomp */
"(:Str):Int", /* 19: schomp */
"", /* 20: defined */
"", /* 21: undef */
"", /* 22: study */
"", /* 23: pos */
"(:Scalar):Scalar", /* 24: preinc */
"(:Int):Int", /* 25: i_preinc */
"(:Scalar):Scalar", /* 26: predec */
"(:Int):Int", /* 27: i_predec */
"(:Scalar):Scalar", /* 28: postinc */
"(:Int):Int", /* 29: i_postinc */
"(:Scalar):Scalar", /* 30: postdec */
"(:Int):Int", /* 31: i_postdec */
"(:Numeric,:Numeric):Numeric", /* 32: pow */
"(:Numeric,:Numeric):Numeric", /* 33: multiply */
"(:Int,:Int):Int", /* 34: i_multiply */
"(:Int,:Int):UInt", /* 35: u_multiply */
"(:Numeric,:Numeric):Numeric", /* 36: divide */
"(:Int,:Int):Int", /* 37: i_divide */
"(:Numeric,:Numeric):Numeric", /* 38: modulo */
"(:Int,:Int):Int", /* 39: i_modulo */
"(:List,:Int):List", /* 40: repeat */
"(:Numeric,:Numeric):Numeric", /* 41: add */
"(:Int,:Int):Int", /* 42: i_add */
"(:Int,:Int):UInt", /* 43: u_add */
"(:Numeric,:Numeric):Numeric", /* 44: subtract */
"(:Int,:Int):Int", /* 45: i_subtract */
"(:Int,:Int):UInt", /* 46: u_subtract */
"(:Any,:Any):Str", /* 47: concat */
"(:Scalar):Str", /* 48: stringify */
"(:Int,:UInt):UInt", /* 49: left_shift */
"(:Int,:UInt):UInt", /* 50: right_shift */
"(:Scalar,:Scalar):Bool", /* 51: lt */
"(:Int,:Int):Bool", /* 52: i_lt */
"(:Scalar,:Scalar):Bool", /* 53: gt */
"(:Int,:Int):Bool", /* 54: i_gt */
"(:Scalar,:Scalar):Bool", /* 55: le */
"(:Int,:Int):Bool", /* 56: i_le */
"(:Scalar,:Scalar):Bool", /* 57: ge */
"(:Int,:Int):Bool", /* 58: i_ge */
"(:Scalar,:Scalar):Bool", /* 59: eq */
"(:Int,:Int):Bool", /* 60: i_eq */
"(:Scalar,:Scalar):Bool", /* 61: ne */
"(:Int,:Int):Bool", /* 62: i_ne */
"(:Scalar,:Scalar):Int", /* 63: cmp */
"(:Int,:Int):Int", /* 64: i_cmp */
"(:Str,:Str):Bool", /* 65: s_lt */
"(:Str,:Str):Bool", /* 66: s_gt */
"(:Str,:Str):Bool", /* 67: s_le */
"(:Str,:Str):Bool", /* 68: s_ge */
"(:Str,:Str):Bool", /* 69: s_eq */
"(:Str,:Str):Bool", /* 70: s_ne */
"(:Str,:Str):Int", /* 71: s_cmp */
"(:Scalar,:Scalar):Scalar", /* 72: bit_and */
"(:Scalar,:Scalar):Scalar", /* 73: bit_xor */
"(:Scalar,:Scalar):Scalar", /* 74: bit_or */
"(:Int,:Int):UInt", /* 75: i_bit_and */
"(:Int,:Int):UInt", /* 76: i_bit_xor */
"(:Int,:Int):UInt", /* 77: i_bit_or */
"(:Str,:Str):Str", /* 78: s_bit_and */
"(:Str,:Str):Str", /* 79: s_bit_xor */
"(:Str,:Str):Str", /* 80: s_bit_or */
"(:Numeric):Numeric", /* 81: negate */
"(:Int):Int", /* 82: i_negate */
"(:Scalar):Bool", /* 83: not */
"(:Scalar):Scalar", /* 84: complement */
"(:UInt):UInt", /* 85: i_complement */
"(:Str):Str", /* 86: s_complement */
"", /* 87: smartmatch */
"(:Num,:Num):Num", /* 88: atan2 */
"(:Num):Num", /* 89: sin */
"(:Num):Num", /* 90: cos */
"(:Num?):Num", /* 91: rand */
"(:Num?):Num", /* 92: srand */
"(:Num):Num", /* 93: exp */
"(:Num):Num", /* 94: log */
"(:Num):Num", /* 95: sqrt */
"(:Numeric):Numeric", /* 96: int */
"(:Numeric):UInt", /* 97: hex */
"(:Numeric):UInt", /* 98: oct */
"(:Numeric):Numeric", /* 99: abs */
"(:Ref):Scalar", /* 100: rv2gv */
"(:Ref):Scalar", /* 101: rv2sv */
"(:Array):Int", /* 102: av2arylen */
"(:Ref):Sub", /* 103: rv2cv */
"", /* 104: anoncode */
"", /* 105: prototype */
"", /* 106: refgen */
"", /* 107: srefgen */
"", /* 108: ref */
"", /* 109: bless */
"", /* 110: backtick */
"", /* 111: glob */
"(:Scalar):Any", /* 112: readline */
"", /* 113: rcatline */
"():Void", /* 114: regcmaybe */
"", /* 115: regcreset */
"", /* 116: regcomp */
"", /* 117: match */
"", /* 118: qr */
"", /* 119: subst */
"", /* 120: substcont */
"", /* 121: trans */
"", /* 122: transr */
"", /* 123: length */
"", /* 124: substr */
"", /* 125: vec */
"", /* 126: index */
"", /* 127: rindex */
"", /* 128: sprintf */
"", /* 129: formline */
"", /* 130: ord */
"", /* 131: chr */
"", /* 132: crypt */
"", /* 133: ucfirst */
"", /* 134: lcfirst */
"", /* 135: uc */
"", /* 136: lc */
"", /* 137: quotemeta */
"(:Ref):Hash", /* 138: rv2av */
"():Scalar", /* 139: aelemfast */
"():Scalar", /* 140: aelemfast_lex */
"(:Array(:Scalar),:Int):Scalar", /* 141: aelem */
"(:Array(:Int),:Int):Int", /* 142: i_aelem */
"(:Array(:Num),:Int):Num", /* 143: n_aelem */
"(:Array(:Str),:Int):Str", /* 144: s_aelem */
"():Scalar", /* 145: aelemfast_lex_u */
"(:Array(:Scalar),:Int):Scalar", /* 146: aelem_u */
"(:Array(:Int),:Int):Int", /* 147: i_aelem_u */
"(:Array(:Num),:Int):Num", /* 148: n_aelem_u */
"(:Array(:Str),:Int):Str", /* 149: s_aelem_u */
"", /* 150: aslice */
"", /* 151: kvaslice */
"", /* 152: aeach */
"", /* 153: akeys */
"", /* 154: avalues */
"", /* 155: each */
"", /* 156: values */
"", /* 157: keys */
"(:Str):Void", /* 158: delete */
"(:Str):Bool", /* 159: exists */
"(:Ref):Hash", /* 160: rv2hv */
"(:Hash(:Scalar)):Scalar", /* 161: helem */
"", /* 162: hslice */
"", /* 163: kvhslice */
"", /* 164: multideref */
"", /* 165: unpack */
"", /* 166: pack */
"", /* 167: split */
"", /* 168: join */
"", /* 169: list */
"", /* 170: lslice */
"", /* 171: anonlist */
"", /* 172: anonhash */
"", /* 173: splice */
"", /* 174: push */
"", /* 175: pop */
"", /* 176: shift */
"", /* 177: unshift */
"", /* 178: sort */
"", /* 179: reverse */
"", /* 180: grepstart */
"", /* 181: grepwhile */
"", /* 182: mapstart */
"", /* 183: mapwhile */
"", /* 184: range */
"", /* 185: flip */
"", /* 186: flop */
"(:Scalar,:Scalar):Void", /* 187: and */
"", /* 188: or */
"", /* 189: xor */
"", /* 190: dor */
"(:Scalar):Void", /* 191: cond_expr */
"", /* 192: andassign */
"", /* 193: orassign */
"", /* 194: dorassign */
"", /* 195: method */
"", /* 196: entersub */
"", /* 197: enterxssub */
"", /* 198: leavesub */
"", /* 199: leavesublv */
"", /* 200: caller */
"", /* 201: warn */
"", /* 202: die */
"", /* 203: reset */
"():Void", /* 204: lineseq */
"():Void", /* 205: nextstate */
"():Void", /* 206: dbstate */
"():Void", /* 207: unstack */
"", /* 208: enter */
"", /* 209: leave */
"():Void", /* 210: scope */
"", /* 211: enteriter */
"", /* 212: iter */
"", /* 213: enterloop */
"", /* 214: leaveloop */
"", /* 215: return */
"", /* 216: last */
"", /* 217: next */
"", /* 218: redo */
"", /* 219: dump */
"", /* 220: goto */
"", /* 221: exit */
"", /* 222: method_named */
"", /* 223: method_super */
"", /* 224: method_redir */
"", /* 225: method_redir_super */
"", /* 226: entergiven */
"", /* 227: leavegiven */
"", /* 228: enterwhen */
"", /* 229: leavewhen */
"", /* 230: break */
"", /* 231: continue */
"", /* 232: open */
"", /* 233: close */
"", /* 234: pipe_op */
"", /* 235: fileno */
"", /* 236: umask */
"", /* 237: binmode */
"", /* 238: tie */
"", /* 239: untie */
"", /* 240: tied */
"", /* 241: dbmopen */
"", /* 242: dbmclose */
"", /* 243: sselect */
"", /* 244: select */
"", /* 245: getc */
"", /* 246: read */
"", /* 247: enterwrite */
"", /* 248: leavewrite */
"", /* 249: prtf */
"", /* 250: print */
"", /* 251: say */
"", /* 252: sysopen */
"", /* 253: sysseek */
"", /* 254: sysread */
"", /* 255: syswrite */
"", /* 256: eof */
"", /* 257: tell */
"", /* 258: seek */
"", /* 259: truncate */
"", /* 260: fcntl */
"", /* 261: ioctl */
"", /* 262: flock */
"", /* 263: send */
"", /* 264: recv */
"", /* 265: socket */
"", /* 266: sockpair */
"", /* 267: bind */
"", /* 268: connect */
"", /* 269: listen */
"", /* 270: accept */
"", /* 271: shutdown */
"", /* 272: gsockopt */
"", /* 273: ssockopt */
"", /* 274: getsockname */
"", /* 275: getpeername */
"", /* 276: lstat */
"", /* 277: stat */
"", /* 278: ftrread */
"", /* 279: ftrwrite */
"", /* 280: ftrexec */
"", /* 281: fteread */
"", /* 282: ftewrite */
"", /* 283: fteexec */
"", /* 284: ftis */
"", /* 285: ftsize */
"", /* 286: ftmtime */
"", /* 287: ftatime */
"", /* 288: ftctime */
"", /* 289: ftrowned */
"", /* 290: fteowned */
"", /* 291: ftzero */
"", /* 292: ftsock */
"", /* 293: ftchr */
"", /* 294: ftblk */
"", /* 295: ftfile */
"", /* 296: ftdir */
"", /* 297: ftpipe */
"", /* 298: ftsuid */
"", /* 299: ftsgid */
"", /* 300: ftsvtx */
"", /* 301: ftlink */
"", /* 302: fttty */
"", /* 303: fttext */
"", /* 304: ftbinary */
"", /* 305: chdir */
"", /* 306: chown */
"", /* 307: chroot */
"", /* 308: unlink */
"", /* 309: chmod */
"", /* 310: utime */
"", /* 311: rename */
"", /* 312: link */
"", /* 313: symlink */
"", /* 314: readlink */
"", /* 315: mkdir */
"", /* 316: rmdir */
"", /* 317: open_dir */
"", /* 318: readdir */
"", /* 319: telldir */
"", /* 320: seekdir */
"", /* 321: rewinddir */
"", /* 322: closedir */
"", /* 323: fork */
"", /* 324: wait */
"", /* 325: waitpid */
"", /* 326: system */
"", /* 327: exec */
"", /* 328: kill */
"", /* 329: getppid */
"", /* 330: getpgrp */
"", /* 331: setpgrp */
"", /* 332: getpriority */
"", /* 333: setpriority */
"", /* 334: time */
"", /* 335: tms */
"", /* 336: localtime */
"", /* 337: gmtime */
"", /* 338: alarm */
"", /* 339: sleep */
"", /* 340: shmget */
"", /* 341: shmctl */
"", /* 342: shmread */
"", /* 343: shmwrite */
"", /* 344: msgget */
"", /* 345: msgctl */
"", /* 346: msgsnd */
"", /* 347: msgrcv */
"", /* 348: semop */
"", /* 349: semget */
"", /* 350: semctl */
"", /* 351: require */
"", /* 352: dofile */
"", /* 353: hintseval */
"", /* 354: entereval */
"", /* 355: leaveeval */
"", /* 356: entertry */
"", /* 357: leavetry */
"", /* 358: ghbyname */
"", /* 359: ghbyaddr */
"", /* 360: ghostent */
"", /* 361: gnbyname */
"", /* 362: gnbyaddr */
"", /* 363: gnetent */
"", /* 364: gpbyname */
"", /* 365: gpbynumber */
"", /* 366: gprotoent */
"", /* 367: gsbyname */
"", /* 368: gsbyport */
"", /* 369: gservent */
"", /* 370: shostent */
"", /* 371: snetent */
"", /* 372: sprotoent */
"", /* 373: sservent */
"", /* 374: ehostent */
"", /* 375: enetent */
"", /* 376: eprotoent */
"", /* 377: eservent */
"", /* 378: gpwnam */
"", /* 379: gpwuid */
"", /* 380: gpwent */
"", /* 381: spwent */
"", /* 382: epwent */
"", /* 383: ggrnam */
"", /* 384: ggrgid */
"", /* 385: ggrent */
"", /* 386: sgrent */
"", /* 387: egrent */
"", /* 388: getlogin */
"", /* 389: syscall */
"", /* 390: lock */
"", /* 391: once */
"", /* 392: custom */
"", /* 393: reach */
"", /* 394: rkeys */
"", /* 395: rvalues */
"", /* 396: coreargs */
"", /* 397: runcv */
"", /* 398: fc */
"", /* 399: padcv */
"", /* 400: introcv */
"", /* 401: clonecv */
"", /* 402: padrange */
"", /* 403: refassign */
"", /* 404: lvref */
"", /* 405: lvrefslice */
"", /* 406: lvavref */
"", /* 407: anonconst */
"", /* 408: freed */
};
#endif /* !DEBUGGING */
#endif /* !PERL_IN_OP_C */
#define CORETYPE_OR_UNDEF 0x60
#define CORETYPE_LIST_AGGR 0xa0
#define CORETYPE_ARRAY_AGGR 0x20
#define CORETYPE_HASH_AGGR 0xc0
#define CORETYPE_OPTIONAL 0xe0
#ifndef DOINIT
EXTCONST U32 PL_op_type[];
#else
EXTCONST U32 PL_op_type[] = {
0xffffffff, /* 0: null "():Void" */
0xffffffff, /* 1: stub "():Void" */
0xffffffff, /* 2: scalar "():Void" */
0xffffffff, /* 3: pushmark "():Void" */
0xffffffff, /* 4: wantarray "" */
0xffffff0b, /* 5: const "():Scalar" */
0xffffff0b, /* 6: gvsv "():Scalar" */
0xffffff0b, /* 7: gv "():Scalar" */
0xffffffff, /* 8: gelem "" */
0xffffff0b, /* 9: padsv "():Scalar" */
0xffffff0e, /* 10: padav "():Array" */
0xffffff0f, /* 11: padhv "():Hash" */
0xffffffff, /* 12: padany "():Void" */
0xffffffff, /* 13: pushre "" */
0x0b0bff0b, /* 14: sassign "(:Scalar,:Scalar):Scalar" */
0x1010ff10, /* 15: aassign "(:List,:List):List" */
0xa8ffff0b, /* 16: chop "(:List(:Str)):Scalar" */
0x08ffff05, /* 17: schop "(:Str):Int" */
0xa8ffff0b, /* 18: chomp "(:List(:Str)):Scalar" */
0x08ffff05, /* 19: schomp "(:Str):Int" */
0xffffffff, /* 20: defined "" */
0xffffffff, /* 21: undef "" */
0xffffffff, /* 22: study "" */
0xffffffff, /* 23: pos "" */
0x0bffff0b, /* 24: preinc "(:Scalar):Scalar" */
0x05ffff05, /* 25: i_preinc "(:Int):Int" */
0x0bffff0b, /* 26: predec "(:Scalar):Scalar" */
0x05ffff05, /* 27: i_predec "(:Int):Int" */
0x0bffff0b, /* 28: postinc "(:Scalar):Scalar" */
0x05ffff05, /* 29: i_postinc "(:Int):Int" */
0x0bffff0b, /* 30: postdec "(:Scalar):Scalar" */
0x05ffff05, /* 31: i_postdec "(:Int):Int" */
0x0a0aff0a, /* 32: pow "(:Numeric,:Numeric):Numeric" */
0x0a0aff0a, /* 33: multiply "(:Numeric,:Numeric):Numeric" */
0x0505ff05, /* 34: i_multiply "(:Int,:Int):Int" */
0x0505ff06, /* 35: u_multiply "(:Int,:Int):UInt" */
0x0a0aff0a, /* 36: divide "(:Numeric,:Numeric):Numeric" */
0x0505ff05, /* 37: i_divide "(:Int,:Int):Int" */
0x0a0aff0a, /* 38: modulo "(:Numeric,:Numeric):Numeric" */
0x0505ff05, /* 39: i_modulo "(:Int,:Int):Int" */
0x1005ff10, /* 40: repeat "(:List,:Int):List" */
0x0a0aff0a, /* 41: add "(:Numeric,:Numeric):Numeric" */
0x0505ff05, /* 42: i_add "(:Int,:Int):Int" */
0x0505ff06, /* 43: u_add "(:Int,:Int):UInt" */
0x0a0aff0a, /* 44: subtract "(:Numeric,:Numeric):Numeric" */
0x0505ff05, /* 45: i_subtract "(:Int,:Int):Int" */
0x0505ff06, /* 46: u_subtract "(:Int,:Int):UInt" */
0x1111ff08, /* 47: concat "(:Any,:Any):Str" */
0x0bffff08, /* 48: stringify "(:Scalar):Str" */
0x0506ff06, /* 49: left_shift "(:Int,:UInt):UInt" */
0x0506ff06, /* 50: right_shift "(:Int,:UInt):UInt" */
0x0b0bff09, /* 51: lt "(:Scalar,:Scalar):Bool" */
0x0505ff09, /* 52: i_lt "(:Int,:Int):Bool" */
0x0b0bff09, /* 53: gt "(:Scalar,:Scalar):Bool" */
0x0505ff09, /* 54: i_gt "(:Int,:Int):Bool" */
0x0b0bff09, /* 55: le "(:Scalar,:Scalar):Bool" */
0x0505ff09, /* 56: i_le "(:Int,:Int):Bool" */
0x0b0bff09, /* 57: ge "(:Scalar,:Scalar):Bool" */
0x0505ff09, /* 58: i_ge "(:Int,:Int):Bool" */
0x0b0bff09, /* 59: eq "(:Scalar,:Scalar):Bool" */
0x0505ff09, /* 60: i_eq "(:Int,:Int):Bool" */
0x0b0bff09, /* 61: ne "(:Scalar,:Scalar):Bool" */
0x0505ff09, /* 62: i_ne "(:Int,:Int):Bool" */
0x0b0bff05, /* 63: cmp "(:Scalar,:Scalar):Int" */
0x0505ff05, /* 64: i_cmp "(:Int,:Int):Int" */
0x0808ff09, /* 65: s_lt "(:Str,:Str):Bool" */
0x0808ff09, /* 66: s_gt "(:Str,:Str):Bool" */
0x0808ff09, /* 67: s_le "(:Str,:Str):Bool" */
0x0808ff09, /* 68: s_ge "(:Str,:Str):Bool" */
0x0808ff09, /* 69: s_eq "(:Str,:Str):Bool" */
0x0808ff09, /* 70: s_ne "(:Str,:Str):Bool" */
0x0808ff05, /* 71: s_cmp "(:Str,:Str):Int" */
0x0b0bff0b, /* 72: bit_and "(:Scalar,:Scalar):Scalar" */
0x0b0bff0b, /* 73: bit_xor "(:Scalar,:Scalar):Scalar" */
0x0b0bff0b, /* 74: bit_or "(:Scalar,:Scalar):Scalar" */
0x0505ff06, /* 75: i_bit_and "(:Int,:Int):UInt" */
0x0505ff06, /* 76: i_bit_xor "(:Int,:Int):UInt" */
0x0505ff06, /* 77: i_bit_or "(:Int,:Int):UInt" */
0x0808ff08, /* 78: s_bit_and "(:Str,:Str):Str" */
0x0808ff08, /* 79: s_bit_xor "(:Str,:Str):Str" */
0x0808ff08, /* 80: s_bit_or "(:Str,:Str):Str" */
0x0affff0a, /* 81: negate "(:Numeric):Numeric" */
0x05ffff05, /* 82: i_negate "(:Int):Int" */
0x0bffff09, /* 83: not "(:Scalar):Bool" */
0x0bffff0b, /* 84: complement "(:Scalar):Scalar" */
0x06ffff06, /* 85: i_complement "(:UInt):UInt" */
0x08ffff08, /* 86: s_complement "(:Str):Str" */
0xffffffff, /* 87: smartmatch "" */
0x0707ff07, /* 88: atan2 "(:Num,:Num):Num" */
0x07ffff07, /* 89: sin "(:Num):Num" */
0x07ffff07, /* 90: cos "(:Num):Num" */
0xe7ffff07, /* 91: rand "(:Num?):Num" */
0xe7ffff07, /* 92: srand "(:Num?):Num" */
0x07ffff07, /* 93: exp "(:Num):Num" */
0x07ffff07, /* 94: log "(:Num):Num" */
0x07ffff07, /* 95: sqrt "(:Num):Num" */
0x0affff0a, /* 96: int "(:Numeric):Numeric" */
0x0affff06, /* 97: hex "(:Numeric):UInt" */
0x0affff06, /* 98: oct "(:Numeric):UInt" */
0x0affff0a, /* 99: abs "(:Numeric):Numeric" */
0x0cffff0b, /* 100: rv2gv "(:Ref):Scalar" */
0x0cffff0b, /* 101: rv2sv "(:Ref):Scalar" */
0x0effff05, /* 102: av2arylen "(:Array):Int" */
0x0cffff0d, /* 103: rv2cv "(:Ref):Sub" */
0xffffffff, /* 104: anoncode "" */
0xffffffff, /* 105: prototype "" */
0xffffffff, /* 106: refgen "" */
0xffffffff, /* 107: srefgen "" */
0xffffffff, /* 108: ref "" */
0xffffffff, /* 109: bless "" */
0xffffffff, /* 110: backtick "" */
0xffffffff, /* 111: glob "" */
0x0bffff11, /* 112: readline "(:Scalar):Any" */
0xffffffff, /* 113: rcatline "" */
0xffffffff, /* 114: regcmaybe "():Void" */
0xffffffff, /* 115: regcreset "" */
0xffffffff, /* 116: regcomp "" */
0xffffffff, /* 117: match "" */
0xffffffff, /* 118: qr "" */
0xffffffff, /* 119: subst "" */
0xffffffff, /* 120: substcont "" */
0xffffffff, /* 121: trans "" */
0xffffffff, /* 122: transr "" */
0xffffffff, /* 123: length "" */
0xffffffff, /* 124: substr "" */
0xffffffff, /* 125: vec "" */
0xffffffff, /* 126: index "" */
0xffffffff, /* 127: rindex "" */
0xffffffff, /* 128: sprintf "" */
0xffffffff, /* 129: formline "" */
0xffffffff, /* 130: ord "" */
0xffffffff, /* 131: chr "" */
0xffffffff, /* 132: crypt "" */
0xffffffff, /* 133: ucfirst "" */
0xffffffff, /* 134: lcfirst "" */
0xffffffff, /* 135: uc "" */
0xffffffff, /* 136: lc "" */
0xffffffff, /* 137: quotemeta "" */
0x0cffff0f, /* 138: rv2av "(:Ref):Hash" */
0xffffff0b, /* 139: aelemfast "():Scalar" */
0xffffff0b, /* 140: aelemfast_lex "():Scalar" */
0x2b05ff0b, /* 141: aelem "(:Array(:Scalar),:Int):Scalar" */
0x2505ff05, /* 142: i_aelem "(:Array(:Int),:Int):Int" */
0x2705ff07, /* 143: n_aelem "(:Array(:Num),:Int):Num" */
0x2805ff08, /* 144: s_aelem "(:Array(:Str),:Int):Str" */
0xffffff0b, /* 145: aelemfast_lex_u "():Scalar" */
0x2b05ff0b, /* 146: aelem_u "(:Array(:Scalar),:Int):Scalar" */
0x2505ff05, /* 147: i_aelem_u "(:Array(:Int),:Int):Int" */
0x2705ff07, /* 148: n_aelem_u "(:Array(:Num),:Int):Num" */
0x2805ff08, /* 149: s_aelem_u "(:Array(:Str),:Int):Str" */
0xffffffff, /* 150: aslice "" */
0xffffffff, /* 151: kvaslice "" */
0xffffffff, /* 152: aeach "" */
0xffffffff, /* 153: akeys "" */
0xffffffff, /* 154: avalues "" */
0xffffffff, /* 155: each "" */
0xffffffff, /* 156: values "" */
0xffffffff, /* 157: keys "" */
0x08ffffff, /* 158: delete "(:Str):Void" */
0x08ffff09, /* 159: exists "(:Str):Bool" */
0x0cffff0f, /* 160: rv2hv "(:Ref):Hash" */
0xcbffff0b, /* 161: helem "(:Hash(:Scalar)):Scalar" */
0xffffffff, /* 162: hslice "" */
0xffffffff, /* 163: kvhslice "" */
0xffffffff, /* 164: multideref "" */
0xffffffff, /* 165: unpack "" */
0xffffffff, /* 166: pack "" */
0xffffffff, /* 167: split "" */
0xffffffff, /* 168: join "" */
0xffffffff, /* 169: list "" */
0xffffffff, /* 170: lslice "" */
0xffffffff, /* 171: anonlist "" */
0xffffffff, /* 172: anonhash "" */
0xffffffff, /* 173: splice "" */
0xffffffff, /* 174: push "" */
0xffffffff, /* 175: pop "" */
0xffffffff, /* 176: shift "" */
0xffffffff, /* 177: unshift "" */
0xffffffff, /* 178: sort "" */
0xffffffff, /* 179: reverse "" */
0xffffffff, /* 180: grepstart "" */
0xffffffff, /* 181: grepwhile "" */
0xffffffff, /* 182: mapstart "" */
0xffffffff, /* 183: mapwhile "" */
0xffffffff, /* 184: range "" */
0xffffffff, /* 185: flip "" */
0xffffffff, /* 186: flop "" */
0x0b0bffff, /* 187: and "(:Scalar,:Scalar):Void" */
0xffffffff, /* 188: or "" */
0xffffffff, /* 189: xor "" */
0xffffffff, /* 190: dor "" */
0x0bffffff, /* 191: cond_expr "(:Scalar):Void" */
0xffffffff, /* 192: andassign "" */
0xffffffff, /* 193: orassign "" */
0xffffffff, /* 194: dorassign "" */
0xffffffff, /* 195: method "" */
0xffffffff, /* 196: entersub "" */
0xffffffff, /* 197: enterxssub "" */
0xffffffff, /* 198: leavesub "" */
0xffffffff, /* 199: leavesublv "" */
0xffffffff, /* 200: caller "" */
0xffffffff, /* 201: warn "" */
0xffffffff, /* 202: die "" */
0xffffffff, /* 203: reset "" */
0xffffffff, /* 204: lineseq "():Void" */
0xffffffff, /* 205: nextstate "():Void" */
0xffffffff, /* 206: dbstate "():Void" */
0xffffffff, /* 207: unstack "():Void" */
0xffffffff, /* 208: enter "" */
0xffffffff, /* 209: leave "" */
0xffffffff, /* 210: scope "():Void" */
0xffffffff, /* 211: enteriter "" */
0xffffffff, /* 212: iter "" */
0xffffffff, /* 213: enterloop "" */
0xffffffff, /* 214: leaveloop "" */
0xffffffff, /* 215: return "" */
0xffffffff, /* 216: last "" */
0xffffffff, /* 217: next "" */
0xffffffff, /* 218: redo "" */
0xffffffff, /* 219: dump "" */
0xffffffff, /* 220: goto "" */
0xffffffff, /* 221: exit "" */
0xffffffff, /* 222: method_named "" */
0xffffffff, /* 223: method_super "" */
0xffffffff, /* 224: method_redir "" */
0xffffffff, /* 225: method_redir_super "" */
0xffffffff, /* 226: entergiven "" */
0xffffffff, /* 227: leavegiven "" */
0xffffffff, /* 228: enterwhen "" */
0xffffffff, /* 229: leavewhen "" */
0xffffffff, /* 230: break "" */
0xffffffff, /* 231: continue "" */
0xffffffff, /* 232: open "" */
0xffffffff, /* 233: close "" */
0xffffffff, /* 234: pipe_op "" */
0xffffffff, /* 235: fileno "" */
0xffffffff, /* 236: umask "" */
0xffffffff, /* 237: binmode "" */
0xffffffff, /* 238: tie "" */
0xffffffff, /* 239: untie "" */
0xffffffff, /* 240: tied "" */
0xffffffff, /* 241: dbmopen "" */
0xffffffff, /* 242: dbmclose "" */
0xffffffff, /* 243: sselect "" */
0xffffffff, /* 244: select "" */
0xffffffff, /* 245: getc "" */
0xffffffff, /* 246: read "" */
0xffffffff, /* 247: enterwrite "" */
0xffffffff, /* 248: leavewrite "" */
0xffffffff, /* 249: prtf "" */
0xffffffff, /* 250: print "" */
0xffffffff, /* 251: say "" */
0xffffffff, /* 252: sysopen "" */
0xffffffff, /* 253: sysseek "" */
0xffffffff, /* 254: sysread "" */
0xffffffff, /* 255: syswrite "" */
0xffffffff, /* 256: eof "" */
0xffffffff, /* 257: tell "" */
0xffffffff, /* 258: seek "" */
0xffffffff, /* 259: truncate "" */
0xffffffff, /* 260: fcntl "" */
0xffffffff, /* 261: ioctl "" */
0xffffffff, /* 262: flock "" */
0xffffffff, /* 263: send "" */
0xffffffff, /* 264: recv "" */
0xffffffff, /* 265: socket "" */
0xffffffff, /* 266: sockpair "" */
0xffffffff, /* 267: bind "" */
0xffffffff, /* 268: connect "" */
0xffffffff, /* 269: listen "" */
0xffffffff, /* 270: accept "" */
0xffffffff, /* 271: shutdown "" */
0xffffffff, /* 272: gsockopt "" */
0xffffffff, /* 273: ssockopt "" */
0xffffffff, /* 274: getsockname "" */
0xffffffff, /* 275: getpeername "" */
0xffffffff, /* 276: lstat "" */
0xffffffff, /* 277: stat "" */
0xffffffff, /* 278: ftrread "" */
0xffffffff, /* 279: ftrwrite "" */
0xffffffff, /* 280: ftrexec "" */
0xffffffff, /* 281: fteread "" */
0xffffffff, /* 282: ftewrite "" */
0xffffffff, /* 283: fteexec "" */
0xffffffff, /* 284: ftis "" */
0xffffffff, /* 285: ftsize "" */
0xffffffff, /* 286: ftmtime "" */
0xffffffff, /* 287: ftatime "" */
0xffffffff, /* 288: ftctime "" */
0xffffffff, /* 289: ftrowned "" */
0xffffffff, /* 290: fteowned "" */
0xffffffff, /* 291: ftzero "" */
0xffffffff, /* 292: ftsock "" */
0xffffffff, /* 293: ftchr "" */
0xffffffff, /* 294: ftblk "" */
0xffffffff, /* 295: ftfile "" */
0xffffffff, /* 296: ftdir "" */
0xffffffff, /* 297: ftpipe "" */
0xffffffff, /* 298: ftsuid "" */
0xffffffff, /* 299: ftsgid "" */
0xffffffff, /* 300: ftsvtx "" */
0xffffffff, /* 301: ftlink "" */
0xffffffff, /* 302: fttty "" */
0xffffffff, /* 303: fttext "" */
0xffffffff, /* 304: ftbinary "" */
0xffffffff, /* 305: chdir "" */
0xffffffff, /* 306: chown "" */
0xffffffff, /* 307: chroot "" */
0xffffffff, /* 308: unlink "" */
0xffffffff, /* 309: chmod "" */
0xffffffff, /* 310: utime "" */
0xffffffff, /* 311: rename "" */
0xffffffff, /* 312: link "" */
0xffffffff, /* 313: symlink "" */
0xffffffff, /* 314: readlink "" */
0xffffffff, /* 315: mkdir "" */
0xffffffff, /* 316: rmdir "" */
0xffffffff, /* 317: open_dir "" */
0xffffffff, /* 318: readdir "" */
0xffffffff, /* 319: telldir "" */
0xffffffff, /* 320: seekdir "" */
0xffffffff, /* 321: rewinddir "" */
0xffffffff, /* 322: closedir "" */
0xffffffff, /* 323: fork "" */
0xffffffff, /* 324: wait "" */
0xffffffff, /* 325: waitpid "" */
0xffffffff, /* 326: system "" */
0xffffffff, /* 327: exec "" */
0xffffffff, /* 328: kill "" */
0xffffffff, /* 329: getppid "" */
0xffffffff, /* 330: getpgrp "" */
0xffffffff, /* 331: setpgrp "" */
0xffffffff, /* 332: getpriority "" */
0xffffffff, /* 333: setpriority "" */
0xffffffff, /* 334: time "" */
0xffffffff, /* 335: tms "" */
0xffffffff, /* 336: localtime "" */
0xffffffff, /* 337: gmtime "" */
0xffffffff, /* 338: alarm "" */
0xffffffff, /* 339: sleep "" */
0xffffffff, /* 340: shmget "" */
0xffffffff, /* 341: shmctl "" */
0xffffffff, /* 342: shmread "" */
0xffffffff, /* 343: shmwrite "" */
0xffffffff, /* 344: msgget "" */
0xffffffff, /* 345: msgctl "" */
0xffffffff, /* 346: msgsnd "" */
0xffffffff, /* 347: msgrcv "" */
0xffffffff, /* 348: semop "" */
0xffffffff, /* 349: semget "" */
0xffffffff, /* 350: semctl "" */
0xffffffff, /* 351: require "" */
0xffffffff, /* 352: dofile "" */
0xffffffff, /* 353: hintseval "" */
0xffffffff, /* 354: entereval "" */
0xffffffff, /* 355: leaveeval "" */
0xffffffff, /* 356: entertry "" */
0xffffffff, /* 357: leavetry "" */
0xffffffff, /* 358: ghbyname "" */
0xffffffff, /* 359: ghbyaddr "" */
0xffffffff, /* 360: ghostent "" */
0xffffffff, /* 361: gnbyname "" */
0xffffffff, /* 362: gnbyaddr "" */
0xffffffff, /* 363: gnetent "" */
0xffffffff, /* 364: gpbyname "" */
0xffffffff, /* 365: gpbynumber "" */
0xffffffff, /* 366: gprotoent "" */
0xffffffff, /* 367: gsbyname "" */
0xffffffff, /* 368: gsbyport "" */
0xffffffff, /* 369: gservent "" */
0xffffffff, /* 370: shostent "" */
0xffffffff, /* 371: snetent "" */
0xffffffff, /* 372: sprotoent "" */
0xffffffff, /* 373: sservent "" */
0xffffffff, /* 374: ehostent "" */
0xffffffff, /* 375: enetent "" */
0xffffffff, /* 376: eprotoent "" */
0xffffffff, /* 377: eservent "" */
0xffffffff, /* 378: gpwnam "" */
0xffffffff, /* 379: gpwuid "" */
0xffffffff, /* 380: gpwent "" */
0xffffffff, /* 381: spwent "" */
0xffffffff, /* 382: epwent "" */
0xffffffff, /* 383: ggrnam "" */
0xffffffff, /* 384: ggrgid "" */
0xffffffff, /* 385: ggrent "" */
0xffffffff, /* 386: sgrent "" */
0xffffffff, /* 387: egrent "" */
0xffffffff, /* 388: getlogin "" */
0xffffffff, /* 389: syscall "" */
0xffffffff, /* 390: lock "" */
0xffffffff, /* 391: once "" */
0xffffffff, /* 392: custom "" */
0xffffffff, /* 393: reach "" */
0xffffffff, /* 394: rkeys "" */
0xffffffff, /* 395: rvalues "" */
0xffffffff, /* 396: coreargs "" */
0xffffffff, /* 397: runcv "" */
0xffffffff, /* 398: fc "" */
0xffffffff, /* 399: padcv "" */
0xffffffff, /* 400: introcv "" */
0xffffffff, /* 401: clonecv "" */
0xffffffff, /* 402: padrange "" */
0xffffffff, /* 403: refassign "" */
0xffffffff, /* 404: lvref "" */
0xffffffff, /* 405: lvrefslice "" */
0xffffffff, /* 406: lvavref "" */
0xffffffff, /* 407: anonconst "" */
0xffffffff, /* 408: freed "" */
};
#endif
/* This encodes the offsets as signed char of the typed variants for each op.
* The first byte is the number of following bytes, max 8.
* variants: u_ i_ n_ s_ int_ uint_ num_ str_
* Note that currently only forward types to upgrade to are stored, no negative offsets
* for downgrading types.
*/
#ifndef DOINIT
EXTCONST signed char PL_op_type_variants[][8];
#else
EXTCONST signed char PL_op_type_variants[][8] = {
/* 0 null */ {0}, /* */
/* 1 stub */ {0}, /* */
/* 2 scalar */ {0}, /* */
/* 3 pushmark */ {0}, /* */
/* 4 wantarray */ {0}, /* */
/* 5 const */ {0}, /* */
/* 6 gvsv */ {0}, /* */
/* 7 gv */ {0}, /* */
/* 8 gelem */ {0}, /* */
/* 9 padsv */ {0}, /* */
/* 10 padav */ {0}, /* */
/* 11 padhv */ {0}, /* */
/* 12 padany */ {0}, /* */
/* 13 pushre */ {0}, /* */
/* 14 sassign */ {0}, /* */
/* 15 aassign */ {0}, /* */
/* 16 chop */ {0}, /* */
/* 17 schop */ {0}, /* */
/* 18 chomp */ {0}, /* */
/* 19 schomp */ {0}, /* */
/* 20 defined */ {0}, /* */
/* 21 undef */ {0}, /* */
/* 22 study */ {0}, /* */
/* 23 pos */ {0}, /* */
/* 24 preinc */ {1,1}, /* i_preinc:25 */
/* 25 i_preinc */ {0}, /* */
/* 26 predec */ {1,1}, /* i_predec:27 */
/* 27 i_predec */ {0}, /* */
/* 28 postinc */ {1,1}, /* i_postinc:29 */
/* 29 i_postinc */ {0}, /* */
/* 30 postdec */ {1,1}, /* i_postdec:31 */
/* 31 i_postdec */ {0}, /* */
/* 32 pow */ {0}, /* */
/* 33 multiply */ {2,2,1}, /* u_multiply:35 i_multiply:34 */
/* 34 i_multiply */ {0}, /* */
/* 35 u_multiply */ {0}, /* */
/* 36 divide */ {1,1}, /* i_divide:37 */
/* 37 i_divide */ {0}, /* */
/* 38 modulo */ {1,1}, /* i_modulo:39 */
/* 39 i_modulo */ {0}, /* */
/* 40 repeat */ {0}, /* */
/* 41 add */ {2,2,1}, /* u_add:43 i_add:42 */
/* 42 i_add */ {0}, /* */
/* 43 u_add */ {0}, /* */
/* 44 subtract */ {2,2,1}, /* u_subtract:46 i_subtract:45 */
/* 45 i_subtract */ {0}, /* */
/* 46 u_subtract */ {0}, /* */
/* 47 concat */ {0}, /* */
/* 48 stringify */ {0}, /* */
/* 49 left_shift */ {0}, /* */
/* 50 right_shift */ {0}, /* */
/* 51 lt */ {2,1,14}, /* i_lt:52 s_lt:65 */
/* 52 i_lt */ {0}, /* */
/* 53 gt */ {2,1,13}, /* i_gt:54 s_gt:66 */
/* 54 i_gt */ {0}, /* */
/* 55 le */ {2,1,12}, /* i_le:56 s_le:67 */
/* 56 i_le */ {0}, /* */
/* 57 ge */ {2,1,11}, /* i_ge:58 s_ge:68 */
/* 58 i_ge */ {0}, /* */
/* 59 eq */ {2,1,10}, /* i_eq:60 s_eq:69 */
/* 60 i_eq */ {0}, /* */
/* 61 ne */ {2,1,9}, /* i_ne:62 s_ne:70 */
/* 62 i_ne */ {0}, /* */
/* 63 cmp */ {2,1,8}, /* i_cmp:64 s_cmp:71 */
/* 64 i_cmp */ {0}, /* */
/* 65 s_lt */ {0}, /* */
/* 66 s_gt */ {0}, /* */
/* 67 s_le */ {0}, /* */
/* 68 s_ge */ {0}, /* */
/* 69 s_eq */ {0}, /* */
/* 70 s_ne */ {0}, /* */
/* 71 s_cmp */ {0}, /* */
/* 72 bit_and */ {2,3,6}, /* i_bit_and:75 s_bit_and:78 */
/* 73 bit_xor */ {2,3,6}, /* i_bit_xor:76 s_bit_xor:79 */
/* 74 bit_or */ {2,3,6}, /* i_bit_or:77 s_bit_or:80 */
/* 75 i_bit_and */ {0}, /* */
/* 76 i_bit_xor */ {0}, /* */
/* 77 i_bit_or */ {0}, /* */
/* 78 s_bit_and */ {0}, /* */
/* 79 s_bit_xor */ {0}, /* */
/* 80 s_bit_or */ {0}, /* */
/* 81 negate */ {1,1}, /* i_negate:82 */
/* 82 i_negate */ {0}, /* */
/* 83 not */ {0}, /* */
/* 84 complement */ {2,1,2}, /* i_complement:85 s_complement:86 */
/* 85 i_complement */ {0}, /* */
/* 86 s_complement */ {0}, /* */
/* 87 smartmatch */ {0}, /* */
/* 88 atan2 */ {0}, /* */
/* 89 sin */ {0}, /* */
/* 90 cos */ {0}, /* */
/* 91 rand */ {0}, /* */
/* 92 srand */ {0}, /* */
/* 93 exp */ {0}, /* */
/* 94 log */ {0}, /* */
/* 95 sqrt */ {0}, /* */
/* 96 int */ {0}, /* */
/* 97 hex */ {0}, /* */
/* 98 oct */ {0}, /* */
/* 99 abs */ {0}, /* */
/* 100 rv2gv */ {0}, /* */
/* 101 rv2sv */ {0}, /* */
/* 102 av2arylen */ {0}, /* */
/* 103 rv2cv */ {0}, /* */
/* 104 anoncode */ {0}, /* */
/* 105 prototype */ {0}, /* */
/* 106 refgen */ {0}, /* */
/* 107 srefgen */ {0}, /* */
/* 108 ref */ {0}, /* */
/* 109 bless */ {0}, /* */
/* 110 backtick */ {0}, /* */
/* 111 glob */ {0}, /* */
/* 112 readline */ {0}, /* */
/* 113 rcatline */ {0}, /* */
/* 114 regcmaybe */ {0}, /* */
/* 115 regcreset */ {0}, /* */
/* 116 regcomp */ {0}, /* */
/* 117 match */ {0}, /* */
/* 118 qr */ {0}, /* */
/* 119 subst */ {0}, /* */
/* 120 substcont */ {0}, /* */
/* 121 trans */ {0}, /* */
/* 122 transr */ {0}, /* */
/* 123 length */ {0}, /* */
/* 124 substr */ {0}, /* */
/* 125 vec */ {0}, /* */
/* 126 index */ {0}, /* */
/* 127 rindex */ {0}, /* */
/* 128 sprintf */ {0}, /* */
/* 129 formline */ {0}, /* */
/* 130 ord */ {0}, /* */
/* 131 chr */ {0}, /* */
/* 132 crypt */ {0}, /* */
/* 133 ucfirst */ {0}, /* */
/* 134 lcfirst */ {0}, /* */
/* 135 uc */ {0}, /* */
/* 136 lc */ {0}, /* */
/* 137 quotemeta */ {0}, /* */
/* 138 rv2av */ {0}, /* */
/* 139 aelemfast */ {0}, /* */
/* 140 aelemfast_lex */ {0}, /* */
/* 141 aelem */ {3,1,2,3}, /* i_aelem:142 n_aelem:143 s_aelem:144 */
/* 142 i_aelem */ {0}, /* */
/* 143 n_aelem */ {0}, /* */
/* 144 s_aelem */ {0}, /* */
/* 145 aelemfast_lex_u */ {0}, /* */
/* 146 aelem_u */ {3,1,2,3}, /* i_aelem_u:147 n_aelem_u:148 s_aelem_u:149 */
/* 147 i_aelem_u */ {0}, /* */
/* 148 n_aelem_u */ {0}, /* */
/* 149 s_aelem_u */ {0}, /* */
/* 150 aslice */ {0}, /* */
/* 151 kvaslice */ {0}, /* */
/* 152 aeach */ {0}, /* */
/* 153 akeys */ {0}, /* */
/* 154 avalues */ {0}, /* */
/* 155 each */ {0}, /* */
/* 156 values */ {0}, /* */
/* 157 keys */ {0}, /* */
/* 158 delete */ {0}, /* */
/* 159 exists */ {0}, /* */
/* 160 rv2hv */ {0}, /* */
/* 161 helem */ {0}, /* */
/* 162 hslice */ {0}, /* */
/* 163 kvhslice */ {0}, /* */
/* 164 multideref */ {0}, /* */
/* 165 unpack */ {0}, /* */
/* 166 pack */ {0}, /* */
/* 167 split */ {0}, /* */
/* 168 join */ {0}, /* */
/* 169 list */ {0}, /* */
/* 170 lslice */ {0}, /* */
/* 171 anonlist */ {0}, /* */
/* 172 anonhash */ {0}, /* */
/* 173 splice */ {0}, /* */
/* 174 push */ {0}, /* */
/* 175 pop */ {0}, /* */
/* 176 shift */ {0}, /* */
/* 177 unshift */ {0}, /* */
/* 178 sort */ {0}, /* */
/* 179 reverse */ {0}, /* */
/* 180 grepstart */ {0}, /* */
/* 181 grepwhile */ {0}, /* */
/* 182 mapstart */ {0}, /* */
/* 183 mapwhile */ {0}, /* */
/* 184 range */ {0}, /* */
/* 185 flip */ {0}, /* */
/* 186 flop */ {0}, /* */
/* 187 and */ {0}, /* */
/* 188 or */ {0}, /* */
/* 189 xor */ {0}, /* */
/* 190 dor */ {0}, /* */
/* 191 cond_expr */ {0}, /* */
/* 192 andassign */ {0}, /* */
/* 193 orassign */ {0}, /* */
/* 194 dorassign */ {0}, /* */
/* 195 method */ {0}, /* */
/* 196 entersub */ {0}, /* */
/* 197 enterxssub */ {0}, /* */
/* 198 leavesub */ {0}, /* */
/* 199 leavesublv */ {0}, /* */
/* 200 caller */ {0}, /* */
/* 201 warn */ {0}, /* */
/* 202 die */ {0}, /* */
/* 203 reset */ {0}, /* */
/* 204 lineseq */ {0}, /* */
/* 205 nextstate */ {0}, /* */
/* 206 dbstate */ {0}, /* */
/* 207 unstack */ {0}, /* */
/* 208 enter */ {0}, /* */
/* 209 leave */ {0}, /* */
/* 210 scope */ {0}, /* */
/* 211 enteriter */ {0}, /* */
/* 212 iter */ {0}, /* */
/* 213 enterloop */ {0}, /* */
/* 214 leaveloop */ {0}, /* */
/* 215 return */ {0}, /* */
/* 216 last */ {0}, /* */
/* 217 next */ {0}, /* */
/* 218 redo */ {0}, /* */
/* 219 dump */ {0}, /* */
/* 220 goto */ {0}, /* */
/* 221 exit */ {0}, /* */
/* 222 method_named */ {0}, /* */
/* 223 method_super */ {0}, /* */
/* 224 method_redir */ {0}, /* */
/* 225 method_redir_super */ {0}, /* */
/* 226 entergiven */ {0}, /* */
/* 227 leavegiven */ {0}, /* */
/* 228 enterwhen */ {0}, /* */
/* 229 leavewhen */ {0}, /* */
/* 230 break */ {0}, /* */
/* 231 continue */ {0}, /* */
/* 232 open */ {0}, /* */
/* 233 close */ {0}, /* */
/* 234 pipe_op */ {0}, /* */
/* 235 fileno */ {0}, /* */
/* 236 umask */ {0}, /* */
/* 237 binmode */ {0}, /* */
/* 238 tie */ {0}, /* */
/* 239 untie */ {0}, /* */
/* 240 tied */ {0}, /* */
/* 241 dbmopen */ {0}, /* */
/* 242 dbmclose */ {0}, /* */
/* 243 sselect */ {0}, /* */
/* 244 select */ {0}, /* */
/* 245 getc */ {0}, /* */
/* 246 read */ {0}, /* */
/* 247 enterwrite */ {0}, /* */
/* 248 leavewrite */ {0}, /* */
/* 249 prtf */ {0}, /* */
/* 250 print */ {0}, /* */
/* 251 say */ {0}, /* */
/* 252 sysopen */ {0}, /* */
/* 253 sysseek */ {0}, /* */
/* 254 sysread */ {0}, /* */
/* 255 syswrite */ {0}, /* */
/* 256 eof */ {0}, /* */
/* 257 tell */ {0}, /* */
/* 258 seek */ {0}, /* */
/* 259 truncate */ {0}, /* */
/* 260 fcntl */ {0}, /* */
/* 261 ioctl */ {0}, /* */
/* 262 flock */ {0}, /* */
/* 263 send */ {0}, /* */
/* 264 recv */ {0}, /* */
/* 265 socket */ {0}, /* */
/* 266 sockpair */ {0}, /* */
/* 267 bind */ {0}, /* */
/* 268 connect */ {0}, /* */
/* 269 listen */ {0}, /* */
/* 270 accept */ {0}, /* */
/* 271 shutdown */ {0}, /* */
/* 272 gsockopt */ {0}, /* */
/* 273 ssockopt */ {0}, /* */
/* 274 getsockname */ {0}, /* */
/* 275 getpeername */ {0}, /* */
/* 276 lstat */ {0}, /* */
/* 277 stat */ {0}, /* */
/* 278 ftrread */ {0}, /* */
/* 279 ftrwrite */ {0}, /* */
/* 280 ftrexec */ {0}, /* */
/* 281 fteread */ {0}, /* */
/* 282 ftewrite */ {0}, /* */
/* 283 fteexec */ {0}, /* */
/* 284 ftis */ {0}, /* */
/* 285 ftsize */ {0}, /* */
/* 286 ftmtime */ {0}, /* */
/* 287 ftatime */ {0}, /* */
/* 288 ftctime */ {0}, /* */
/* 289 ftrowned */ {0}, /* */
/* 290 fteowned */ {0}, /* */
/* 291 ftzero */ {0}, /* */
/* 292 ftsock */ {0}, /* */
/* 293 ftchr */ {0}, /* */
/* 294 ftblk */ {0}, /* */
/* 295 ftfile */ {0}, /* */
/* 296 ftdir */ {0}, /* */
/* 297 ftpipe */ {0}, /* */
/* 298 ftsuid */ {0}, /* */
/* 299 ftsgid */ {0}, /* */
/* 300 ftsvtx */ {0}, /* */
/* 301 ftlink */ {0}, /* */
/* 302 fttty */ {0}, /* */
/* 303 fttext */ {0}, /* */
/* 304 ftbinary */ {0}, /* */
/* 305 chdir */ {0}, /* */
/* 306 chown */ {0}, /* */
/* 307 chroot */ {0}, /* */
/* 308 unlink */ {0}, /* */
/* 309 chmod */ {0}, /* */
/* 310 utime */ {0}, /* */
/* 311 rename */ {0}, /* */
/* 312 link */ {0}, /* */
/* 313 symlink */ {0}, /* */
/* 314 readlink */ {0}, /* */
/* 315 mkdir */ {0}, /* */
/* 316 rmdir */ {0}, /* */
/* 317 open_dir */ {0}, /* */
/* 318 readdir */ {0}, /* */
/* 319 telldir */ {0}, /* */
/* 320 seekdir */ {0}, /* */
/* 321 rewinddir */ {0}, /* */
/* 322 closedir */ {0}, /* */
/* 323 fork */ {0}, /* */
/* 324 wait */ {0}, /* */
/* 325 waitpid */ {0}, /* */
/* 326 system */ {0}, /* */
/* 327 exec */ {0}, /* */
/* 328 kill */ {0}, /* */
/* 329 getppid */ {0}, /* */
/* 330 getpgrp */ {0}, /* */
/* 331 setpgrp */ {0}, /* */
/* 332 getpriority */ {0}, /* */
/* 333 setpriority */ {0}, /* */
/* 334 time */ {0}, /* */
/* 335 tms */ {0}, /* */
/* 336 localtime */ {0}, /* */
/* 337 gmtime */ {0}, /* */
/* 338 alarm */ {0}, /* */
/* 339 sleep */ {0}, /* */
/* 340 shmget */ {0}, /* */
/* 341 shmctl */ {0}, /* */
/* 342 shmread */ {0}, /* */
/* 343 shmwrite */ {0}, /* */
/* 344 msgget */ {0}, /* */
/* 345 msgctl */ {0}, /* */
/* 346 msgsnd */ {0}, /* */
/* 347 msgrcv */ {0}, /* */
/* 348 semop */ {0}, /* */
/* 349 semget */ {0}, /* */
/* 350 semctl */ {0}, /* */
/* 351 require */ {0}, /* */
/* 352 dofile */ {0}, /* */
/* 353 hintseval */ {0}, /* */
/* 354 entereval */ {0}, /* */
/* 355 leaveeval */ {0}, /* */
/* 356 entertry */ {0}, /* */
/* 357 leavetry */ {0}, /* */
/* 358 ghbyname */ {0}, /* */
/* 359 ghbyaddr */ {0}, /* */
/* 360 ghostent */ {0}, /* */
/* 361 gnbyname */ {0}, /* */
/* 362 gnbyaddr */ {0}, /* */
/* 363 gnetent */ {0}, /* */
/* 364 gpbyname */ {0}, /* */
/* 365 gpbynumber */ {0}, /* */
/* 366 gprotoent */ {0}, /* */
/* 367 gsbyname */ {0}, /* */
/* 368 gsbyport */ {0}, /* */
/* 369 gservent */ {0}, /* */
/* 370 shostent */ {0}, /* */
/* 371 snetent */ {0}, /* */
/* 372 sprotoent */ {0}, /* */
/* 373 sservent */ {0}, /* */
/* 374 ehostent */ {0}, /* */
/* 375 enetent */ {0}, /* */
/* 376 eprotoent */ {0}, /* */
/* 377 eservent */ {0}, /* */
/* 378 gpwnam */ {0}, /* */
/* 379 gpwuid */ {0}, /* */
/* 380 gpwent */ {0}, /* */
/* 381 spwent */ {0}, /* */
/* 382 epwent */ {0}, /* */
/* 383 ggrnam */ {0}, /* */
/* 384 ggrgid */ {0}, /* */
/* 385 ggrent */ {0}, /* */
/* 386 sgrent */ {0}, /* */
/* 387 egrent */ {0}, /* */
/* 388 getlogin */ {0}, /* */
/* 389 syscall */ {0}, /* */
/* 390 lock */ {0}, /* */
/* 391 once */ {0}, /* */
/* 392 custom */ {0}, /* */
/* 393 reach */ {0}, /* */
/* 394 rkeys */ {0}, /* */
/* 395 rvalues */ {0}, /* */
/* 396 coreargs */ {0}, /* */
/* 397 runcv */ {0}, /* */
/* 398 fc */ {0}, /* */
/* 399 padcv */ {0}, /* */
/* 400 introcv */ {0}, /* */
/* 401 clonecv */ {0}, /* */
/* 402 padrange */ {0}, /* */
/* 403 refassign */ {0}, /* */
/* 404 lvref */ {0}, /* */
/* 405 lvrefslice */ {0}, /* */
/* 406 lvavref */ {0}, /* */
/* 407 anonconst */ {0}, /* */
/* 408: freed */ { 0 }
};
#endif
END_EXTERN_C
#endif /* !PERL_GLOBAL_STRUCT_INIT */
#define NUM_OP_TYPE_VARIANTS(op) PL_op_type_variants[op][0]
/* for 1 to num */
#define OP_TYPE_VARIANT(op, _j) \
(PL_op_type_variants[(op)][(_j)] \
? (op) + PL_op_type_variants[(op)][(_j)] \
: 0)
#define OP_TYPE_UPVARIANT(op, _j) \
(PL_op_type_variants[(op)][(_j)] && PL_op_type_variants[(op)][(_j)]>0 \
? (op) + PL_op_type_variants[(op)][(_j)] \
: 0)
#define OP_TYPE_DOWNVARIANT(op, _j) \
(PL_op_type_variants[(op)][(_j)] && PL_op_type_variants[(op)][(_j)]<0 \
? (op) + PL_op_type_variants[(op)][(_j)] \
: 0)
/* The ppcode switch array */
START_EXTERN_C
#ifdef PERL_GLOBAL_STRUCT_INIT
# define PERL_PPADDR_INITED
static const Perl_ppaddr_t Gppaddr[]
#else
# ifndef PERL_GLOBAL_STRUCT
# define PERL_PPADDR_INITED
EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
# endif
#endif /* PERL_GLOBAL_STRUCT */
#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
# define PERL_PPADDR_INITED
= {
Perl_pp_null,
Perl_pp_stub,
Perl_pp_scalar, /* implemented by Perl_pp_null */
Perl_pp_pushmark,
Perl_pp_wantarray,
Perl_pp_const,
Perl_pp_gvsv,
Perl_pp_gv,
Perl_pp_gelem,
Perl_pp_padsv,
Perl_pp_padav,
Perl_pp_padhv,
Perl_pp_padany, /* implemented by Perl_unimplemented_op */
Perl_pp_pushre,
Perl_pp_sassign,
Perl_pp_aassign,
Perl_pp_chop,
Perl_pp_schop,
Perl_pp_chomp, /* implemented by Perl_pp_chop */
Perl_pp_schomp, /* implemented by Perl_pp_schop */
Perl_pp_defined,
Perl_pp_undef,
Perl_pp_study,
Perl_pp_pos,
Perl_pp_preinc,
Perl_pp_i_preinc, /* implemented by Perl_pp_preinc */
Perl_pp_predec, /* implemented by Perl_pp_preinc */
Perl_pp_i_predec, /* implemented by Perl_pp_preinc */
Perl_pp_postinc,
Perl_pp_i_postinc, /* implemented by Perl_pp_postinc */
Perl_pp_postdec, /* implemented by Perl_pp_postinc */
Perl_pp_i_postdec, /* implemented by Perl_pp_postinc */
Perl_pp_pow,
Perl_pp_multiply,
Perl_pp_i_multiply,
Perl_pp_u_multiply, /* on 32bit IV implemented by Perl_pp_multiply */
Perl_pp_divide,
Perl_pp_i_divide,
Perl_pp_modulo,
Perl_pp_i_modulo,
Perl_pp_repeat,
Perl_pp_add,
Perl_pp_i_add,
Perl_pp_u_add, /* on 32bit IV implemented by Perl_pp_add */
Perl_pp_subtract,
Perl_pp_i_subtract,
Perl_pp_u_subtract, /* on 32bit IV implemented by Perl_pp_subtract */
Perl_pp_concat,
Perl_pp_stringify,
Perl_pp_left_shift,
Perl_pp_right_shift,
Perl_pp_lt,
Perl_pp_i_lt,
Perl_pp_gt,
Perl_pp_i_gt,
Perl_pp_le,
Perl_pp_i_le,
Perl_pp_ge,
Perl_pp_i_ge,
Perl_pp_eq,
Perl_pp_i_eq,
Perl_pp_ne,
Perl_pp_i_ne,
Perl_pp_cmp,
Perl_pp_i_cmp,
Perl_pp_s_lt, /* implemented by Perl_pp_s_le */
Perl_pp_s_gt, /* implemented by Perl_pp_s_le */
Perl_pp_s_le,
Perl_pp_s_ge, /* implemented by Perl_pp_s_le */
Perl_pp_s_eq,
Perl_pp_s_ne,
Perl_pp_s_cmp,
Perl_pp_bit_and,
Perl_pp_bit_xor, /* implemented by Perl_pp_bit_or */
Perl_pp_bit_or,
Perl_pp_i_bit_and,
Perl_pp_i_bit_xor, /* implemented by Perl_pp_i_bit_or */
Perl_pp_i_bit_or,
Perl_pp_s_bit_and,
Perl_pp_s_bit_xor, /* implemented by Perl_pp_s_bit_or */
Perl_pp_s_bit_or,
Perl_pp_negate,
Perl_pp_i_negate,
Perl_pp_not,
Perl_pp_complement,
Perl_pp_i_complement,
Perl_pp_s_complement,
Perl_pp_smartmatch,
Perl_pp_atan2,
Perl_pp_sin,
Perl_pp_cos, /* implemented by Perl_pp_sin */
Perl_pp_rand,
Perl_pp_srand,
Perl_pp_exp, /* implemented by Perl_pp_sin */
Perl_pp_log, /* implemented by Perl_pp_sin */
Perl_pp_sqrt, /* implemented by Perl_pp_sin */
Perl_pp_int,
Perl_pp_hex, /* implemented by Perl_pp_oct */
Perl_pp_oct,
Perl_pp_abs,
Perl_pp_rv2gv,
Perl_pp_rv2sv,
Perl_pp_av2arylen,
Perl_pp_rv2cv,
Perl_pp_anoncode,
Perl_pp_prototype,
Perl_pp_refgen,
Perl_pp_srefgen,
Perl_pp_ref,
Perl_pp_bless,
Perl_pp_backtick,
Perl_pp_glob,
Perl_pp_readline,
Perl_pp_rcatline,
Perl_pp_regcmaybe, /* implemented by Perl_pp_null */
Perl_pp_regcreset,
Perl_pp_regcomp,
Perl_pp_match,
Perl_pp_qr,
Perl_pp_subst,
Perl_pp_substcont,
Perl_pp_trans,
Perl_pp_transr, /* implemented by Perl_pp_trans */
Perl_pp_length,
Perl_pp_substr,
Perl_pp_vec,
Perl_pp_index,
Perl_pp_rindex, /* implemented by Perl_pp_index */
Perl_pp_sprintf,
Perl_pp_formline,
Perl_pp_ord,
Perl_pp_chr,
Perl_pp_crypt,
Perl_pp_ucfirst,
Perl_pp_lcfirst, /* implemented by Perl_pp_ucfirst */
Perl_pp_uc,
Perl_pp_lc,
Perl_pp_quotemeta,
Perl_pp_rv2av,
Perl_pp_aelemfast,
Perl_pp_aelemfast_lex, /* implemented by Perl_pp_aelemfast */
Perl_pp_aelem,
Perl_pp_i_aelem,
Perl_pp_n_aelem, /* implemented by Perl_pp_i_aelem */
Perl_pp_s_aelem, /* implemented by Perl_pp_i_aelem */
Perl_pp_aelemfast_lex_u,
Perl_pp_aelem_u,
Perl_pp_i_aelem_u, /* implemented by Perl_pp_aelem_u */
Perl_pp_n_aelem_u, /* implemented by Perl_pp_aelem_u */
Perl_pp_s_aelem_u, /* implemented by Perl_pp_aelem_u */
Perl_pp_aslice,
Perl_pp_kvaslice,
Perl_pp_aeach,
Perl_pp_akeys,
Perl_pp_avalues, /* implemented by Perl_pp_akeys */
Perl_pp_each,
Perl_pp_values, /* implemented by Perl_do_kv */
Perl_pp_keys, /* implemented by Perl_do_kv */
Perl_pp_delete,
Perl_pp_exists,
Perl_pp_rv2hv, /* implemented by Perl_pp_rv2av */
Perl_pp_helem,
Perl_pp_hslice,
Perl_pp_kvhslice,
Perl_pp_multideref,
Perl_pp_unpack,
Perl_pp_pack,
Perl_pp_split,
Perl_pp_join,
Perl_pp_list,
Perl_pp_lslice,
Perl_pp_anonlist,
Perl_pp_anonhash,
Perl_pp_splice,
Perl_pp_push,
Perl_pp_pop, /* implemented by Perl_pp_shift */
Perl_pp_shift,
Perl_pp_unshift,
Perl_pp_sort,
Perl_pp_reverse,
Perl_pp_grepstart,
Perl_pp_grepwhile,
Perl_pp_mapstart, /* implemented by Perl_pp_grepstart */
Perl_pp_mapwhile,
Perl_pp_range,
Perl_pp_flip,
Perl_pp_flop,
Perl_pp_and,
Perl_pp_or,
Perl_pp_xor,
Perl_pp_dor, /* implemented by Perl_pp_defined */
Perl_pp_cond_expr,
Perl_pp_andassign, /* implemented by Perl_pp_and */
Perl_pp_orassign, /* implemented by Perl_pp_or */
Perl_pp_dorassign, /* implemented by Perl_pp_defined */
Perl_pp_method,
Perl_pp_entersub,
Perl_pp_enterxssub,
Perl_pp_leavesub,
Perl_pp_leavesublv,
Perl_pp_caller,
Perl_pp_warn,
Perl_pp_die,
Perl_pp_reset,
Perl_pp_lineseq, /* implemented by Perl_pp_null */
Perl_pp_nextstate,
Perl_pp_dbstate,
Perl_pp_unstack,
Perl_pp_enter,
Perl_pp_leave,
Perl_pp_scope, /* implemented by Perl_pp_null */
Perl_pp_enteriter,
Perl_pp_iter,
Perl_pp_enterloop,
Perl_pp_leaveloop,
Perl_pp_return,
Perl_pp_last,
Perl_pp_next,
Perl_pp_redo,
Perl_pp_dump, /* implemented by Perl_pp_goto */
Perl_pp_goto,
Perl_pp_exit,
Perl_pp_method_named,
Perl_pp_method_super,
Perl_pp_method_redir,
Perl_pp_method_redir_super,
Perl_pp_entergiven,
Perl_pp_leavegiven,
Perl_pp_enterwhen,
Perl_pp_leavewhen,
Perl_pp_break,
Perl_pp_continue,
Perl_pp_open,
Perl_pp_close,
Perl_pp_pipe_op,
Perl_pp_fileno,
Perl_pp_umask,
Perl_pp_binmode,
Perl_pp_tie,
Perl_pp_untie,
Perl_pp_tied,
Perl_pp_dbmopen,
Perl_pp_dbmclose, /* implemented by Perl_pp_untie */
Perl_pp_sselect,
Perl_pp_select,
Perl_pp_getc,
Perl_pp_read, /* implemented by Perl_pp_sysread */
Perl_pp_enterwrite,
Perl_pp_leavewrite,
Perl_pp_prtf,
Perl_pp_print,
Perl_pp_say, /* implemented by Perl_pp_print */
Perl_pp_sysopen,
Perl_pp_sysseek,
Perl_pp_sysread,
Perl_pp_syswrite,
Perl_pp_eof,
Perl_pp_tell,
Perl_pp_seek, /* implemented by Perl_pp_sysseek */
Perl_pp_truncate,
Perl_pp_fcntl, /* implemented by Perl_pp_ioctl */
Perl_pp_ioctl,
Perl_pp_flock,
Perl_pp_send, /* implemented by Perl_pp_syswrite */
Perl_pp_recv, /* implemented by Perl_pp_sysread */
Perl_pp_socket,
Perl_pp_sockpair,
Perl_pp_bind,
Perl_pp_connect, /* implemented by Perl_pp_bind */
Perl_pp_listen,
Perl_pp_accept,
Perl_pp_shutdown,
Perl_pp_gsockopt, /* implemented by Perl_pp_ssockopt */
Perl_pp_ssockopt,
Perl_pp_getsockname, /* implemented by Perl_pp_getpeername */
Perl_pp_getpeername,
Perl_pp_lstat, /* implemented by Perl_pp_stat */
Perl_pp_stat,
Perl_pp_ftrread,
Perl_pp_ftrwrite, /* implemented by Perl_pp_ftrread */
Perl_pp_ftrexec, /* implemented by Perl_pp_ftrread */
Perl_pp_fteread, /* implemented by Perl_pp_ftrread */
Perl_pp_ftewrite, /* implemented by Perl_pp_ftrread */
Perl_pp_fteexec, /* implemented by Perl_pp_ftrread */
Perl_pp_ftis,
Perl_pp_ftsize, /* implemented by Perl_pp_ftis */
Perl_pp_ftmtime, /* implemented by Perl_pp_ftis */
Perl_pp_ftatime, /* implemented by Perl_pp_ftis */
Perl_pp_ftctime, /* implemented by Perl_pp_ftis */
Perl_pp_ftrowned,
Perl_pp_fteowned, /* implemented by Perl_pp_ftrowned */
Perl_pp_ftzero, /* implemented by Perl_pp_ftrowned */
Perl_pp_ftsock, /* implemented by Perl_pp_ftrowned */
Perl_pp_ftchr, /* implemented by Perl_pp_ftrowned */
Perl_pp_ftblk, /* implemented by Perl_pp_ftrowned */
Perl_pp_ftfile, /* implemented by Perl_pp_ftrowned */
Perl_pp_ftdir, /* implemented by Perl_pp_ftrowned */
Perl_pp_ftpipe, /* implemented by Perl_pp_ftrowned */
Perl_pp_ftsuid, /* implemented by Perl_pp_ftrowned */
Perl_pp_ftsgid, /* implemented by Perl_pp_ftrowned */
Perl_pp_ftsvtx, /* implemented by Perl_pp_ftrowned */
Perl_pp_ftlink,
Perl_pp_fttty,
Perl_pp_fttext,
Perl_pp_ftbinary, /* implemented by Perl_pp_fttext */
Perl_pp_chdir,
Perl_pp_chown,
Perl_pp_chroot,
Perl_pp_unlink, /* implemented by Perl_pp_chown */
Perl_pp_chmod, /* implemented by Perl_pp_chown */
Perl_pp_utime, /* implemented by Perl_pp_chown */
Perl_pp_rename,
Perl_pp_link,
Perl_pp_symlink, /* implemented by Perl_pp_link */
Perl_pp_readlink,
Perl_pp_mkdir,
Perl_pp_rmdir,
Perl_pp_open_dir,
Perl_pp_readdir,
Perl_pp_telldir,
Perl_pp_seekdir,
Perl_pp_rewinddir,
Perl_pp_closedir,
Perl_pp_fork,
Perl_pp_wait,
Perl_pp_waitpid,
Perl_pp_system,
Perl_pp_exec,
Perl_pp_kill, /* implemented by Perl_pp_chown */
Perl_pp_getppid,
Perl_pp_getpgrp,
Perl_pp_setpgrp,
Perl_pp_getpriority,
Perl_pp_setpriority,
Perl_pp_time,
Perl_pp_tms,
Perl_pp_localtime, /* implemented by Perl_pp_gmtime */
Perl_pp_gmtime,
Perl_pp_alarm,
Perl_pp_sleep,
Perl_pp_shmget, /* implemented by Perl_pp_semget */
Perl_pp_shmctl, /* implemented by Perl_pp_semctl */
Perl_pp_shmread, /* implemented by Perl_pp_shmwrite */
Perl_pp_shmwrite,
Perl_pp_msgget, /* implemented by Perl_pp_semget */
Perl_pp_msgctl, /* implemented by Perl_pp_semctl */
Perl_pp_msgsnd, /* implemented by Perl_pp_shmwrite */
Perl_pp_msgrcv, /* implemented by Perl_pp_shmwrite */
Perl_pp_semop, /* implemented by Perl_pp_shmwrite */
Perl_pp_semget,
Perl_pp_semctl,
Perl_pp_require,
Perl_pp_dofile, /* implemented by Perl_pp_require */
Perl_pp_hintseval,
Perl_pp_entereval,
Perl_pp_leaveeval,
Perl_pp_entertry,
Perl_pp_leavetry,
Perl_pp_ghbyname, /* implemented by Perl_pp_ghostent */
Perl_pp_ghbyaddr, /* implemented by Perl_pp_ghostent */
Perl_pp_ghostent,
Perl_pp_gnbyname, /* implemented by Perl_pp_gnetent */
Perl_pp_gnbyaddr, /* implemented by Perl_pp_gnetent */
Perl_pp_gnetent,
Perl_pp_gpbyname, /* implemented by Perl_pp_gprotoent */
Perl_pp_gpbynumber, /* implemented by Perl_pp_gprotoent */
Perl_pp_gprotoent,
Perl_pp_gsbyname, /* implemented by Perl_pp_gservent */
Perl_pp_gsbyport, /* implemented by Perl_pp_gservent */
Perl_pp_gservent,
Perl_pp_shostent,
Perl_pp_snetent, /* implemented by Perl_pp_shostent */
Perl_pp_sprotoent, /* implemented by Perl_pp_shostent */
Perl_pp_sservent, /* implemented by Perl_pp_shostent */
Perl_pp_ehostent,
Perl_pp_enetent, /* implemented by Perl_pp_ehostent */
Perl_pp_eprotoent, /* implemented by Perl_pp_ehostent */
Perl_pp_eservent, /* implemented by Perl_pp_ehostent */
Perl_pp_gpwnam, /* implemented by Perl_pp_gpwent */
Perl_pp_gpwuid, /* implemented by Perl_pp_gpwent */
Perl_pp_gpwent,
Perl_pp_spwent, /* implemented by Perl_pp_ehostent */
Perl_pp_epwent, /* implemented by Perl_pp_ehostent */
Perl_pp_ggrnam, /* implemented by Perl_pp_ggrent */
Perl_pp_ggrgid, /* implemented by Perl_pp_ggrent */
Perl_pp_ggrent,
Perl_pp_sgrent, /* implemented by Perl_pp_ehostent */
Perl_pp_egrent, /* implemented by Perl_pp_ehostent */
Perl_pp_getlogin,
Perl_pp_syscall,
Perl_pp_lock,
Perl_pp_once,
Perl_pp_custom, /* implemented by Perl_unimplemented_op */
Perl_pp_reach, /* implemented by Perl_pp_rkeys */
Perl_pp_rkeys,
Perl_pp_rvalues, /* implemented by Perl_pp_rkeys */
Perl_pp_coreargs,
Perl_pp_runcv,
Perl_pp_fc,
Perl_pp_padcv,
Perl_pp_introcv,
Perl_pp_clonecv,
Perl_pp_padrange,
Perl_pp_refassign,
Perl_pp_lvref,
Perl_pp_lvrefslice,
Perl_pp_lvavref,
Perl_pp_anonconst,
}
#endif
#ifdef PERL_PPADDR_INITED
;
#endif
#ifdef PERL_GLOBAL_STRUCT_INIT
# define PERL_CHECK_INITED
static const Perl_check_t Gcheck[]
#else
# ifndef PERL_GLOBAL_STRUCT
# define PERL_CHECK_INITED
EXT Perl_check_t PL_check[] /* or perlvars.h */
# endif
#endif
#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
# define PERL_CHECK_INITED
= {
Perl_ck_null, /* null */
Perl_ck_null, /* stub */
Perl_ck_fun, /* scalar */
Perl_ck_null, /* pushmark */
Perl_ck_null, /* wantarray */
Perl_ck_svconst, /* const */
Perl_ck_null, /* gvsv */
Perl_ck_null, /* gv */
Perl_ck_null, /* gelem */
Perl_ck_pad, /* padsv */
Perl_ck_null, /* padav */
Perl_ck_null, /* padhv */
Perl_ck_null, /* padany */
Perl_ck_null, /* pushre */
Perl_ck_sassign, /* sassign */
Perl_ck_null, /* aassign */
Perl_ck_spair, /* chop */
Perl_ck_null, /* schop */
Perl_ck_spair, /* chomp */
Perl_ck_null, /* schomp */
Perl_ck_defined, /* defined */
Perl_ck_fun, /* undef */
Perl_ck_fun, /* study */
Perl_ck_fun, /* pos */
Perl_ck_lfun, /* preinc */
Perl_ck_lfun, /* i_preinc */
Perl_ck_lfun, /* predec */
Perl_ck_lfun, /* i_predec */
Perl_ck_lfun, /* postinc */
Perl_ck_lfun, /* i_postinc */
Perl_ck_lfun, /* postdec */
Perl_ck_lfun, /* i_postdec */
Perl_ck_null, /* pow */
Perl_ck_type, /* multiply */
Perl_ck_null, /* i_multiply */
Perl_ck_type, /* u_multiply */
Perl_ck_type, /* divide */
Perl_ck_null, /* i_divide */
Perl_ck_type, /* modulo */
Perl_ck_null, /* i_modulo */
Perl_ck_repeat, /* repeat */
Perl_ck_type, /* add */
Perl_ck_type, /* i_add */
Perl_ck_type, /* u_add */
Perl_ck_type, /* subtract */
Perl_ck_type, /* i_subtract */
Perl_ck_type, /* u_subtract */
Perl_ck_concat, /* concat */
Perl_ck_stringify, /* stringify */
Perl_ck_bitop, /* left_shift */
Perl_ck_bitop, /* right_shift */
Perl_ck_cmp, /* lt */
Perl_ck_cmp, /* i_lt */
Perl_ck_cmp, /* gt */
Perl_ck_cmp, /* i_gt */
Perl_ck_cmp, /* le */
Perl_ck_cmp, /* i_le */
Perl_ck_cmp, /* ge */
Perl_ck_cmp, /* i_ge */
Perl_ck_type, /* eq */
Perl_ck_null, /* i_eq */
Perl_ck_type, /* ne */
Perl_ck_null, /* i_ne */
Perl_ck_type, /* cmp */
Perl_ck_null, /* i_cmp */
Perl_ck_null, /* s_lt */
Perl_ck_null, /* s_gt */
Perl_ck_null, /* s_le */
Perl_ck_null, /* s_ge */
Perl_ck_null, /* s_eq */
Perl_ck_null, /* s_ne */
Perl_ck_null, /* s_cmp */
Perl_ck_bitop, /* bit_and */
Perl_ck_bitop, /* bit_xor */
Perl_ck_bitop, /* bit_or */
Perl_ck_bitop, /* i_bit_and */
Perl_ck_bitop, /* i_bit_xor */
Perl_ck_bitop, /* i_bit_or */
Perl_ck_bitop, /* s_bit_and */
Perl_ck_bitop, /* s_bit_xor */
Perl_ck_bitop, /* s_bit_or */
Perl_ck_type, /* negate */
Perl_ck_null, /* i_negate */
Perl_ck_null, /* not */
Perl_ck_bitop, /* complement */
Perl_ck_bitop, /* i_complement */
Perl_ck_bitop, /* s_complement */
Perl_ck_smartmatch, /* smartmatch */
Perl_ck_fun, /* atan2 */
Perl_ck_fun, /* sin */
Perl_ck_fun, /* cos */
Perl_ck_fun, /* rand */
Perl_ck_fun, /* srand */
Perl_ck_fun, /* exp */
Perl_ck_fun, /* log */
Perl_ck_fun, /* sqrt */
Perl_ck_fun, /* int */
Perl_ck_fun, /* hex */
Perl_ck_fun, /* oct */
Perl_ck_fun, /* abs */
Perl_ck_rvconst, /* rv2gv */
Perl_ck_rvconst, /* rv2sv */
Perl_ck_null, /* av2arylen */
Perl_ck_rvconst, /* rv2cv */
Perl_ck_anoncode, /* anoncode */
Perl_ck_prototype, /* prototype */
Perl_ck_spair, /* refgen */
Perl_ck_null, /* srefgen */
Perl_ck_fun, /* ref */
Perl_ck_fun, /* bless */
Perl_ck_backtick, /* backtick */
Perl_ck_glob, /* glob */
Perl_ck_readline, /* readline */
Perl_ck_null, /* rcatline */
Perl_ck_fun, /* regcmaybe */
Perl_ck_fun, /* regcreset */
Perl_ck_null, /* regcomp */
Perl_ck_match, /* match */
Perl_ck_match, /* qr */
Perl_ck_match, /* subst */
Perl_ck_null, /* substcont */
Perl_ck_match, /* trans */
Perl_ck_match, /* transr */
Perl_ck_length, /* length */
Perl_ck_substr, /* substr */
Perl_ck_fun, /* vec */
Perl_ck_index, /* index */
Perl_ck_index, /* rindex */
Perl_ck_lfun, /* sprintf */
Perl_ck_fun, /* formline */
Perl_ck_fun, /* ord */
Perl_ck_fun, /* chr */
Perl_ck_fun, /* crypt */
Perl_ck_fun, /* ucfirst */
Perl_ck_fun, /* lcfirst */
Perl_ck_fun, /* uc */
Perl_ck_fun, /* lc */
Perl_ck_fun, /* quotemeta */
Perl_ck_rvconst, /* rv2av */
Perl_ck_aelem, /* aelemfast */
Perl_ck_aelem, /* aelemfast_lex */
Perl_ck_aelem, /* aelem */
Perl_ck_null, /* i_aelem */
Perl_ck_null, /* n_aelem */
Perl_ck_null, /* s_aelem */
Perl_ck_null, /* aelemfast_lex_u */
Perl_ck_null, /* aelem_u */
Perl_ck_null, /* i_aelem_u */
Perl_ck_null, /* n_aelem_u */
Perl_ck_null, /* s_aelem_u */
Perl_ck_null, /* aslice */
Perl_ck_null, /* kvaslice */
Perl_ck_each, /* aeach */
Perl_ck_each, /* akeys */
Perl_ck_each, /* avalues */
Perl_ck_each, /* each */
Perl_ck_each, /* values */
Perl_ck_each, /* keys */
Perl_ck_delete, /* delete */
Perl_ck_exists, /* exists */
Perl_ck_rvconst, /* rv2hv */
Perl_ck_null, /* helem */
Perl_ck_null, /* hslice */
Perl_ck_null, /* kvhslice */
Perl_ck_null, /* multideref */
Perl_ck_fun, /* unpack */
Perl_ck_fun, /* pack */
Perl_ck_split, /* split */
Perl_ck_join, /* join */
Perl_ck_null, /* list */
Perl_ck_null, /* lslice */
Perl_ck_fun, /* anonlist */
Perl_ck_fun, /* anonhash */
Perl_ck_fun, /* splice */
Perl_ck_fun, /* push */
Perl_ck_shift, /* pop */
Perl_ck_shift, /* shift */
Perl_ck_fun, /* unshift */
Perl_ck_sort, /* sort */
Perl_ck_fun, /* reverse */
Perl_ck_grep, /* grepstart */
Perl_ck_null, /* grepwhile */
Perl_ck_grep, /* mapstart */
Perl_ck_null, /* mapwhile */
Perl_ck_null, /* range */
Perl_ck_null, /* flip */
Perl_ck_null, /* flop */
Perl_ck_null, /* and */
Perl_ck_null, /* or */
Perl_ck_null, /* xor */
Perl_ck_null, /* dor */
Perl_ck_null, /* cond_expr */
Perl_ck_null, /* andassign */
Perl_ck_null, /* orassign */
Perl_ck_null, /* dorassign */
Perl_ck_method, /* method */
Perl_ck_subr, /* entersub */
Perl_ck_subr, /* enterxssub */
Perl_ck_null, /* leavesub */
Perl_ck_null, /* leavesublv */
Perl_ck_fun, /* caller */
Perl_ck_fun, /* warn */
Perl_ck_fun, /* die */
Perl_ck_fun, /* reset */
Perl_ck_null, /* lineseq */
Perl_ck_null, /* nextstate */
Perl_ck_null, /* dbstate */
Perl_ck_null, /* unstack */
Perl_ck_null, /* enter */
Perl_ck_null, /* leave */
Perl_ck_null, /* scope */
Perl_ck_null, /* enteriter */
Perl_ck_null, /* iter */
Perl_ck_null, /* enterloop */
Perl_ck_null, /* leaveloop */
Perl_ck_return, /* return */
Perl_ck_null, /* last */
Perl_ck_null, /* next */
Perl_ck_null, /* redo */
Perl_ck_null, /* dump */
Perl_ck_null, /* goto */
Perl_ck_fun, /* exit */
Perl_ck_null, /* method_named */
Perl_ck_null, /* method_super */
Perl_ck_null, /* method_redir */
Perl_ck_null, /* method_redir_super */
Perl_ck_null, /* entergiven */
Perl_ck_null, /* leavegiven */
Perl_ck_null, /* enterwhen */
Perl_ck_null, /* leavewhen */
Perl_ck_null, /* break */
Perl_ck_null, /* continue */
Perl_ck_open, /* open */
Perl_ck_fun, /* close */
Perl_ck_fun, /* pipe_op */
Perl_ck_fun, /* fileno */
Perl_ck_fun, /* umask */
Perl_ck_fun, /* binmode */
Perl_ck_fun, /* tie */
Perl_ck_fun, /* untie */
Perl_ck_fun, /* tied */
Perl_ck_fun, /* dbmopen */
Perl_ck_fun, /* dbmclose */
Perl_ck_select, /* sselect */
Perl_ck_select, /* select */
Perl_ck_eof, /* getc */
Perl_ck_fun, /* read */
Perl_ck_fun, /* enterwrite */
Perl_ck_null, /* leavewrite */
Perl_ck_listiob, /* prtf */
Perl_ck_listiob, /* print */
Perl_ck_listiob, /* say */
Perl_ck_fun, /* sysopen */
Perl_ck_fun, /* sysseek */
Perl_ck_fun, /* sysread */
Perl_ck_fun, /* syswrite */
Perl_ck_eof, /* eof */
Perl_ck_tell, /* tell */
Perl_ck_tell, /* seek */
Perl_ck_trunc, /* truncate */
Perl_ck_fun, /* fcntl */
Perl_ck_fun, /* ioctl */
Perl_ck_fun, /* flock */
Perl_ck_fun, /* send */
Perl_ck_fun, /* recv */
Perl_ck_fun, /* socket */
Perl_ck_fun, /* sockpair */
Perl_ck_fun, /* bind */
Perl_ck_fun, /* connect */
Perl_ck_fun, /* listen */
Perl_ck_fun, /* accept */
Perl_ck_fun, /* shutdown */
Perl_ck_fun, /* gsockopt */
Perl_ck_fun, /* ssockopt */
Perl_ck_fun, /* getsockname */
Perl_ck_fun, /* getpeername */
Perl_ck_ftst, /* lstat */
Perl_ck_ftst, /* stat */
Perl_ck_ftst, /* ftrread */
Perl_ck_ftst, /* ftrwrite */
Perl_ck_ftst, /* ftrexec */
Perl_ck_ftst, /* fteread */
Perl_ck_ftst, /* ftewrite */
Perl_ck_ftst, /* fteexec */
Perl_ck_ftst, /* ftis */
Perl_ck_ftst, /* ftsize */
Perl_ck_ftst, /* ftmtime */
Perl_ck_ftst, /* ftatime */
Perl_ck_ftst, /* ftctime */
Perl_ck_ftst, /* ftrowned */
Perl_ck_ftst, /* fteowned */
Perl_ck_ftst, /* ftzero */
Perl_ck_ftst, /* ftsock */
Perl_ck_ftst, /* ftchr */
Perl_ck_ftst, /* ftblk */
Perl_ck_ftst, /* ftfile */
Perl_ck_ftst, /* ftdir */
Perl_ck_ftst, /* ftpipe */
Perl_ck_ftst, /* ftsuid */
Perl_ck_ftst, /* ftsgid */
Perl_ck_ftst, /* ftsvtx */
Perl_ck_ftst, /* ftlink */
Perl_ck_ftst, /* fttty */
Perl_ck_ftst, /* fttext */
Perl_ck_ftst, /* ftbinary */
Perl_ck_trunc, /* chdir */
Perl_ck_fun, /* chown */
Perl_ck_fun, /* chroot */
Perl_ck_fun, /* unlink */
Perl_ck_fun, /* chmod */
Perl_ck_fun, /* utime */
Perl_ck_fun, /* rename */
Perl_ck_fun, /* link */
Perl_ck_fun, /* symlink */
Perl_ck_fun, /* readlink */
Perl_ck_fun, /* mkdir */
Perl_ck_fun, /* rmdir */
Perl_ck_fun, /* open_dir */
Perl_ck_fun, /* readdir */
Perl_ck_fun, /* telldir */
Perl_ck_fun, /* seekdir */
Perl_ck_fun, /* rewinddir */
Perl_ck_fun, /* closedir */
Perl_ck_null, /* fork */
Perl_ck_null, /* wait */
Perl_ck_fun, /* waitpid */
Perl_ck_exec, /* system */
Perl_ck_exec, /* exec */
Perl_ck_fun, /* kill */
Perl_ck_null, /* getppid */
Perl_ck_fun, /* getpgrp */
Perl_ck_fun, /* setpgrp */
Perl_ck_fun, /* getpriority */
Perl_ck_fun, /* setpriority */
Perl_ck_null, /* time */
Perl_ck_null, /* tms */
Perl_ck_fun, /* localtime */
Perl_ck_fun, /* gmtime */
Perl_ck_fun, /* alarm */
Perl_ck_fun, /* sleep */
Perl_ck_fun, /* shmget */
Perl_ck_fun, /* shmctl */
Perl_ck_fun, /* shmread */
Perl_ck_fun, /* shmwrite */
Perl_ck_fun, /* msgget */
Perl_ck_fun, /* msgctl */
Perl_ck_fun, /* msgsnd */
Perl_ck_fun, /* msgrcv */
Perl_ck_fun, /* semop */
Perl_ck_fun, /* semget */
Perl_ck_fun, /* semctl */
Perl_ck_require, /* require */
Perl_ck_fun, /* dofile */
Perl_ck_svconst, /* hintseval */
Perl_ck_eval, /* entereval */
Perl_ck_null, /* leaveeval */
Perl_ck_eval, /* entertry */
Perl_ck_null, /* leavetry */
Perl_ck_fun, /* ghbyname */
Perl_ck_fun, /* ghbyaddr */
Perl_ck_null, /* ghostent */
Perl_ck_fun, /* gnbyname */
Perl_ck_fun, /* gnbyaddr */
Perl_ck_null, /* gnetent */
Perl_ck_fun, /* gpbyname */
Perl_ck_fun, /* gpbynumber */
Perl_ck_null, /* gprotoent */
Perl_ck_fun, /* gsbyname */
Perl_ck_fun, /* gsbyport */
Perl_ck_null, /* gservent */
Perl_ck_fun, /* shostent */
Perl_ck_fun, /* snetent */
Perl_ck_fun, /* sprotoent */
Perl_ck_fun, /* sservent */
Perl_ck_null, /* ehostent */
Perl_ck_null, /* enetent */
Perl_ck_null, /* eprotoent */
Perl_ck_null, /* eservent */
Perl_ck_fun, /* gpwnam */
Perl_ck_fun, /* gpwuid */
Perl_ck_null, /* gpwent */
Perl_ck_null, /* spwent */
Perl_ck_null, /* epwent */
Perl_ck_fun, /* ggrnam */
Perl_ck_fun, /* ggrgid */
Perl_ck_null, /* ggrent */
Perl_ck_null, /* sgrent */
Perl_ck_null, /* egrent */
Perl_ck_null, /* getlogin */
Perl_ck_fun, /* syscall */
Perl_ck_rfun, /* lock */
Perl_ck_null, /* once */
Perl_ck_null, /* custom */
Perl_ck_each, /* reach */
Perl_ck_each, /* rkeys */
Perl_ck_each, /* rvalues */
Perl_ck_null, /* coreargs */
Perl_ck_null, /* runcv */
Perl_ck_fun, /* fc */
Perl_ck_null, /* padcv */
Perl_ck_null, /* introcv */
Perl_ck_null, /* clonecv */
Perl_ck_null, /* padrange */
Perl_ck_refassign, /* refassign */
Perl_ck_null, /* lvref */
Perl_ck_null, /* lvrefslice */
Perl_ck_null, /* lvavref */
Perl_ck_null, /* anonconst */
}
#endif
#ifdef PERL_CHECK_INITED
;
#endif /* #ifdef PERL_CHECK_INITED */
#ifndef PERL_GLOBAL_STRUCT_INIT
#ifndef DOINIT
EXTCONST U32 PL_opargs[];
#else
EXTCONST U32 PL_opargs[] = {
0x00000000, /* null */
0x00000100, /* stub */
0x00006d04, /* scalar */
0x00000104, /* pushmark */
0x00000004, /* wantarray */
0x00005904, /* const */
0x00005844, /* gvsv */
0x00005844, /* gv */
0x00044844, /* gelem */
0x00000044, /* padsv */
0x00000040, /* padav */
0x00000040, /* padhv */
0x00000040, /* padany */
0x00001440, /* pushre */
0x00044804, /* sassign */
0x00088808, /* aassign */
0x0000ac0d, /* chop */
0x00026c8c, /* schop */
0x0000ac1d, /* chomp */
0x00026c9c, /* schomp */
0x00026c84, /* defined */
0x0003ec04, /* undef */
0x00026c84, /* study */
0x0003ec8c, /* pos */
0x00004464, /* preinc */
0x00004444, /* i_preinc */
0x00004464, /* predec */
0x00004444, /* i_predec */
0x0000442c, /* postinc */
0x0000440c, /* i_postinc */
0x0000442c, /* postdec */
0x0000440c, /* i_postdec */
0x0004491e, /* pow */
0x0004493e, /* multiply */
0x0004491e, /* i_multiply */
0x0004491e, /* u_multiply */
0x0004493e, /* divide */
0x0004491e, /* i_divide */
0x0004493e, /* modulo */
0x0004491e, /* i_modulo */
0x0004880b, /* repeat */
0x0004493e, /* add */
0x0004491e, /* i_add */
0x0004491e, /* u_add */
0x0004493e, /* subtract */
0x0004491e, /* i_subtract */
0x0004491e, /* u_subtract */
0x0004491e, /* concat */
0x0000501e, /* stringify */
0x0004491e, /* left_shift */
0x0004491e, /* right_shift */
0x00044926, /* lt */
0x00044906, /* i_lt */
0x00044926, /* gt */
0x00044906, /* i_gt */
0x00044926, /* le */
0x00044906, /* i_le */
0x00044926, /* ge */
0x00044906, /* i_ge */
0x00044926, /* eq */
0x00044906, /* i_eq */
0x00044926, /* ne */
0x00044906, /* i_ne */
0x0004492e, /* cmp */
0x0004490e, /* i_cmp */
0x00044906, /* s_lt */
0x00044906, /* s_gt */
0x00044906, /* s_le */
0x00044906, /* s_ge */
0x00044906, /* s_eq */
0x00044906, /* s_ne */
0x0004490e, /* s_cmp */
0x0004490e, /* bit_and */
0x0004490e, /* bit_xor */
0x0004490e, /* bit_or */
0x0004491e, /* i_bit_and */
0x0004491e, /* i_bit_xor */
0x0004491e, /* i_bit_or */
0x0004480e, /* s_bit_and */
0x0004480e, /* s_bit_xor */
0x0004480e, /* s_bit_or */
0x0000452e, /* negate */
0x0000450e, /* i_negate */
0x00004506, /* not */
0x0000452e, /* complement */
0x0000451e, /* i_complement */
0x0000441e, /* s_complement */
0x00000804, /* smartmatch */
0x0004511e, /* atan2 */
0x00026d9e, /* sin */
0x00026d9e, /* cos */
0x00026c1c, /* rand */
0x00026c1c, /* srand */
0x00026d9e, /* exp */
0x00026d9e, /* log */
0x00026d9e, /* sqrt */
0x00026d9e, /* int */
0x00026d9e, /* hex */
0x00026d9e, /* oct */
0x00026d9e, /* abs */
0x0001c444, /* rv2gv */
0x0001c444, /* rv2sv */
0x0000c404, /* av2arylen */
0x0001c440, /* rv2cv */
0x00005804, /* anoncode */
0x00026c84, /* prototype */