Skip to content

Generator objects are defined using PyObject_HEAD rather than PyObject_VAR_HEAD #126596

Open
@jbower-fb

Description

@jbower-fb

Bug report

Bug description:

#29891 converted the generator objects to be variable in size so they could incorporate interpreter frames. However, the object layout is still defined using PyObject_HEAD. Technically I think this is incorrect. In practice probably nobody notices because the generator type is not a base class and there are other ways to work out the variable sized part where needed, so ob_size is never read after it is written as part of make_gen().

Long story short, I want to fix this because I would like to use ob_size to find the size of generator objects as part of work on Meta's JIT.

CPython versions tested on:

CPython main branch

Operating systems tested on:

No response

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    interpreter-core(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions