From 9b37a4695ebf50b37b5b4fb279ae948f23b5b6a0 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 19 Mar 2019 10:53:18 -0300 Subject: New semantics for the integer 'for' loop The numerical 'for' loop over integers now uses a precomputed counter to control its number of iteractions. This change eliminates several weird cases caused by overflows (wrap-around) in the control variable. (It also ensures that every integer loop halts.) Also, the special opcodes for the usual case of step==1 were removed. (The new code is already somewhat complex for the usual case, but efficient.) --- ljumptab.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'ljumptab.h') diff --git a/ljumptab.h b/ljumptab.h index 9fa72a73..fa4277cc 100644 --- a/ljumptab.h +++ b/ljumptab.h @@ -99,8 +99,6 @@ static void *disptab[NUM_OPCODES] = { &&L_OP_RETURN, &&L_OP_RETURN0, &&L_OP_RETURN1, -&&L_OP_FORLOOP1, -&&L_OP_FORPREP1, &&L_OP_FORLOOP, &&L_OP_FORPREP, &&L_OP_TFORPREP, -- cgit v1.2.3-55-g6feb