(original) (raw)
changeset: 100022:c6fb1651ea2e parent: 100020:8685940d5cab user: Victor Stinner victor.stinner@gmail.com date: Thu Jan 21 18:12:29 2016 +0100 files: Objects/lnotab_notes.txt description: Issue #26107: Fix typo in Objects/lnotab_notes.txt Double parenthesis diff -r 8685940d5cab -r c6fb1651ea2e Objects/lnotab_notes.txt --- a/Objects/lnotab_notes.txt Thu Jan 21 08:58:44 2016 +0100 +++ b/Objects/lnotab_notes.txt Thu Jan 21 18:12:29 2016 +0100 @@ -22,7 +22,7 @@ 0, 1, 6, 1, 44, 5, 300, 200, 11, 1 The above doesn't really work, but it's a start. An unsigned byte (byte code -offset)) can't hold negative values, or values larger than 255, a signed byte +offset) can't hold negative values, or values larger than 255, a signed byte (line number) can't hold values larger than 127 or less than -128, and the above example contains two such values. So we make two tweaks: @@ -95,16 +95,16 @@ 6 POP_JUMP_IF_FALSE 17 3 9 LOAD_CONST 1 (1) - 12 PRINT_ITEM + 12 PRINT_ITEM - 4 13 BREAK_LOOP + 4 13 BREAK_LOOP 14 JUMP_ABSOLUTE 3 - >> 17 POP_BLOCK + >> 17 POP_BLOCK 6 18 LOAD_CONST 2 (2) - 21 PRINT_ITEM + 21 PRINT_ITEM >> 22 LOAD_CONST 0 (None) - 25 RETURN_VALUE + 25 RETURN_VALUE If 'a' is false, execution will jump to the POP_BLOCK instruction at offset 17 and the co_lnotab will claim that execution has moved to line 4, which is wrong. /victor.stinner@gmail.com