summaryrefslogtreecommitdiff
path: root/py/emitcpy.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-04-02 15:56:31 +0100
committerDamien George <damien.p.george@gmail.com>2014-04-02 15:56:31 +0100
commit882b363564b64204c12726d5d2cd7f596322729f (patch)
treec6f15da0c4cbbaa9413692685a0d6fa0c96f3079 /py/emitcpy.c
parent929a675a3d2d37fb8c6acbec1b999b9bdd84ff23 (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.c8
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,