From: Vincent Pit Date: Tue, 14 Jul 2009 16:17:09 +0000 (+0200) Subject: Remove ck_leave() X-Git-Tag: v0.16~2 X-Git-Url: http://git.vpit.fr/?a=commitdiff_plain;h=2e90ec38338004255fcb27593f534db66393ddd9;p=perl%2Fmodules%2Findirect.git Remove ck_leave() We don't need to clean the map entries for leave ops because they can only be created by mutating from a lineseq. --- diff --git a/indirect.xs b/indirect.xs index 3658519..57e78e1 100644 --- a/indirect.xs +++ b/indirect.xs @@ -600,17 +600,8 @@ STATIC OP *indirect_ck_scope(pTHX_ OP *o) { return o; } -/* ... ck_leave ............................................................ */ - -STATIC OP *(*indirect_old_ck_leave)(pTHX_ OP *) = 0; - -STATIC OP *indirect_ck_leave(pTHX_ OP *o) { - o = CALL_FPTR(indirect_old_ck_leave)(aTHX_ o); - - /* Cleanup relevant entries in case ck_method catches them later. */ - indirect_map_delete(o); - return o; -} +/* We don't need to clean the map entries for leave ops because they can only + * be created by mutating from a lineseq. */ /* ... ck_method ........................................................... */ @@ -780,8 +771,6 @@ BOOT: PL_check[OP_SCOPE] = MEMBER_TO_FPTR(indirect_ck_scope); indirect_old_ck_lineseq = PL_check[OP_LINESEQ]; PL_check[OP_LINESEQ] = MEMBER_TO_FPTR(indirect_ck_scope); - indirect_old_ck_leave = PL_check[OP_LEAVE]; - PL_check[OP_LEAVE] = MEMBER_TO_FPTR(indirect_ck_leave); indirect_old_ck_method = PL_check[OP_METHOD]; PL_check[OP_METHOD] = MEMBER_TO_FPTR(indirect_ck_method);