From: Vincent Pit Date: Fri, 9 Sep 2011 17:30:16 +0000 (+0200) Subject: Reorder some code in su_uplevel() X-Git-Tag: rt71212~2 X-Git-Url: http://git.vpit.fr/?a=commitdiff_plain;h=361c0283804eb19b323c57003e40ff18ac84c089;p=perl%2Fmodules%2FScope-Upper.git Reorder some code in su_uplevel() --- diff --git a/Upper.xs b/Upper.xs index dfc4169..aee877f 100644 --- a/Upper.xs +++ b/Upper.xs @@ -1185,15 +1185,19 @@ STATIC I32 su_uplevel(pTHX_ CV *cv, I32 cxix, I32 args) { SPAGAIN; sud = su_uplevel_storage_new(); - si = sud->si; sud->cxix = cxix; sud->died = 1; SAVEDESTRUCTOR_X(su_uplevel_restore, sud); - si->si_type = cur->si_type; - si->si_next = NULL; - si->si_prev = cur->si_prev; + si = sud->si; + + si->si_type = cur->si_type; + si->si_next = NULL; + si->si_prev = cur->si_prev; +#ifdef DEBUGGING + si->si_markoff = cx->blk_oldmarksp; +#endif /* Allocate enough space for all the elements of the original stack up to the * target context, plus the forthcoming arguments. */ @@ -1210,10 +1214,6 @@ STATIC I32 su_uplevel(pTHX_ CV *cv, I32 cxix, I32 args) { PL_stack_max = PL_stack_base + AvMAX(si->si_stack); SPAGAIN; -#ifdef DEBUGGING - si->si_markoff = cx->blk_oldmarksp; -#endif - /* Copy the context stack up to the context just below the target. */ si->si_cxix = (cxix < 0) ? -1 : (cxix - 1); if (si->si_cxmax < cxix) {