summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
Diffstat (limited to 'py')
-rw-r--r--py/bc0.h4
-rw-r--r--py/emitbc.c2
-rw-r--r--py/showbc.c4
-rw-r--r--py/vm.c8
4 files changed, 9 insertions, 9 deletions
diff --git a/py/bc0.h b/py/bc0.h
index 50c4954b0..a4a0acf93 100644
--- a/py/bc0.h
+++ b/py/bc0.h
@@ -117,8 +117,8 @@
#define MP_BC_JUMP (MP_BC_BASE_JUMP_E + 0x02) // signed relative bytecode offset
#define MP_BC_POP_JUMP_IF_TRUE (MP_BC_BASE_JUMP_E + 0x03) // signed relative bytecode offset
#define MP_BC_POP_JUMP_IF_FALSE (MP_BC_BASE_JUMP_E + 0x04) // signed relative bytecode offset
-#define MP_BC_JUMP_IF_TRUE_OR_POP (MP_BC_BASE_JUMP_E + 0x05) // signed relative bytecode offset
-#define MP_BC_JUMP_IF_FALSE_OR_POP (MP_BC_BASE_JUMP_E + 0x06) // signed relative bytecode offset
+#define MP_BC_JUMP_IF_TRUE_OR_POP (MP_BC_BASE_JUMP_E + 0x05) // unsigned relative bytecode offset
+#define MP_BC_JUMP_IF_FALSE_OR_POP (MP_BC_BASE_JUMP_E + 0x06) // unsigned relative bytecode offset
#define MP_BC_SETUP_WITH (MP_BC_BASE_JUMP_E + 0x07) // unsigned relative bytecode offset
#define MP_BC_SETUP_EXCEPT (MP_BC_BASE_JUMP_E + 0x08) // unsigned relative bytecode offset
#define MP_BC_SETUP_FINALLY (MP_BC_BASE_JUMP_E + 0x09) // unsigned relative bytecode offset
diff --git a/py/emitbc.c b/py/emitbc.c
index 90ab6c0a9..1f5cd9d32 100644
--- a/py/emitbc.c
+++ b/py/emitbc.c
@@ -224,7 +224,7 @@ STATIC void emit_write_bytecode_byte_label(emit_t *emit, int stack_adj, byte b1,
mp_emit_bc_adjust_stack_size(emit, stack_adj);
// Determine if the jump offset is signed or unsigned, based on the opcode.
- const bool is_signed = b1 <= MP_BC_JUMP_IF_FALSE_OR_POP;
+ const bool is_signed = b1 <= MP_BC_POP_JUMP_IF_FALSE;
// Default to a 2-byte encoding (the largest) with an unknown jump offset.
unsigned int jump_encoding_size = 1;
diff --git a/py/showbc.c b/py/showbc.c
index 178fa451a..f9c334b93 100644
--- a/py/showbc.c
+++ b/py/showbc.c
@@ -338,12 +338,12 @@ const byte *mp_bytecode_print_str(const mp_print_t *print, const byte *ip_start,
break;
case MP_BC_JUMP_IF_TRUE_OR_POP:
- DECODE_SLABEL;
+ DECODE_ULABEL;
mp_printf(print, "JUMP_IF_TRUE_OR_POP " UINT_FMT, (mp_uint_t)(ip + unum - ip_start));
break;
case MP_BC_JUMP_IF_FALSE_OR_POP:
- DECODE_SLABEL;
+ DECODE_ULABEL;
mp_printf(print, "JUMP_IF_FALSE_OR_POP " UINT_FMT, (mp_uint_t)(ip + unum - ip_start));
break;
diff --git a/py/vm.c b/py/vm.c
index 990009c00..50da90e7d 100644
--- a/py/vm.c
+++ b/py/vm.c
@@ -560,9 +560,9 @@ dispatch_loop:
}
ENTRY(MP_BC_JUMP_IF_TRUE_OR_POP): {
- DECODE_SLABEL;
+ DECODE_ULABEL;
if (mp_obj_is_true(TOP())) {
- ip += slab;
+ ip += ulab;
} else {
sp--;
}
@@ -570,11 +570,11 @@ dispatch_loop:
}
ENTRY(MP_BC_JUMP_IF_FALSE_OR_POP): {
- DECODE_SLABEL;
+ DECODE_ULABEL;
if (mp_obj_is_true(TOP())) {
sp--;
} else {
- ip += slab;
+ ip += ulab;
}
DISPATCH_WITH_PEND_EXC_CHECK();
}