From ac2170572dc0ca66736a1b979605ad983a4909a3 Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Sat, 30 Jun 2012 22:29:28 -0700 Subject: [PATCH] padcv op type --- opcode.h | 5 +++++ opnames.h | 3 ++- pp.c | 5 +++++ pp_proto.h | 1 + regen/opcodes | 2 ++ 5 files changed, 15 insertions(+), 1 deletion(-) diff --git a/opcode.h b/opcode.h index aeee45c..0d28351 100644 --- a/opcode.h +++ b/opcode.h @@ -521,6 +521,7 @@ EXTCONST char* const PL_op_name[] = { "coreargs", "runcv", "fc", + "padcv", "freed", }; #endif @@ -902,6 +903,7 @@ EXTCONST char* const PL_op_desc[] = { "CORE:: subroutine", "__SUB__", "fc", + "private subroutine", "freed op", }; #endif @@ -1297,6 +1299,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ Perl_pp_coreargs, Perl_pp_runcv, Perl_pp_fc, + Perl_pp_padcv, } #endif #ifdef PERL_PPADDR_INITED @@ -1688,6 +1691,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */ Perl_ck_null, /* coreargs */ Perl_ck_null, /* runcv */ Perl_ck_fun, /* fc */ + Perl_ck_null, /* padcv */ } #endif #ifdef PERL_CHECK_INITED @@ -2073,6 +2077,7 @@ EXTCONST U32 PL_opargs[] = { 0x00000600, /* coreargs */ 0x00000004, /* runcv */ 0x00009b8e, /* fc */ + 0x00000040, /* padcv */ }; #endif diff --git a/opnames.h b/opnames.h index 53699fd..d8c9f64 100644 --- a/opnames.h +++ b/opnames.h @@ -387,10 +387,11 @@ typedef enum opcode { OP_COREARGS = 370, OP_RUNCV = 371, OP_FC = 372, + OP_PADCV = 373, OP_max } opcode; -#define MAXO 373 +#define MAXO 374 #define OP_FREED MAXO /* the OP_IS_* macros are optimized to a simple range check because diff --git a/pp.c b/pp.c index 171201d..0c62fae 100644 --- a/pp.c +++ b/pp.c @@ -144,6 +144,11 @@ PP(pp_padhv) RETURN; } +PP(pp_padcv) +{ + DIE(aTHX_ "panic: padcv"); +} + /* Translations. */ static const char S_no_symref_sv[] = diff --git a/pp_proto.h b/pp_proto.h index 833738d..2cdaf3a 100644 --- a/pp_proto.h +++ b/pp_proto.h @@ -163,6 +163,7 @@ PERL_CALLCONV OP *Perl_pp_or(pTHX); PERL_CALLCONV OP *Perl_pp_ord(pTHX); PERL_CALLCONV OP *Perl_pp_pack(pTHX); PERL_CALLCONV OP *Perl_pp_padav(pTHX); +PERL_CALLCONV OP *Perl_pp_padcv(pTHX); PERL_CALLCONV OP *Perl_pp_padhv(pTHX); PERL_CALLCONV OP *Perl_pp_padsv(pTHX); PERL_CALLCONV OP *Perl_pp_pipe_op(pTHX); diff --git a/regen/opcodes b/regen/opcodes index ad10c17..117566b 100644 --- a/regen/opcodes +++ b/regen/opcodes @@ -546,3 +546,5 @@ runcv __SUB__ ck_null s0 # fc and \F fc fc ck_fun fstu% S? + +padcv private subroutine ck_null d0 -- 2.7.4