Skip to content

Commit dc79097

Browse files
committed
py: In inline assembler, reset labels on code-size pass.
1 parent 3665d0b commit dc79097

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

py/emitinlinethumb.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ emit_inline_asm_t *emit_inline_thumb_new(mp_uint_t max_num_labels) {
6363
emit_inline_asm_t *emit = m_new_obj(emit_inline_asm_t);
6464
emit->max_num_labels = max_num_labels;
6565
emit->label_lookup = m_new(qstr, max_num_labels);
66-
memset(emit->label_lookup, 0, emit->max_num_labels * sizeof(qstr));
6766
emit->as = asm_thumb_new(max_num_labels);
6867
return emit;
6968
}
@@ -78,6 +77,9 @@ STATIC void emit_inline_thumb_start_pass(emit_inline_asm_t *emit, pass_kind_t pa
7877
emit->pass = pass;
7978
emit->scope = scope;
8079
emit->error_slot = error_slot;
80+
if (emit->pass == MP_PASS_CODE_SIZE) {
81+
memset(emit->label_lookup, 0, emit->max_num_labels * sizeof(qstr));
82+
}
8183
asm_thumb_start_pass(emit->as, pass == MP_PASS_EMIT ? ASM_THUMB_PASS_EMIT : ASM_THUMB_PASS_COMPUTE);
8284
asm_thumb_entry(emit->as, 0);
8385
}

0 commit comments

Comments
 (0)