summaryrefslogtreecommitdiffstats
path: root/Python/optimizer_bytecodes.c
diff options
context:
space:
mode:
authorMark Shannon <mark@hotpy.org>2025-03-26 15:21:35 (GMT)
committerGitHub <noreply@github.com>2025-03-26 15:21:35 (GMT)
commit1b8bb1ed0c4243796af531a35de982bc4f028215 (patch)
tree830d0586e0c7b5e65b03b40979794b0ecd99cfe5 /Python/optimizer_bytecodes.c
parentb9ca438daab6a4e2513ab38171e94c75da03d6e3 (diff)
downloadcpython-1b8bb1ed0c4243796af531a35de982bc4f028215.zip
cpython-1b8bb1ed0c4243796af531a35de982bc4f028215.tar.gz
cpython-1b8bb1ed0c4243796af531a35de982bc4f028215.tar.bz2
GH-131729: Code-gen better liveness analysis (GH-131732)
* Rename 'defined' attribute to 'in_local' to more accurately reflect how it is used * Make death of variables explicit even for array variables. * Convert in_memory from boolean to stack offset * Don't apply liveness analysis to optimizer generated code * Fix RETURN_VALUE in optimizer
Diffstat (limited to 'Python/optimizer_bytecodes.c')
-rw-r--r--Python/optimizer_bytecodes.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Python/optimizer_bytecodes.c b/Python/optimizer_bytecodes.c
index cba8787..02463fd 100644
--- a/Python/optimizer_bytecodes.c
+++ b/Python/optimizer_bytecodes.c
@@ -717,6 +717,8 @@ dummy_func(void) {
}
op(_RETURN_VALUE, (retval -- res)) {
+ JitOptSymbol *temp = retval;
+ DEAD(retval);
SAVE_STACK();
ctx->frame->stack_pointer = stack_pointer;
frame_pop(ctx);
@@ -736,7 +738,7 @@ dummy_func(void) {
ctx->done = true;
}
RELOAD_STACK();
- res = retval;
+ res = temp;
}
op(_RETURN_GENERATOR, ( -- res)) {