diff options
author | David Mitchell <davem@iabyn.com> | 2015-10-17 15:22:05 +0100 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2016-02-03 09:18:30 +0000 |
commit | f284fecd86b66528552854be16564b432fd1480c (patch) | |
tree | 88c78dba984af5e3d19c84ad254148cdfb81a320 /cop.h | |
parent | e992140c0e6f8ddfe08a88cc28a1d24149061d74 (diff) | |
download | perl-f284fecd86b66528552854be16564b432fd1480c.tar.gz |
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.
Diffstat (limited to 'cop.h')
-rw-r--r-- | cop.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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; |