summaryrefslogtreecommitdiff
path: root/sv.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2013-09-11 11:26:29 +0200
committerNicholas Clark <nick@ccl4.org>2013-09-13 09:59:36 +0200
commit408dc2ec1c7e0bb6d22bd96e6ffe02473c573470 (patch)
tree53132460228315dcce864c30e530e4495a954995 /sv.h
parentd054cdb0a9fbeeddfa67b2ef90ca115307f28fb0 (diff)
downloadperl-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.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/sv.h b/sv.h
index a5c6b25960..dd015d7586 100644
--- a/sv.h
+++ b/sv.h
@@ -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