summaryrefslogtreecommitdiff
path: root/pp_hot.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-11-03 16:54:05 +0000
committerNicholas Clark <nick@ccl4.org>2010-11-03 16:54:05 +0000
commit8897dcaad14089c32e969309beb16112ec768eaf (patch)
tree7610d6a83c89377e877de24b35643cecaa1035c9 /pp_hot.c
parent25a9ffce153b0e67cfefd260754edeb097da5be7 (diff)
downloadperl-8897dcaad14089c32e969309beb16112ec768eaf.tar.gz
Inline tryAMAGICunDEREF_var() into its callers and eliminate it.
Nothing outside the core was using this macro.
Diffstat (limited to 'pp_hot.c')
-rw-r--r--pp_hot.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/pp_hot.c b/pp_hot.c
index a3fea5ca7a..9beb604ea6 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -827,7 +827,8 @@ PP(pp_rv2av)
if (!(PL_op->op_private & OPpDEREFed))
SvGETMAGIC(sv);
if (SvROK(sv)) {
- tryAMAGICunDEREF_var(is_pp_rv2av ? to_av_amg : to_hv_amg);
+ sv = amagic_deref_call(sv, is_pp_rv2av ? to_av_amg : to_hv_amg);
+ SPAGAIN;
sv = SvRV(sv);
if (SvTYPE(sv) != type)
@@ -2770,8 +2771,8 @@ PP(pp_entersub)
}
SvGETMAGIC(sv);
if (SvROK(sv)) {
- SV * const * sp = &sv; /* Used in tryAMAGICunDEREF macro. */
- tryAMAGICunDEREF(to_cv);
+ sv = amagic_deref_call(sv, to_cv_amg);
+ /* Don't SPAGAIN here. */
}
else {
const char *sym;