X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=opcode.h;h=15331b733bbcb230d0f4fbda8e9a29526b4d00fb;hb=5dad0344e72a654bb2ed9a76760452bdb56c6e6d;hp=a18311f9f5d184f9ddbcd3d063baf665337b70ed;hpb=c07a80fdfe3926b5eb0585b674aa5d1f57b32ade;p=p5sagit%2Fp5-mst-13.2.git diff --git a/opcode.h b/opcode.h index a18311f..15331b7 100644 --- a/opcode.h +++ b/opcode.h @@ -838,9 +838,9 @@ EXT char *op_desc[] = { "keys", "delete", "exists operator", - "associative array deref", - "associative array elem", - "associative array slice", + "hash deref", + "hash elem", + "hash slice", "unpack", "pack", "split", @@ -1052,14 +1052,17 @@ EXT char *op_desc[] = { }; #endif +OP * ck_anoncode _((OP* op)); +OP * ck_bitop _((OP* op)); OP * ck_concat _((OP* op)); OP * ck_delete _((OP* op)); OP * ck_eof _((OP* op)); OP * ck_eval _((OP* op)); OP * ck_exec _((OP* op)); -OP * ck_formline _((OP* op)); +OP * ck_exists _((OP* op)); OP * ck_ftst _((OP* op)); OP * ck_fun _((OP* op)); +OP * ck_fun_locale _((OP* op)); OP * ck_glob _((OP* op)); OP * ck_grep _((OP* op)); OP * ck_index _((OP* op)); @@ -1072,6 +1075,7 @@ OP * ck_repeat _((OP* op)); OP * ck_require _((OP* op)); OP * ck_rfun _((OP* op)); OP * ck_rvconst _((OP* op)); +OP * ck_scmp _((OP* op)); OP * ck_select _((OP* op)); OP * ck_shift _((OP* op)); OP * ck_sort _((OP* op)); @@ -1776,9 +1780,9 @@ EXT OP * (*ppaddr[])() = { #endif #ifndef DOINIT -EXT OP * (*check[])(); +EXT OP * (*check[]) _((OP *op)); #else -EXT OP * (*check[])() = { +EXT OP * (*check[]) _((OP *op)) = { ck_null, /* null */ ck_null, /* stub */ ck_fun, /* scalar */ @@ -1797,7 +1801,7 @@ EXT OP * (*check[])() = { ck_rvconst, /* rv2sv */ ck_null, /* av2arylen */ ck_rvconst, /* rv2cv */ - ck_null, /* anoncode */ + ck_anoncode, /* anoncode */ ck_null, /* prototype */ ck_spair, /* refgen */ ck_null, /* srefgen */ @@ -1845,8 +1849,8 @@ EXT OP * (*check[])() = { ck_null, /* i_subtract */ ck_concat, /* concat */ ck_fun, /* stringify */ - ck_null, /* left_shift */ - ck_null, /* right_shift */ + ck_bitop, /* left_shift */ + ck_bitop, /* right_shift */ ck_null, /* lt */ ck_null, /* i_lt */ ck_null, /* gt */ @@ -1861,20 +1865,20 @@ EXT OP * (*check[])() = { ck_null, /* i_ne */ ck_null, /* ncmp */ ck_null, /* i_ncmp */ - ck_null, /* slt */ - ck_null, /* sgt */ - ck_null, /* sle */ - ck_null, /* sge */ + ck_scmp, /* slt */ + ck_scmp, /* sgt */ + ck_scmp, /* sle */ + ck_scmp, /* sge */ ck_null, /* seq */ ck_null, /* sne */ - ck_null, /* scmp */ - ck_null, /* bit_and */ - ck_null, /* bit_xor */ - ck_null, /* bit_or */ + ck_scmp, /* scmp */ + ck_bitop, /* bit_and */ + ck_bitop, /* bit_xor */ + ck_bitop, /* bit_or */ ck_null, /* negate */ ck_null, /* i_negate */ ck_null, /* not */ - ck_null, /* complement */ + ck_bitop, /* complement */ ck_fun, /* atan2 */ ck_fun, /* sin */ ck_fun, /* cos */ @@ -1892,15 +1896,15 @@ EXT OP * (*check[])() = { ck_fun, /* vec */ ck_index, /* index */ ck_index, /* rindex */ - ck_fun, /* sprintf */ - ck_formline, /* formline */ + ck_fun_locale, /* sprintf */ + ck_fun, /* formline */ ck_fun, /* ord */ ck_fun, /* chr */ ck_fun, /* crypt */ - ck_fun, /* ucfirst */ - ck_fun, /* lcfirst */ - ck_fun, /* uc */ - ck_fun, /* lc */ + ck_fun_locale, /* ucfirst */ + ck_fun_locale, /* lcfirst */ + ck_fun_locale, /* uc */ + ck_fun_locale, /* lc */ ck_fun, /* quotemeta */ ck_rvconst, /* rv2av */ ck_null, /* aelemfast */ @@ -1910,7 +1914,7 @@ EXT OP * (*check[])() = { ck_fun, /* values */ ck_fun, /* keys */ ck_delete, /* delete */ - ck_delete, /* exists */ + ck_exists, /* exists */ ck_rvconst, /* rv2hv */ ck_null, /* helem */ ck_null, /* hslice */ @@ -2154,7 +2158,7 @@ EXT U32 opargs[] = { 0x0000098c, /* ref */ 0x00009104, /* bless */ 0x00000008, /* backtick */ - 0x00001108, /* glob */ + 0x00009908, /* glob */ 0x00000008, /* readline */ 0x00000008, /* rcatline */ 0x00000104, /* regcmaybe */ @@ -2195,8 +2199,8 @@ EXT U32 opargs[] = { 0x0000111e, /* i_subtract */ 0x0000110e, /* concat */ 0x0000010e, /* stringify */ - 0x0000111e, /* left_shift */ - 0x0000111e, /* right_shift */ + 0x0000110e, /* left_shift */ + 0x0000110e, /* right_shift */ 0x00001136, /* lt */ 0x00001116, /* i_lt */ 0x00001136, /* gt */ @@ -2247,11 +2251,11 @@ EXT U32 opargs[] = { 0x0000099e, /* ord */ 0x0000098e, /* chr */ 0x0000110e, /* crypt */ - 0x0000010e, /* ucfirst */ - 0x0000010e, /* lcfirst */ - 0x0000010e, /* uc */ - 0x0000010e, /* lc */ - 0x0000010e, /* quotemeta */ + 0x0000098e, /* ucfirst */ + 0x0000098e, /* lcfirst */ + 0x0000098e, /* uc */ + 0x0000098e, /* lc */ + 0x0000098e, /* quotemeta */ 0x00000048, /* rv2av */ 0x00001304, /* aelemfast */ 0x00001304, /* aelem */ @@ -2259,7 +2263,7 @@ EXT U32 opargs[] = { 0x00000408, /* each */ 0x00000408, /* values */ 0x00000408, /* keys */ - 0x00000104, /* delete */ + 0x00000100, /* delete */ 0x00000114, /* exists */ 0x00000048, /* rv2hv */ 0x00001404, /* helem */ @@ -2325,7 +2329,7 @@ EXT U32 opargs[] = { 0x00000604, /* binmode */ 0x00021755, /* tie */ 0x00000714, /* untie */ - 0x0000070c, /* tied */ + 0x00000704, /* tied */ 0x00011414, /* dbmopen */ 0x00000414, /* dbmclose */ 0x00111108, /* sselect */ @@ -2336,7 +2340,7 @@ EXT U32 opargs[] = { 0x00000000, /* leavewrite */ 0x00002e15, /* prtf */ 0x00002e15, /* print */ - 0x0091160c, /* sysopen */ + 0x00911604, /* sysopen */ 0x0091761d, /* sysread */ 0x0091161d, /* syswrite */ 0x0091161d, /* send */