From 7e09e582198d13c19d8edacfdfee681daa3f07a2 Mon Sep 17 00:00:00 2001 From: David Mitchell Date: Mon, 21 Dec 2015 16:33:57 +0000 Subject: [PATCH] pp_break(): don't use TOPBLOCK It appears to be using TOPBLOCK purely for its effect of resetting PL_stack_sp. Since the next op will be pp_leavegiven which will do a POPBLOCK, the other actions of TOPBLOCK are redundant. So just set PL_stack_sp directly. --- pp_ctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pp_ctl.c b/pp_ctl.c index 3643ec5..10e258b 100644 --- a/pp_ctl.c +++ b/pp_ctl.c @@ -5022,7 +5022,7 @@ PP(pp_break) /* Restore the sp at the time we entered the given block */ cx = CX_CUR(); - TOPBLOCK(cx); + PL_stack_sp = PL_stack_base + cx->blk_oldsp; return cx->blk_givwhen.leave_op; } -- 1.8.3.1