]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-118926: Spill deferred references to stack in cases generator (#122748)
authorSam Gross <colesbury@gmail.com>
Wed, 7 Aug 2024 17:23:53 +0000 (13:23 -0400)
committerGitHub <noreply@github.com>
Wed, 7 Aug 2024 17:23:53 +0000 (13:23 -0400)
commit3e753c689a802d2e6d909cce3e22173977b2edbf
tree7330f998c15e42dbf12622dffccd773e5c5520dd
parent967a4f1d180d4cd669d5c6e3ac5ba99af4e72d4e
gh-118926: Spill deferred references to stack in cases generator (#122748)

This automatically spills the results from `_PyStackRef_FromPyObjectNew`
to the in-memory stack so that the deferred references are visible to
the GC before we make any possibly escaping call.

Co-authored-by: Ken Jin <kenjin@python.org>
Python/bytecodes.c
Python/executor_cases.c.h
Python/generated_cases.c.h
Tools/cases_generator/analyzer.py
Tools/cases_generator/generators_common.py
Tools/cases_generator/lexer.py
Tools/cases_generator/stack.py
Tools/cases_generator/tier1_generator.py
Tools/cases_generator/tier2_generator.py