aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/optimizer_cases.c.h
diff options
context:
space:
mode:
Diffstat (limited to 'Python/optimizer_cases.c.h')
-rw-r--r--Python/optimizer_cases.c.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/Python/optimizer_cases.c.h b/Python/optimizer_cases.c.h
index f4fbe8c8aa0..33b34d6fa0d 100644
--- a/Python/optimizer_cases.c.h
+++ b/Python/optimizer_cases.c.h
@@ -592,21 +592,29 @@
}
case _BINARY_SUBSCR_CHECK_FUNC: {
+ _Py_UopsSymbol *getitem;
+ getitem = sym_new_not_null(ctx);
+ stack_pointer[0] = getitem;
+ stack_pointer += 1;
+ assert(WITHIN_STACK_BOUNDS());
break;
}
case _BINARY_SUBSCR_INIT_CALL: {
+ _Py_UopsSymbol *getitem;
_Py_UopsSymbol *sub;
_Py_UopsSymbol *container;
_Py_UOpsAbstractFrame *new_frame;
- sub = stack_pointer[-1];
- container = stack_pointer[-2];
+ getitem = stack_pointer[-1];
+ sub = stack_pointer[-2];
+ container = stack_pointer[-3];
(void)container;
(void)sub;
+ (void)getitem;
new_frame = NULL;
ctx->done = true;
- stack_pointer[-2] = (_Py_UopsSymbol *)new_frame;
- stack_pointer += -1;
+ stack_pointer[-3] = (_Py_UopsSymbol *)new_frame;
+ stack_pointer += -2;
assert(WITHIN_STACK_BOUNDS());
break;
}