diff options
author | Nicholas Clark <nick@ccl4.org> | 2010-02-20 12:21:52 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2010-05-01 14:01:41 +0100 |
commit | c6bf6a65e4bf512beae58d59446046f4ca20372f (patch) | |
tree | 1c57f74df902dcff874fbc60c8649788ad6919ce /mg.c | |
parent | 620d5b66847dea9c84e6d8017fd953345ed9af51 (diff) | |
download | perl-c6bf6a65e4bf512beae58d59446046f4ca20372f.tar.gz |
On the save stack, store the save type as the bottom 6 bits of a UV.
This makes the other 26 (or 58) bits available for save data.
Diffstat (limited to 'mg.c')
-rw-r--r-- | mg.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -3071,11 +3071,12 @@ S_restore_magic(pTHX_ const void *p) */ if (PL_savestack_ix == mgs->mgs_ss_ix) { - I32 popval = SSPOPINT; - assert(popval == SAVEt_DESTRUCTOR_X); + UV type = SSPOPUV; + I32 popval; + assert(type == SAVEt_DESTRUCTOR_X); PL_savestack_ix -= 2; - popval = SSPOPINT; - assert(popval == SAVEt_ALLOC); + type = SSPOPUV; + assert(type == SAVEt_ALLOC); popval = SSPOPINT; PL_savestack_ix -= popval; } |