summaryrefslogtreecommitdiff
path: root/py/emitbc.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/emitbc.c')
-rw-r--r--py/emitbc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/py/emitbc.c b/py/emitbc.c
index 2a390a056..50bb0016e 100644
--- a/py/emitbc.c
+++ b/py/emitbc.c
@@ -37,6 +37,7 @@ struct _emit_t {
};
STATIC void emit_bc_rot_two(emit_t *emit);
+STATIC void emit_bc_rot_three(emit_t *emit);
emit_t *emit_bc_new(uint max_num_labels) {
emit_t *emit = m_new0(emit_t, 1);
@@ -515,8 +516,9 @@ STATIC void emit_bc_delete_attr(emit_t *emit, qstr qstr) {
}
STATIC void emit_bc_delete_subscr(emit_t *emit) {
- emit_bc_pre(emit, -2);
- emit_write_byte_code_byte(emit, MP_BC_DELETE_SUBSCR);
+ emit_bc_load_null(emit);
+ emit_bc_rot_three(emit);
+ emit_bc_store_subscr(emit);
}
STATIC void emit_bc_dup_top(emit_t *emit) {