Change 27234 by [EMAIL PROTECTED] on 2006/02/20 00:02:53 Re-order CV flags to bring the 4 CVf_BUILTIN_ATTRS into adjacent bits, and make other flag bits that are paired in the code adjacent. Will produce tighter code on ARM; might help on other platforms too.
Affected files ... ... //depot/perl/cv.h#54 edit ... //depot/perl/ext/Devel/Peek/t/Peek.t#11 edit Differences ... ==== //depot/perl/cv.h#54 (text) ==== Index: perl/cv.h --- perl/cv.h#53~25233~ 2005-07-28 02:07:57.000000000 -0700 +++ perl/cv.h 2006-02-19 16:02:53.000000000 -0800 @@ -74,22 +74,23 @@ #define CvFLAGS(sv) ((XPVCV*)SvANY(sv))->xcv_flags #define CvOUTSIDE_SEQ(sv) ((XPVCV*)SvANY(sv))->xcv_outside_seq -#define CVf_CLONE 0x0001 /* anon CV uses external lexicals */ -#define CVf_CLONED 0x0002 /* a clone of one of those */ -#define CVf_ANON 0x0004 /* CvGV() can't be trusted */ -#define CVf_OLDSTYLE 0x0008 -#define CVf_UNIQUE 0x0010 /* sub is only called once (eg PL_main_cv, +#define CVf_METHOD 0x0001 /* CV is explicitly marked as a method */ +#define CVf_LOCKED 0x0002 /* CV locks itself or first arg on entry */ +#define CVf_LVALUE 0x0004 /* CV return value can be used as lvalue */ +#define CVf_ASSERTION 0x0008 /* CV called only when asserting */ + +#define CVf_WEAKOUTSIDE 0x0010 /* CvOUTSIDE isn't ref counted */ +#define CVf_CLONE 0x0020 /* anon CV uses external lexicals */ +#define CVf_CLONED 0x0040 /* a clone of one of those */ +#define CVf_ANON 0x0080 /* CvGV() can't be trusted */ +#define CVf_UNIQUE 0x0100 /* sub is only called once (eg PL_main_cv, * require, eval). Not to be confused * with the GVf_UNIQUE flag associated * with the :unique attribute */ -#define CVf_NODEBUG 0x0020 /* no DB::sub indirection for this CV +#define CVf_NODEBUG 0x0200 /* no DB::sub indirection for this CV (esp. useful for special XSUBs) */ -#define CVf_METHOD 0x0040 /* CV is explicitly marked as a method */ -#define CVf_LOCKED 0x0080 /* CV locks itself or first arg on entry */ -#define CVf_LVALUE 0x0100 /* CV return value can be used as lvalue */ -#define CVf_CONST 0x0200 /* inlinable sub */ -#define CVf_WEAKOUTSIDE 0x0400 /* CvOUTSIDE isn't ref counted */ -#define CVf_ASSERTION 0x0800 /* CV called only when asserting */ +#define CVf_CONST 0x0400 /* inlinable sub */ +#define CVf_OLDSTYLE 0x0800 /* This symbol for optimised communication between toke.c and op.c: */ #define CVf_BUILTIN_ATTRS (CVf_METHOD|CVf_LOCKED|CVf_LVALUE|CVf_ASSERTION) ==== //depot/perl/ext/Devel/Peek/t/Peek.t#11 (text) ==== Index: perl/ext/Devel/Peek/t/Peek.t --- perl/ext/Devel/Peek/t/Peek.t#10~26759~ 2006-01-09 20:28:25.000000000 -0800 +++ perl/ext/Devel/Peek/t/Peek.t 2006-02-19 16:02:53.000000000 -0800 @@ -219,7 +219,7 @@ DEPTH = 0 (?: MUTEXP = $ADDR OWNER = $ADDR -)? FLAGS = 0x404 +)? FLAGS = 0x90 OUTSIDE_SEQ = \\d+ PADLIST = $ADDR PADNAME = $ADDR\\($ADDR\\) PAD = $ADDR\\($ADDR\\) @@ -499,7 +499,7 @@ DEPTH = 0 (?: MUTEXP = $ADDR OWNER = $ADDR -)? FLAGS = 0x200 +)? FLAGS = 0x400 OUTSIDE_SEQ = 0 PADLIST = 0x0 OUTSIDE = 0x0 \\(null\\)'); End of Patch.