summaryrefslogtreecommitdiff
path: root/pp_hot.c
diff options
context:
space:
mode:
authorBrandon Black <blblack@gmail.com>2007-04-17 08:14:36 -0500
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2007-04-19 14:48:20 +0000
commite1a479c5e0c08fb10925261f03573261c69ca0dc (patch)
tree09088fd1ef489ff5660300a532f799144ff7ae6a /pp_hot.c
parent0a311364e00e9bf5b4fcb140ade49b02e46833dd (diff)
downloadperl-e1a479c5e0c08fb10925261f03573261c69ca0dc.tar.gz
Re: new C3 MRO patch
From: "Brandon Black" <blblack@gmail.com> Message-ID: <84621a60704171114k29b0460el5b08ce5185d55ed5@mail.gmail.com> p4raw-id: //depot/perl@30980
Diffstat (limited to 'pp_hot.c')
-rw-r--r--pp_hot.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/pp_hot.c b/pp_hot.c
index 76a55cbcae..71bbb5c03f 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -192,7 +192,7 @@ PP(pp_sassign)
if (strEQ(GvNAME(right),"isa")) {
GvCVGEN(right) = 0;
- ++PL_sub_generation;
+ ++PL_sub_generation; /* I don't get this at all --blblack */
}
}
SvSetMagicSV(right, left);
@@ -3060,7 +3060,8 @@ S_method_common(pTHX_ SV* meth, U32* hashp)
if (he) {
gv = (GV*)HeVAL(he);
if (isGV(gv) && GvCV(gv) &&
- (!GvCVGEN(gv) || GvCVGEN(gv) == PL_sub_generation))
+ (!GvCVGEN(gv) || GvCVGEN(gv)
+ == (PL_sub_generation + HvMROMETA(stash)->sub_generation)))
return (SV*)GvCV(gv);
}
}