summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-10-29 20:43:49 +0100
committerNicholas Clark <nick@ccl4.org>2010-10-29 21:21:20 +0100
commit9488fb36aa5bed37d7b2024c02acfd35ed095307 (patch)
tree367d2a2591df1a0fab79b68c1b66f86752334521
parentd279c9d407f3c539e7fd3f450d3a0f6a356b98a9 (diff)
downloadperl-9488fb36aa5bed37d7b2024c02acfd35ed095307.tar.gz
Merge B::PADOP::padix into the common B::OP accessor XS code.
On this platform, this saves about 800 bytes.
-rw-r--r--ext/B/B.xs8
1 files changed, 3 insertions, 5 deletions
diff --git a/ext/B/B.xs b/ext/B/B.xs
index a0259a0296..724a77e34e 100644
--- a/ext/B/B.xs
+++ b/ext/B/B.xs
@@ -867,6 +867,8 @@ threadsv_names()
#define SVOP_sv_ix SVp | offsetof(struct svop, op_sv)
#define SVOP_gv_ix SVp | offsetof(struct svop, op_sv)
+#define PADOP_padix_ix PADOFFSETp | offsetof(struct padop, op_padix)
+
MODULE = B PACKAGE = B::OP PREFIX = OP_
size_t
@@ -899,6 +901,7 @@ next(o)
B::PMOP::pmflags = PMOP_pmflags_ix
B::SVOP::sv = SVOP_sv_ix
B::SVOP::gv = SVOP_gv_ix
+ B::PADOP::padix = PADOP_padix_ix
PREINIT:
char *ptr;
SV *ret;
@@ -1135,7 +1138,6 @@ BOOT:
#endif
}
-#define PADOP_padix(o) o->op_padix
#define PADOP_sv(o) (o->op_padix ? PAD_SVl(o->op_padix) : Nullsv)
#define PADOP_gv(o) ((o->op_padix \
&& SvTYPE(PAD_SVl(o->op_padix)) == SVt_PVGV) \
@@ -1143,10 +1145,6 @@ BOOT:
MODULE = B PACKAGE = B::PADOP PREFIX = PADOP_
-PADOFFSET
-PADOP_padix(o)
- B::PADOP o
-
B::SV
PADOP_sv(o)
B::PADOP o