diff options
author | Paul "LeoNerd" Evans <leonerd@leonerd.org.uk> | 2021-12-03 21:23:00 +0000 |
---|---|---|
committer | Paul "LeoNerd" Evans <leonerd@leonerd.org.uk> | 2021-12-08 00:05:10 +0000 |
commit | d2817bd771b5f4a948f1a5395803b7d795453c07 (patch) | |
tree | 4dcff879f83d688917b30fd34b9d4bd35238c03b /opcode.h | |
parent | b2d0d92ba8eefbcb5afd8e04a8f263b4938f26ef (diff) | |
download | perl-d2817bd771b5f4a948f1a5395803b7d795453c07.tar.gz |
Add builtin::blessed, refaddr and reftype
Diffstat (limited to 'opcode.h')
-rw-r--r-- | opcode.h | 23 |
1 files changed, 22 insertions, 1 deletions
@@ -558,6 +558,9 @@ EXTCONST char* const PL_op_name[] = { "isweak", "weaken", "unweaken", + "blessed", + "refaddr", + "reftype", "freed", }; #endif @@ -975,6 +978,9 @@ EXTCONST char* const PL_op_desc[] = { "weakref type test", "reference weaken", "reference unweaken", + "blessed", + "refaddr", + "reftype", "freed op", }; #endif @@ -1395,6 +1401,9 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ Perl_pp_isweak, Perl_pp_weaken, Perl_pp_unweaken, + Perl_pp_blessed, + Perl_pp_refaddr, + Perl_pp_reftype, } #endif ; @@ -1811,6 +1820,9 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */ Perl_ck_null, /* isweak */ Perl_ck_null, /* weaken */ Perl_ck_null, /* unweaken */ + Perl_ck_null, /* blessed */ + Perl_ck_null, /* refaddr */ + Perl_ck_null, /* reftype */ } #endif ; @@ -2228,6 +2240,9 @@ EXTCONST U32 PL_opargs[] = { 0x0000011e, /* isweak */ 0x00000100, /* weaken */ 0x00000100, /* unweaken */ + 0x0000011e, /* blessed */ + 0x0000011e, /* refaddr */ + 0x0000011e, /* reftype */ }; #endif @@ -2902,6 +2917,9 @@ EXTCONST I16 PL_op_private_bitdef_ix[] = { 75, /* isweak */ 0, /* weaken */ 0, /* unweaken */ + 75, /* blessed */ + 75, /* refaddr */ + 75, /* reftype */ }; @@ -2941,7 +2959,7 @@ EXTCONST U16 PL_op_private_bitdefs[] = { 0x117c, 0x21b8, 0x09b4, 0x3fec, 0x2548, 0x4764, 0x07c1, /* trans, transr */ 0x0fbc, 0x04d8, 0x0067, /* sassign */ 0x0c78, 0x0b74, 0x0a70, 0x30cc, 0x05a8, 0x0067, /* aassign */ - 0x4530, 0x0003, /* chomp, schomp, scomplement, sin, cos, exp, log, sqrt, int, hex, oct, abs, ord, chr, chroot, rmdir, isbool, isweak */ + 0x4530, 0x0003, /* chomp, schomp, scomplement, sin, cos, exp, log, sqrt, int, hex, oct, abs, ord, chr, chroot, rmdir, isbool, isweak, blessed, refaddr, reftype */ 0x05b4, 0x30cc, 0x0003, /* pos */ 0x4530, 0x0067, /* pow, multiply, i_multiply, divide, i_divide, modulo, i_modulo, add, i_add, subtract, i_subtract */ 0x1538, 0x0067, /* repeat */ @@ -3409,6 +3427,9 @@ EXTCONST U8 PL_op_private_valid[] = { /* ISWEAK */ (OPpARG1_MASK|OPpTARGET_MY), /* WEAKEN */ (OPpARG1_MASK), /* UNWEAKEN */ (OPpARG1_MASK), + /* BLESSED */ (OPpARG1_MASK|OPpTARGET_MY), + /* REFADDR */ (OPpARG1_MASK|OPpTARGET_MY), + /* REFTYPE */ (OPpARG1_MASK|OPpTARGET_MY), }; |