summaryrefslogtreecommitdiff
path: root/pp.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2007-01-15 18:15:54 +0000
committerNicholas Clark <nick@ccl4.org>2007-01-15 18:15:54 +0000
commit17ab79462074d95168fb4cd137197d4e6a0696b2 (patch)
tree2b9c460eeae6816d88242966d344199dcf097747 /pp.h
parentcde874cac37ec0b08192df9c6fec992f97b30566 (diff)
downloadperl-17ab79462074d95168fb4cd137197d4e6a0696b2.tar.gz
pp_rv2av and pp_rv2hv have a lot of common code, so it's certainly a
space saving to merge them. Hopefully this will reduce L2 cache misses. p4raw-id: //depot/perl@29836
Diffstat (limited to 'pp.h')
-rw-r--r--pp.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/pp.h b/pp.h
index 429ae2cb18..1f0820a339 100644
--- a/pp.h
+++ b/pp.h
@@ -403,7 +403,7 @@ and C<PUSHu>.
if ((SvAMAGIC(left)||SvAMAGIC(right))) {\
SV * const tmpsv = amagic_call(left, \
right, \
- meth_enum, \
+ (meth_enum), \
(assign)? AMGf_assign: 0); \
if (tmpsv) { \
SPAGAIN; \
@@ -437,7 +437,7 @@ and C<PUSHu>.
if(0) goto am_again; /* shut up unused warning */ \
am_again: \
if ((SvAMAGIC(arg))&&\
- (tmpsv=AMG_CALLun_var(arg,meth_enum))) {\
+ (tmpsv=AMG_CALLun_var(arg,(meth_enum)))) {\
SPAGAIN; if (shift) sp += shift; \
set(tmpsv); ret; } \
} STMT_END
@@ -466,6 +466,8 @@ and C<PUSHu>.
} STMT_END
#define tryAMAGICunDEREF(meth) tryAMAGICunW(meth,setAGAIN,0,(void)0)
+#define tryAMAGICunDEREF_var(meth_enum) \
+ tryAMAGICunW_var(meth_enum,setAGAIN,0,(void)0)
#define opASSIGN (PL_op->op_flags & OPf_STACKED)
#define SETsv(sv) STMT_START { \