Fix linetable for while loops
Closed this issue · 1 comments
bit-hack commented
01 -- function main()
0000 INS_LOCALS 65
03 -- var i = 0
0005 INS_CONST 0
0010 INS_SETV 1
06 -- while (i < 64)
0015 INS_GETV 1 <--------------------.
0020 INS_CONST 64 |
0025 INS_LT |
07 -- data[i] = random() |
0026 INS_NOT |
0027 INS_JMP 73 -------------------. | // note linetable is wrong here
0032 INS_GETV 1 | |
0037 INS_SCALL 00B3BAB0 | |
0042 INS_SETI 0 | |
08 -- i = i + 1 | |
0047 INS_GETV 1 | |
0052 INS_CONST 1 | |
0057 INS_ADD | |
0058 INS_SETV 1 | |
09 -- end | |
0063 INS_CONST 1 | |
0068 INS_JMP 15 -------------------|-'
11 -- i = 0 |
0073 INS_CONST 0 <------------------'
0078 INS_SETV 1
12 -- while (i < 64)
0083 INS_GETV 1 <--------------------.
0088 INS_CONST 64 |
0093 INS_LT |
13 -- check(data[i]) | // is wrong here too
0094 INS_NOT |
0095 INS_JMP 146 -------------------. |
0100 INS_GETV 1 | |
0105 INS_GETI 0 | |
0110 INS_SCALL 00B3BB10 | |
0115 INS_POP 1 | |
14 -- i = i + 1 | |
0120 INS_GETV 1 | |
0125 INS_CONST 1 | |
0130 INS_ADD | |
0131 INS_SETV 1 | |
15 -- end | |
0136 INS_CONST 1 | |
0141 INS_JMP 83 -------------------|-'
16 -- end |
0146 INS_CONST 0 <------------------'
0151 INS_RET 65