Skip to content

DECREF_INPUTS() should be escaping #131688

Open
@brandtbucher

Description

@brandtbucher

Crash report

The interpreter generator doesn't set the HAS_ESCAPES_FLAG on instructions/micro-ops that use DECREF_INPUTS(). It should, though.

I think the issue is that we short-circuit our escape check to omit calls that are all-uppercase, since these are generally non-escaping macros:

if tkn.text.upper() == tkn.text:
# simple macro
continue

I'm not sure if it makes sense to just add a special case for DECREF_INPUTS here, or omit this heuristic and manually add things that fit this pattern to the non-escaping allowlist. There may also be other surgery involved to make this work correctly, since we want to avoid extra spills and reloads around this.

Linked PRs

Metadata

Metadata

Assignees

Labels

3.14bugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)topic-JITtype-crashA hard crash of the interpreter, possibly with a core dump

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions