diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-03-07 23:24:55 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-03-07 23:24:55 +0000 |
commit | 598921a7d8d43baa942b750d26a55dadca2c13d5 (patch) | |
tree | 504e1749f653a90dd2ac976c96b0689ef6336e85 /op.h | |
parent | a724edfe531a4a4cce2d4bbb94e1f583d86bc9a3 (diff) | |
download | perl-598921a7d8d43baa942b750d26a55dadca2c13d5.tar.gz |
Some of the MAD structures in headers, plus PL_madskills and PL_xmlfp,
and default definitions for the 2 variables. (Which will save a lot of
conditional complilation, by instead letting the C compiler optimiser
remove dead code.)
p4raw-id: //depot/perl@27408
Diffstat (limited to 'op.h')
-rw-r--r-- | op.h | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -36,6 +36,12 @@ #define OPCODE U16 #endif +#ifdef PERL_MAD +# define MADPROP_IN_BASEOP MADPROP* op_madprop; +#else +# define MADPROP_IN_BASEOP +#endif + #ifdef BASEOP_DEFINITION #define BASEOP BASEOP_DEFINITION #else @@ -43,6 +49,7 @@ OP* op_next; \ OP* op_sibling; \ OP* (CPERLscope(*op_ppaddr))(pTHX); \ + MADPROP_IN_BASEOP \ PADOFFSET op_targ; \ unsigned op_type:9; \ unsigned op_opt:1; \ @@ -549,3 +556,25 @@ struct loop { (var = (OP*)safemalloc(size), memzero(var, size)) #define FreeOp(p) Safefree(p) #endif + +#ifdef PERL_MAD +# define MAD_NULL 1 +# define MAD_PV 2 +# define MAD_OP 3 +# define MAD_SV 4 + +struct madprop { + MADPROP* mad_next; + void *mad_val; + U32 mad_vlen; +/* short mad_count; */ + char mad_key; + char mad_type; +}; + +struct token { + I32 tk_type; + YYSTYPE tk_lval; + MADPROP* tk_mad; +}; +#endif |