Acme-TestDist-Cpp-EUMM-EUCppGuess
view release on metacpan or search on metacpan
6698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734
for
(;;) {
/* we may be in a higher stacklevel, so dig down deeper */
while
(cxix < 0 && top_si->si_type != PERLSI_MAIN) {
top_si = top_si->si_prev;
ccstack = top_si->si_cxstack;
cxix = DPPP_dopoptosub_at(ccstack, top_si->si_cxix);
}
if
(cxix < 0)
return
NULL;
/*
caller
() should not report the automatic calls to
&DB::sub
*/
if
(PL_DBsub && GvCV(PL_DBsub) && cxix >= 0 &&
ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub))
count++;
if
(!count--)
break;
cxix = DPPP_dopoptosub_at(ccstack, cxix - 1);
}
cx =
&ccstack
[cxix];
if
(dbcxp)
*dbcxp
= cx;
if
(CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) {
const I32 dbcxix = DPPP_dopoptosub_at(ccstack, cxix - 1);
/* We expect that ccstack[dbcxix] is CXt_SUB, anyway, the
field below is
defined
for
any cx. */
/*
caller
() should not report the automatic calls to
&DB::sub
*/
if
(PL_DBsub && GvCV(PL_DBsub) && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub))
cx =
&ccstack
[dbcxix];
}
return
cx;
}
# endif
#endif /* caller_cx */
#endif /* 5.6.0 */
( run in 0.444 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )