py/emitnative: Change type of const_table from uintptr_t to mp_uint_t.
This matches how bytecode does it, and matches the signature of mp_emit_glue_assign_native. Since the native emitter doesn't support nan-boxing uintptr_t and mp_uint_t are anyway the same bit-width.
This commit is contained in:
parent
bbccb0f630
commit
e9012a20f7
|
@ -209,7 +209,7 @@ struct _emit_t {
|
|||
uint16_t const_table_cur_obj;
|
||||
uint16_t const_table_num_obj;
|
||||
uint16_t const_table_cur_raw_code;
|
||||
uintptr_t *const_table;
|
||||
mp_uint_t *const_table;
|
||||
|
||||
bool last_emit_was_return_value;
|
||||
|
||||
|
@ -529,7 +529,7 @@ STATIC void emit_native_end_pass(emit_t *emit) {
|
|||
// Add room for qstr names of arguments
|
||||
const_table_alloc += emit->scope->num_pos_args + emit->scope->num_kwonly_args;
|
||||
}
|
||||
emit->const_table = m_new(uintptr_t, const_table_alloc);
|
||||
emit->const_table = m_new(mp_uint_t, const_table_alloc);
|
||||
}
|
||||
|
||||
if (emit->pass == MP_PASS_EMIT) {
|
||||
|
@ -918,7 +918,7 @@ STATIC exc_stack_entry_t *emit_native_pop_exc_stack(emit_t *emit) {
|
|||
return e;
|
||||
}
|
||||
|
||||
STATIC void emit_load_reg_with_ptr(emit_t *emit, int reg, uintptr_t ptr, size_t table_off) {
|
||||
STATIC void emit_load_reg_with_ptr(emit_t *emit, int reg, mp_uint_t ptr, size_t table_off) {
|
||||
if (!emit->do_viper_types) {
|
||||
// Skip qstr names of arguments
|
||||
table_off += emit->scope->num_pos_args + emit->scope->num_kwonly_args;
|
||||
|
@ -933,12 +933,12 @@ STATIC void emit_load_reg_with_ptr(emit_t *emit, int reg, uintptr_t ptr, size_t
|
|||
|
||||
STATIC void emit_load_reg_with_object(emit_t *emit, int reg, mp_obj_t obj) {
|
||||
size_t table_off = emit->const_table_cur_obj++;
|
||||
emit_load_reg_with_ptr(emit, reg, (uintptr_t)obj, table_off);
|
||||
emit_load_reg_with_ptr(emit, reg, (mp_uint_t)obj, table_off);
|
||||
}
|
||||
|
||||
STATIC void emit_load_reg_with_raw_code(emit_t *emit, int reg, mp_raw_code_t *rc) {
|
||||
size_t table_off = emit->const_table_num_obj + emit->const_table_cur_raw_code++;
|
||||
emit_load_reg_with_ptr(emit, reg, (uintptr_t)rc, table_off);
|
||||
emit_load_reg_with_ptr(emit, reg, (mp_uint_t)rc, table_off);
|
||||
}
|
||||
|
||||
STATIC void emit_native_label_assign(emit_t *emit, mp_uint_t l) {
|
||||
|
|
Loading…
Reference in New Issue