summaryrefslogtreecommitdiffstats
path: root/Python/compile.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/compile.c')
-rw-r--r--Python/compile.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/Python/compile.c b/Python/compile.c
index cdc5b26..e6efae3 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -723,9 +723,6 @@ stack_effect(int opcode, int oparg, int jump)
case JUMP_NO_INTERRUPT:
return 0;
- case EXIT_INIT_CHECK:
- return -1;
-
/* Exception handling pseudo-instructions */
case SETUP_FINALLY:
/* 0 in the normal flow.
@@ -746,12 +743,6 @@ stack_effect(int opcode, int oparg, int jump)
return -1;
case LOAD_CLOSURE:
return 1;
- case LOAD_METHOD:
- return 1;
- case LOAD_SUPER_METHOD:
- case LOAD_ZERO_SUPER_METHOD:
- case LOAD_ZERO_SUPER_ATTR:
- return -1;
default:
return PY_INVALID_STACK_EFFECT;
}
@@ -997,6 +988,11 @@ compiler_addop_o(struct compiler_unit *u, location loc,
return codegen_addop_i(u->u_instr_sequence, opcode, arg, loc);
}
+#define LOAD_METHOD -1
+#define LOAD_SUPER_METHOD -2
+#define LOAD_ZERO_SUPER_ATTR -3
+#define LOAD_ZERO_SUPER_METHOD -4
+
static int
compiler_addop_name(struct compiler_unit *u, location loc,
int opcode, PyObject *dict, PyObject *o)
@@ -1014,7 +1010,6 @@ compiler_addop_name(struct compiler_unit *u, location loc,
arg <<= 1;
}
if (opcode == LOAD_METHOD) {
- assert(is_pseudo_target(LOAD_METHOD, LOAD_ATTR));
opcode = LOAD_ATTR;
arg <<= 1;
arg |= 1;
@@ -1024,18 +1019,15 @@ compiler_addop_name(struct compiler_unit *u, location loc,
arg |= 2;
}
if (opcode == LOAD_SUPER_METHOD) {
- assert(is_pseudo_target(LOAD_SUPER_METHOD, LOAD_SUPER_ATTR));
opcode = LOAD_SUPER_ATTR;
arg <<= 2;
arg |= 3;
}
if (opcode == LOAD_ZERO_SUPER_ATTR) {
- assert(is_pseudo_target(LOAD_ZERO_SUPER_ATTR, LOAD_SUPER_ATTR));
opcode = LOAD_SUPER_ATTR;
arg <<= 2;
}
if (opcode == LOAD_ZERO_SUPER_METHOD) {
- assert(is_pseudo_target(LOAD_ZERO_SUPER_METHOD, LOAD_SUPER_ATTR));
opcode = LOAD_SUPER_ATTR;
arg <<= 2;
arg |= 1;