diff options
author | Mark Shannon <mark@hotpy.org> | 2025-03-26 15:21:35 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-26 15:21:35 (GMT) |
commit | 1b8bb1ed0c4243796af531a35de982bc4f028215 (patch) | |
tree | 830d0586e0c7b5e65b03b40979794b0ecd99cfe5 /Python/optimizer_bytecodes.c | |
parent | b9ca438daab6a4e2513ab38171e94c75da03d6e3 (diff) | |
download | cpython-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.c | 4 |
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)) { |