py/emitbc: Assert that a small int fits its encoding when emitting one.
Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
2e3f2045f9
commit
e3de723e2d
@ -32,6 +32,7 @@
|
||||
#include <assert.h>
|
||||
|
||||
#include "py/mpstate.h"
|
||||
#include "py/smallint.h"
|
||||
#include "py/emit.h"
|
||||
#include "py/bc0.h"
|
||||
|
||||
@ -471,6 +472,7 @@ void mp_emit_bc_load_const_tok(emit_t *emit, mp_token_kind_t tok) {
|
||||
}
|
||||
|
||||
void mp_emit_bc_load_const_small_int(emit_t *emit, mp_int_t arg) {
|
||||
assert(MP_SMALL_INT_FITS(arg));
|
||||
if (-MP_BC_LOAD_CONST_SMALL_INT_MULTI_EXCESS <= arg
|
||||
&& arg < MP_BC_LOAD_CONST_SMALL_INT_MULTI_NUM - MP_BC_LOAD_CONST_SMALL_INT_MULTI_EXCESS) {
|
||||
emit_write_bytecode_byte(emit, 1,
|
||||
|
Loading…
Reference in New Issue
Block a user