On Sun, Oct 15, 2006 at 04:02:43PM -0500, Craig A. Berry wrote: > Change 28770 by [EMAIL PROTECTED] on 2006/08/31 08:26:13 > > Save 4 bytes from struct context (on ILP32) by moving cx_type into > struct block and struct subst. > > Details here: > > http://public.activestate.com/cgi-bin/perlbrowse/28770
What type does U8 end up as on VMS? And what type is bool? What's the offset of the I32 blku_oldsp in struct block? 3, or 4? Does the appended patch fix it? Nicholas Clark ==== //depot/perl/cop.h#131 - /home/nick/p4perl/perl/cop.h ==== --- /tmp/tmp.74363.0 Sun Oct 15 22:55:17 2006 +++ /home/nick/p4perl/perl/cop.h Sun Oct 15 22:39:23 2006 @@ -497,6 +497,7 @@ struct block_givwhen { struct block { U16 blku_type; /* what kind of context this is */ U8 blku_gimme; /* is this block running in list context? */ + U8 blku_spare; /* Padding to match with struct subst */ I32 blku_oldsp; /* stack pointer to copy stuff down to */ COP * blku_oldcop; /* old curcop pointer */ I32 blku_oldmarksp; /* mark stack index */ @@ -556,8 +557,8 @@ struct block { /* substitution context */ struct subst { U16 sbu_type; /* what kind of context this is */ - bool sbu_once; - bool sbu_rxtainted; + U8 sbu_once; /* Actually both booleans, but U8 to matches */ + U8 sbu_rxtainted; /* struct block */ I32 sbu_iters; I32 sbu_maxiters; I32 sbu_rflags;