Skip to content

Commit 7ff996c

Browse files
committed
py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files.
Towards resolving issue adafruit#50.
1 parent 377b80b commit 7ff996c

10 files changed

Lines changed: 440 additions & 451 deletions

File tree

py/compile.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -975,12 +975,12 @@ STATIC void close_over_variables_etc(compiler_t *comp, scope_t *this_scope, int
975975
if (id->kind == ID_INFO_KIND_CELL || id->kind == ID_INFO_KIND_FREE) {
976976
for (int j = 0; j < this_scope->id_info_len; j++) {
977977
id_info_t *id2 = &this_scope->id_info[j];
978-
if (id2->kind == ID_INFO_KIND_FREE && id->qstr == id2->qstr) {
978+
if (id2->kind == ID_INFO_KIND_FREE && id->qst == id2->qst) {
979979
#if MICROPY_EMIT_CPYTHON
980-
EMIT_ARG(load_closure, id->qstr, id->local_num);
980+
EMIT_ARG(load_closure, id->qst, id->local_num);
981981
#else
982982
// in Micro Python we load closures using LOAD_FAST
983-
EMIT_ARG(load_fast, id->qstr, id->flags, id->local_num);
983+
EMIT_ARG(load_fast, id->qst, id->flags, id->local_num);
984984
#endif
985985
nfree += 1;
986986
}
@@ -3446,7 +3446,7 @@ STATIC void compile_scope_compute_things(compiler_t *comp, scope_t *scope) {
34463446
scope->num_locals = 0;
34473447
for (int i = 0; i < scope->id_info_len; i++) {
34483448
id_info_t *id = &scope->id_info[i];
3449-
if (scope->kind == SCOPE_CLASS && id->qstr == MP_QSTR___class__) {
3449+
if (scope->kind == SCOPE_CLASS && id->qst == MP_QSTR___class__) {
34503450
// __class__ is not counted as a local; if it's used then it becomes a ID_INFO_KIND_CELL
34513451
continue;
34523452
}
@@ -3491,7 +3491,7 @@ STATIC void compile_scope_compute_things(compiler_t *comp, scope_t *scope) {
34913491
if (id->kind == ID_INFO_KIND_CELL || id->kind == ID_INFO_KIND_FREE) {
34923492
for (int j = 0; j < scope->id_info_len; j++) {
34933493
id_info_t *id2 = &scope->id_info[j];
3494-
if (id2->kind == ID_INFO_KIND_FREE && id->qstr == id2->qstr) {
3494+
if (id2->kind == ID_INFO_KIND_FREE && id->qst == id2->qst) {
34953495
assert(!(id2->flags & ID_FLAG_IS_PARAM)); // free vars should not be params
34963496
#if MICROPY_EMIT_CPYTHON
34973497
// in CPython the frees are numbered after the cells

py/emit.h

Lines changed: 70 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -57,84 +57,84 @@ typedef struct _emit_method_table_t {
5757
void (*start_pass)(emit_t *emit, pass_kind_t pass, scope_t *scope);
5858
void (*end_pass)(emit_t *emit);
5959
bool (*last_emit_was_return_value)(emit_t *emit);
60-
void (*adjust_stack_size)(emit_t *emit, int delta);
61-
void (*set_line_number)(emit_t *emit, int line);
60+
void (*adjust_stack_size)(emit_t *emit, mp_int_t delta);
61+
void (*set_line_number)(emit_t *emit, mp_uint_t line);
6262

63-
void (*load_id)(emit_t *emit, qstr qstr);
64-
void (*store_id)(emit_t *emit, qstr qstr);
65-
void (*delete_id)(emit_t *emit, qstr qstr);
63+
void (*load_id)(emit_t *emit, qstr qst);
64+
void (*store_id)(emit_t *emit, qstr qst);
65+
void (*delete_id)(emit_t *emit, qstr qst);
6666

67-
void (*label_assign)(emit_t *emit, uint l);
68-
void (*import_name)(emit_t *emit, qstr qstr);
69-
void (*import_from)(emit_t *emit, qstr qstr);
67+
void (*label_assign)(emit_t *emit, mp_uint_t l);
68+
void (*import_name)(emit_t *emit, qstr qst);
69+
void (*import_from)(emit_t *emit, qstr qst);
7070
void (*import_star)(emit_t *emit);
7171
void (*load_const_tok)(emit_t *emit, mp_token_kind_t tok);
7272
void (*load_const_small_int)(emit_t *emit, mp_int_t arg);
73-
void (*load_const_int)(emit_t *emit, qstr qstr);
74-
void (*load_const_dec)(emit_t *emit, qstr qstr);
75-
void (*load_const_str)(emit_t *emit, qstr qstr, bool bytes);
73+
void (*load_const_int)(emit_t *emit, qstr qst);
74+
void (*load_const_dec)(emit_t *emit, qstr qst);
75+
void (*load_const_str)(emit_t *emit, qstr qst, bool bytes);
7676
void (*load_null)(emit_t *emit);
77-
void (*load_fast)(emit_t *emit, qstr qstr, uint id_flags, int local_num);
78-
void (*load_deref)(emit_t *emit, qstr qstr, int local_num);
79-
void (*load_name)(emit_t *emit, qstr qstr);
80-
void (*load_global)(emit_t *emit, qstr qstr);
81-
void (*load_attr)(emit_t *emit, qstr qstr);
82-
void (*load_method)(emit_t *emit, qstr qstr);
77+
void (*load_fast)(emit_t *emit, qstr qst, mp_uint_t id_flags, mp_uint_t local_num);
78+
void (*load_deref)(emit_t *emit, qstr qst, mp_uint_t local_num);
79+
void (*load_name)(emit_t *emit, qstr qst);
80+
void (*load_global)(emit_t *emit, qstr qst);
81+
void (*load_attr)(emit_t *emit, qstr qst);
82+
void (*load_method)(emit_t *emit, qstr qst);
8383
void (*load_build_class)(emit_t *emit);
8484
void (*load_subscr)(emit_t *emit);
85-
void (*store_fast)(emit_t *emit, qstr qstr, int local_num);
86-
void (*store_deref)(emit_t *emit, qstr qstr, int local_num);
87-
void (*store_name)(emit_t *emit, qstr qstr);
88-
void (*store_global)(emit_t *emit, qstr qstr);
89-
void (*store_attr)(emit_t *emit, qstr qstr);
85+
void (*store_fast)(emit_t *emit, qstr qst, mp_uint_t local_num);
86+
void (*store_deref)(emit_t *emit, qstr qst, mp_uint_t local_num);
87+
void (*store_name)(emit_t *emit, qstr qst);
88+
void (*store_global)(emit_t *emit, qstr qst);
89+
void (*store_attr)(emit_t *emit, qstr qst);
9090
void (*store_subscr)(emit_t *emit);
91-
void (*delete_fast)(emit_t *emit, qstr qstr, int local_num);
92-
void (*delete_deref)(emit_t *emit, qstr qstr, int local_num);
93-
void (*delete_name)(emit_t *emit, qstr qstr);
94-
void (*delete_global)(emit_t *emit, qstr qstr);
95-
void (*delete_attr)(emit_t *emit, qstr qstr);
91+
void (*delete_fast)(emit_t *emit, qstr qst, mp_uint_t local_num);
92+
void (*delete_deref)(emit_t *emit, qstr qst, mp_uint_t local_num);
93+
void (*delete_name)(emit_t *emit, qstr qst);
94+
void (*delete_global)(emit_t *emit, qstr qst);
95+
void (*delete_attr)(emit_t *emit, qstr qst);
9696
void (*delete_subscr)(emit_t *emit);
9797
void (*dup_top)(emit_t *emit);
9898
void (*dup_top_two)(emit_t *emit);
9999
void (*pop_top)(emit_t *emit);
100100
void (*rot_two)(emit_t *emit);
101101
void (*rot_three)(emit_t *emit);
102-
void (*jump)(emit_t *emit, uint label);
103-
void (*pop_jump_if_true)(emit_t *emit, uint label);
104-
void (*pop_jump_if_false)(emit_t *emit, uint label);
105-
void (*jump_if_true_or_pop)(emit_t *emit, uint label);
106-
void (*jump_if_false_or_pop)(emit_t *emit, uint label);
107-
void (*break_loop)(emit_t *emit, uint label, int except_depth);
108-
void (*continue_loop)(emit_t *emit, uint label, int except_depth);
109-
void (*setup_with)(emit_t *emit, uint label);
102+
void (*jump)(emit_t *emit, mp_uint_t label);
103+
void (*pop_jump_if_true)(emit_t *emit, mp_uint_t label);
104+
void (*pop_jump_if_false)(emit_t *emit, mp_uint_t label);
105+
void (*jump_if_true_or_pop)(emit_t *emit, mp_uint_t label);
106+
void (*jump_if_false_or_pop)(emit_t *emit, mp_uint_t label);
107+
void (*break_loop)(emit_t *emit, mp_uint_t label, mp_uint_t except_depth);
108+
void (*continue_loop)(emit_t *emit, mp_uint_t label, mp_uint_t except_depth);
109+
void (*setup_with)(emit_t *emit, mp_uint_t label);
110110
void (*with_cleanup)(emit_t *emit);
111-
void (*setup_except)(emit_t *emit, uint label);
112-
void (*setup_finally)(emit_t *emit, uint label);
111+
void (*setup_except)(emit_t *emit, mp_uint_t label);
112+
void (*setup_finally)(emit_t *emit, mp_uint_t label);
113113
void (*end_finally)(emit_t *emit);
114114
void (*get_iter)(emit_t *emit);
115-
void (*for_iter)(emit_t *emit, uint label);
115+
void (*for_iter)(emit_t *emit, mp_uint_t label);
116116
void (*for_iter_end)(emit_t *emit);
117117
void (*pop_block)(emit_t *emit);
118118
void (*pop_except)(emit_t *emit);
119119
void (*unary_op)(emit_t *emit, mp_unary_op_t op);
120120
void (*binary_op)(emit_t *emit, mp_binary_op_t op);
121-
void (*build_tuple)(emit_t *emit, int n_args);
122-
void (*build_list)(emit_t *emit, int n_args);
123-
void (*list_append)(emit_t *emit, int list_stack_index);
124-
void (*build_map)(emit_t *emit, int n_args);
121+
void (*build_tuple)(emit_t *emit, mp_uint_t n_args);
122+
void (*build_list)(emit_t *emit, mp_uint_t n_args);
123+
void (*list_append)(emit_t *emit, mp_uint_t list_stack_index);
124+
void (*build_map)(emit_t *emit, mp_uint_t n_args);
125125
void (*store_map)(emit_t *emit);
126-
void (*map_add)(emit_t *emit, int map_stack_index);
127-
void (*build_set)(emit_t *emit, int n_args);
128-
void (*set_add)(emit_t *emit, int set_stack_index);
129-
void (*build_slice)(emit_t *emit, int n_args);
130-
void (*unpack_sequence)(emit_t *emit, int n_args);
131-
void (*unpack_ex)(emit_t *emit, int n_left, int n_right);
132-
void (*make_function)(emit_t *emit, scope_t *scope, uint n_pos_defaults, uint n_kw_defaults);
133-
void (*make_closure)(emit_t *emit, scope_t *scope, uint n_closed_over, uint n_pos_defaults, uint n_kw_defaults);
134-
void (*call_function)(emit_t *emit, int n_positional, int n_keyword, uint star_flags);
135-
void (*call_method)(emit_t *emit, int n_positional, int n_keyword, uint star_flags);
126+
void (*map_add)(emit_t *emit, mp_uint_t map_stack_index);
127+
void (*build_set)(emit_t *emit, mp_uint_t n_args);
128+
void (*set_add)(emit_t *emit, mp_uint_t set_stack_index);
129+
void (*build_slice)(emit_t *emit, mp_uint_t n_args);
130+
void (*unpack_sequence)(emit_t *emit, mp_uint_t n_args);
131+
void (*unpack_ex)(emit_t *emit, mp_uint_t n_left, mp_uint_t n_right);
132+
void (*make_function)(emit_t *emit, scope_t *scope, mp_uint_t n_pos_defaults, mp_uint_t n_kw_defaults);
133+
void (*make_closure)(emit_t *emit, scope_t *scope, mp_uint_t n_closed_over, mp_uint_t n_pos_defaults, mp_uint_t n_kw_defaults);
134+
void (*call_function)(emit_t *emit, mp_uint_t n_positional, mp_uint_t n_keyword, mp_uint_t star_flags);
135+
void (*call_method)(emit_t *emit, mp_uint_t n_positional, mp_uint_t n_keyword, mp_uint_t star_flags);
136136
void (*return_value)(emit_t *emit);
137-
void (*raise_varargs)(emit_t *emit, int n_args);
137+
void (*raise_varargs)(emit_t *emit, mp_uint_t n_args);
138138
void (*yield_value)(emit_t *emit);
139139
void (*yield_from)(emit_t *emit);
140140

@@ -146,15 +146,15 @@ typedef struct _emit_method_table_t {
146146
#if MICROPY_EMIT_CPYTHON
147147
// these methods are only needed for emitcpy
148148
void (*load_const_verbatim_str)(emit_t *emit, const char *str);
149-
void (*load_closure)(emit_t *emit, qstr qstr, int local_num);
150-
void (*setup_loop)(emit_t *emit, uint label);
149+
void (*load_closure)(emit_t *emit, qstr qst, mp_uint_t local_num);
150+
void (*setup_loop)(emit_t *emit, mp_uint_t label);
151151
#endif
152152

153153
} emit_method_table_t;
154154

155-
void emit_common_load_id(emit_t *emit, const emit_method_table_t *emit_method_table, scope_t *scope, qstr qstr);
156-
void emit_common_store_id(emit_t *emit, const emit_method_table_t *emit_method_table, scope_t *scope, qstr qstr);
157-
void emit_common_delete_id(emit_t *emit, const emit_method_table_t *emit_method_table, scope_t *scope, qstr qstr);
155+
void emit_common_load_id(emit_t *emit, const emit_method_table_t *emit_method_table, scope_t *scope, qstr qst);
156+
void emit_common_store_id(emit_t *emit, const emit_method_table_t *emit_method_table, scope_t *scope, qstr qst);
157+
void emit_common_delete_id(emit_t *emit, const emit_method_table_t *emit_method_table, scope_t *scope, qstr qst);
158158

159159
extern const emit_method_table_t emit_pass1_method_table;
160160
extern const emit_method_table_t emit_cpython_method_table;
@@ -165,12 +165,12 @@ extern const emit_method_table_t emit_native_thumb_method_table;
165165
extern const emit_method_table_t emit_native_arm_method_table;
166166

167167
emit_t *emit_pass1_new(void);
168-
emit_t *emit_cpython_new(uint max_num_labels);
169-
emit_t *emit_bc_new(uint max_num_labels);
170-
emit_t *emit_native_x64_new(uint max_num_labels);
171-
emit_t *emit_native_x86_new(uint max_num_labels);
172-
emit_t *emit_native_thumb_new(uint max_num_labels);
173-
emit_t *emit_native_arm_new(uint max_num_labels);
168+
emit_t *emit_cpython_new(mp_uint_t max_num_labels);
169+
emit_t *emit_bc_new(mp_uint_t max_num_labels);
170+
emit_t *emit_native_x64_new(mp_uint_t max_num_labels);
171+
emit_t *emit_native_x86_new(mp_uint_t max_num_labels);
172+
emit_t *emit_native_thumb_new(mp_uint_t max_num_labels);
173+
emit_t *emit_native_arm_new(mp_uint_t max_num_labels);
174174

175175
void emit_pass1_free(emit_t *emit);
176176
void emit_bc_free(emit_t *emit);
@@ -184,15 +184,14 @@ typedef struct _emit_inline_asm_t emit_inline_asm_t;
184184
typedef struct _emit_inline_asm_method_table_t {
185185
void (*start_pass)(emit_inline_asm_t *emit, pass_kind_t pass, scope_t *scope);
186186
bool (*end_pass)(emit_inline_asm_t *emit);
187-
int (*count_params)(emit_inline_asm_t *emit, int n_params, mp_parse_node_t *pn_params);
188-
void (*label)(emit_inline_asm_t *emit, uint label_num, qstr label_id);
189-
void (*align)(emit_inline_asm_t *emit, uint align);
190-
void (*data)(emit_inline_asm_t *emit, uint bytesize, uint val);
191-
void (*op)(emit_inline_asm_t *emit, qstr op, int n_args, mp_parse_node_t *pn_args);
187+
mp_uint_t (*count_params)(emit_inline_asm_t *emit, mp_uint_t n_params, mp_parse_node_t *pn_params);
188+
void (*label)(emit_inline_asm_t *emit, mp_uint_t label_num, qstr label_id);
189+
void (*align)(emit_inline_asm_t *emit, mp_uint_t align);
190+
void (*data)(emit_inline_asm_t *emit, mp_uint_t bytesize, mp_uint_t val);
191+
void (*op)(emit_inline_asm_t *emit, qstr op, mp_uint_t n_args, mp_parse_node_t *pn_args);
192192
} emit_inline_asm_method_table_t;
193193

194194
extern const emit_inline_asm_method_table_t emit_inline_thumb_method_table;
195195

196-
emit_inline_asm_t *emit_inline_thumb_new(uint max_num_labels);
196+
emit_inline_asm_t *emit_inline_thumb_new(mp_uint_t max_num_labels);
197197
void emit_inline_thumb_free(emit_inline_asm_t *emit);
198-

0 commit comments

Comments
 (0)