Skip to content

Specialization of member descriptors only handles Py_T_OBJECT_EX but _Py_T_OBJECT seems more common #111772

Closed
@markshannon

Description

@markshannon

Despite _Py_T_OBJECT being marked as deprecated in descrobject.h it is commonly used in the standard library.
LOAD_ATTR_SLOT de-optimizes if the stored value is NULL. If the stored value is not NULL, both _Py_T_OBJECT and Py_T_OBJECT_EX act the same, so we can reuse LOAD_ATTR_SLOT for _Py_T_OBJECT.

For storing attributes, _Py_T_OBJECT and Py_T_OBJECT_EX are exactly the same.

I don't know why _Py_T_OBJECT is deprecated, the semantics seem quite reasonable.

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    performancePerformance or resource usage

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions