From f284fecd86b66528552854be16564b432fd1480c Mon Sep 17 00:00:00 2001 From: David Mitchell Date: Sat, 17 Oct 2015 15:22:05 +0100 Subject: reorder 'struct block' fields. On 64-bit builds, there was a 32-bit hole near the beginning. Shuffle this towards the middle of the struct (just before the blk_u union). Unfortunately this (moved) hole can't be filled by having an I32 at the start of each union member, since struct block_eval is already the largest and has no 32-bit fields. Still, moving further on than some of the hotter fields can't hurt. --- cop.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cop.h') diff --git a/cop.h b/cop.h index 8527384221..8408e093db 100644 --- a/cop.h +++ b/cop.h @@ -880,11 +880,11 @@ struct block { I32 blku_oldsaveix; /* saved PL_savestack_ix */ /* all the fields above must be aligned with same-sized fields as sbu */ I32 blku_oldsp; /* current sp floor: where nextstate pops to */ - COP * blku_oldcop; /* old curcop pointer */ I32 blku_oldmarksp; /* mark stack index */ - I32 blku_oldscopesp; /* scope stack index */ + COP * blku_oldcop; /* old curcop pointer */ PMOP * blku_oldpm; /* values of pattern match vars */ SSize_t blku_old_tmpsfloor; /* saved PL_tmps_floor */ + I32 blku_oldscopesp; /* scope stack index */ union { struct block_sub blku_sub; -- cgit v1.2.1