diff options
author | Damien George <damien.p.george@gmail.com> | 2014-04-02 15:56:31 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-04-02 15:56:31 +0100 |
commit | 882b363564b64204c12726d5d2cd7f596322729f (patch) | |
tree | c6f15da0c4cbbaa9413692685a0d6fa0c96f3079 /py/emitcpy.c | |
parent | 929a675a3d2d37fb8c6acbec1b999b9bdd84ff23 (diff) |
py: Move to Python 3.4.0 compatibility.
Very little has changed. In Python 3.4 they removed the opcode
STORE_LOCALS, but in Micro Python we only ever used this for CPython
compatibility, so it was a trivial thing to remove. It also allowed to
clean up some dead code (eg the 0xdeadbeef in class construction), and
now class builders use 1 less stack word.
Python 3.4.0 introduced the LOAD_CLASSDEREF opcode, which I have not
yet understood. Still, all tests (apart from bytecode test) still pass.
Bytecode tests needs some more attention, but they are not that
important anymore.
Diffstat (limited to 'py/emitcpy.c')
-rw-r--r-- | py/emitcpy.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/py/emitcpy.c b/py/emitcpy.c index 4f5a96f2e..8345c12dc 100644 --- a/py/emitcpy.c +++ b/py/emitcpy.c @@ -325,13 +325,6 @@ STATIC void emit_cpy_store_subscr(emit_t *emit) { } } -STATIC void emit_cpy_store_locals(emit_t *emit) { - emit_pre(emit, -1, 1); - if (emit->pass == PASS_3) { - printf("STORE_LOCALS\n"); - } -} - STATIC void emit_cpy_delete_fast(emit_t *emit, qstr qstr, int local_num) { emit_pre(emit, 0, 3); if (emit->pass == PASS_3) { @@ -833,7 +826,6 @@ const emit_method_table_t emit_cpython_method_table = { emit_cpy_store_global, emit_cpy_store_attr, emit_cpy_store_subscr, - emit_cpy_store_locals, emit_cpy_delete_fast, emit_cpy_delete_deref, emit_cpy_delete_name, |