diff options
author | Nicholas Clark <nick@ccl4.org> | 2013-09-11 11:26:29 +0200 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2013-09-13 09:59:36 +0200 |
commit | 408dc2ec1c7e0bb6d22bd96e6ffe02473c573470 (patch) | |
tree | 53132460228315dcce864c30e530e4495a954995 /sv.h | |
parent | d054cdb0a9fbeeddfa67b2ef90ca115307f28fb0 (diff) | |
download | perl-408dc2ec1c7e0bb6d22bd96e6ffe02473c573470.tar.gz |
Move BmUSEFUL to the IV slot from the NV slot, simplifying union _xnvu.
This change is made possible by commit 8922e4382e9c1488 (June 2013), which
eliminated BmPREVIOUS, which had been using the IV slot.
Diffstat (limited to 'sv.h')
-rw-r--r-- | sv.h | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -478,7 +478,6 @@ union _xnvu { U32 xlow; U32 xhigh; } xpad_cop_seq; /* used by pad.c for cop_sequence */ - I32 xbm_useful; }; union _xivu { @@ -1391,13 +1390,13 @@ sv_force_normal does nothing. #if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) # define BmUSEFUL(sv) \ (*({ SV *const _bmuseful = MUTABLE_SV(sv); \ - assert(SvTYPE(_bmuseful) == SVt_PVMG); \ + assert(SvTYPE(_bmuseful) >= SVt_PVIV); \ assert(SvVALID(_bmuseful)); \ - assert(!SvNOK(_bmuseful)); \ - &(((XPVMG*) SvANY(_bmuseful))->xnv_u.xbm_useful); \ + assert(!SvIOK(_bmuseful)); \ + &(((XPVIV*) SvANY(_bmuseful))->xiv_u.xivu_iv); \ })) #else -# define BmUSEFUL(sv) ((XPVMG*) SvANY(sv))->xnv_u.xbm_useful +# define BmUSEFUL(sv) ((XPVIV*) SvANY(sv))->xiv_u.xivu_uv #endif |