From 569ee2424da0d3499876ce75318623a8e51fd460 Mon Sep 17 00:00:00 2001 From: "hyunghwan.chung" Date: Tue, 6 Aug 2019 10:13:44 +0000 Subject: [PATCH] added a few comments to lib/comp.c --- moo/lib/comp.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/moo/lib/comp.c b/moo/lib/comp.c index e15cad3..6325521 100644 --- a/moo/lib/comp.c +++ b/moo/lib/comp.c @@ -6284,12 +6284,14 @@ static int compile_if_expression (moo_t* moo) if (TOKEN_TYPE(moo) == MOO_IOTOK_IF) { + /* if */ push_true_inst = BCODE_PUSH_TRUE; push_false_inst = BCODE_PUSH_FALSE; jmpop_inst = BCODE_JMPOP_FORWARD_IF_FALSE; } else { + /* ifnot */ push_true_inst = BCODE_PUSH_FALSE; push_false_inst = BCODE_PUSH_TRUE; jmpop_inst = BCODE_JMPOP_FORWARD_IF_TRUE; @@ -6310,8 +6312,10 @@ static int compile_if_expression (moo_t* moo) if (precondpos + 1 == postcondpos && cc->mth.code.ptr[precondpos] == push_true_inst) { + /* got 'if (true)' or 'ifnot (false)' */ + /* do not generate jump */ - jumptonext = INVALID_IP; + jumptonext = INVALID_IP; /* indicate that the jump has not been emitted */ falseblock = 0; /* eliminate PUSH_TRUE as well */ @@ -6320,7 +6324,10 @@ static int compile_if_expression (moo_t* moo) } else if (precondpos + 1 == postcondpos && cc->mth.code.ptr[precondpos] == push_false_inst) { - jumptonext = INVALID_IP; + /* got 'if (false)' or 'ifnot (true)' */ + + jumptonext = INVALID_IP; /* indicate that the jump has not been emitted */ + /* mark that the conditional is false. instructions will get eliminated below */ falseblock = 1; }