X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FClass-C3-XS.git;a=blobdiff_plain;f=XS.xs;h=19340c2bd99aeb475046ea2234e41d025ea53067;hp=f120168ff9b9dea318ea58ed409782cd9b742ab4;hb=ff94166e91692aaaab9cc8b493cd753d88e56b2c;hpb=2605e5915fb1dc1d8cd98585f16cb57d1df11c5b diff --git a/XS.xs b/XS.xs index f120168..19340c2 100644 --- a/XS.xs +++ b/XS.xs @@ -271,8 +271,8 @@ XS(XS_Class_C3_XS_nextcan) { dVAR; dXSARGS; - SV* self; - I32 throw_nomethod; + SV* self = ST(0); + const I32 throw_nomethod = SvIVX(ST(1)); register I32 cxix; register const PERL_CONTEXT *ccstack = cxstack; const PERL_SI *top_si = PL_curstackinfo; @@ -297,9 +297,6 @@ XS(XS_Class_C3_XS_nextcan) HE* cache_entry; SV* cachekey; - self = ST(0); - throw_nomethod = SvIVX(ST(1)); - SP -= items; if(sv_isobject(self)) @@ -314,7 +311,7 @@ XS(XS_Class_C3_XS_nextcan) Perl_croak(aTHX_ "Can't use anonymous symbol table for method lookup"); cxix = __dopoptosub_at(cxstack, cxstack_ix); - cxix = __dopoptosub_at(ccstack, cxix - 1); + cxix = __dopoptosub_at(ccstack, cxix - 1); /* skip next::method, etc */ /* This block finds the contextually-enclosing fully-qualified subname, much like looking at (caller($i))[3] until you find a real sub that