Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calling code cleanup after PEP 590 #81332

Closed
jdemeyer opened this issue Jun 4, 2019 · 9 comments
Closed

Calling code cleanup after PEP 590 #81332

jdemeyer opened this issue Jun 4, 2019 · 9 comments
Labels
3.9 only security fixes interpreter-core (Objects, Python, Grammar, and Parser dirs) type-feature A feature request or enhancement

Comments

@jdemeyer
Copy link
Contributor

jdemeyer commented Jun 4, 2019

BPO 37151
Nosy @encukou, @methane, @markshannon, @jdemeyer
PRs
  • bpo-37151: simplify classmethoddescr_call #13340
  • bpo-37151: remove _PyFunction_FastCallDict #13864
  • bpo-37151: use PyVectorcall_Call for all calls of "method" #13972
  • bpo-37151: remove _PyCFunction_FastCallDict #14269
  • bpo-37151: remove _PyMethodDef_RawFastCall* functions #14603
  • bpo-37151: remove special case for PyCFunction from PyObject_Call #14684
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2019-09-11.13:35:40.926>
    created_at = <Date 2019-06-04.14:40:44.330>
    labels = ['interpreter-core', 'type-feature', '3.9']
    title = 'Calling code cleanup after PEP 590'
    updated_at = <Date 2019-09-11.13:35:40.925>
    user = 'https://github.com/jdemeyer'

    bugs.python.org fields:

    activity = <Date 2019-09-11.13:35:40.925>
    actor = 'petr.viktorin'
    assignee = 'none'
    closed = True
    closed_date = <Date 2019-09-11.13:35:40.926>
    closer = 'petr.viktorin'
    components = ['Interpreter Core']
    creation = <Date 2019-06-04.14:40:44.330>
    creator = 'jdemeyer'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 37151
    keywords = ['patch']
    message_count = 9.0
    messages = ['344577', '344920', '345964', '345981', '345982', '346126', '347359', '351818', '351869']
    nosy_count = 6.0
    nosy_names = ['petr.viktorin', 'methane', 'Mark.Shannon', 'jdemeyer', 'Evita Cano', 'shafiq sahil']
    pr_nums = ['13340', '13864', '13972', '14269', '14603', '14684']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue37151'
    versions = ['Python 3.9']

    @jdemeyer
    Copy link
    Contributor Author

    jdemeyer commented Jun 4, 2019

    Now that PEP-590 has been implemented, a lot of old code can be cleaned up. In particular:

    • get rid of _PyMethodDef_RawFastCallXXX() functions and replace them by vectorcall functions for each calling convention
    • get rid of FastCallDict() implementations for specific types, but keep the generic _PyObject_FastCallDict()
    • get rid of some specific tp_call implementations: try to use tp_call=PyVectorcall_Call in more places

    @jdemeyer jdemeyer added 3.9 only security fixes interpreter-core (Objects, Python, Grammar, and Parser dirs) type-feature A feature request or enhancement labels Jun 4, 2019
    @encukou
    Copy link
    Member

    encukou commented Jun 7, 2019

    New changeset 3f345c3 by Petr Viktorin (Jeroen Demeyer) in branch 'master':
    bpo-37151: simplify classmethoddescr_call (GH-13340)
    3f345c3

    @methane
    Copy link
    Member

    methane commented Jun 18, 2019

    New changeset c78fe32 by Inada Naoki (Jeroen Demeyer) in branch 'master':
    bpo-37151: use PyVectorcall_Call for all calls of "method" (GH-13972)
    c78fe32

    @methane
    Copy link
    Member

    methane commented Jun 18, 2019

    New changeset 5954334 by Inada Naoki (Jeroen Demeyer) in branch 'master':
    bpo-37151: remove _PyFunction_FastCallDict (GH-13864)
    5954334

    @jdemeyer
    Copy link
    Contributor Author

    All PRs currently on this issue have been merged, but this is not finished yet. I'm mainly waiting for a resolution on PR 13781 because that's a big change which needs to be done before further cleanup.

    @methane
    Copy link
    Member

    methane commented Jun 20, 2019

    New changeset 7e1a9aa by Inada Naoki (Jeroen Demeyer) in branch 'master':
    bpo-37151: remove _PyCFunction_FastCallDict (GH-14269)
    7e1a9aa

    @encukou
    Copy link
    Member

    encukou commented Jul 5, 2019

    New changeset 7b57c03 by Petr Viktorin (Jeroen Demeyer) in branch 'master':
    bpo-37151: remove _PyMethodDef_RawFastCall* functions (GH-14603)
    7b57c03

    @encukou
    Copy link
    Member

    encukou commented Sep 11, 2019

    New changeset 7a6873c by Petr Viktorin (Jeroen Demeyer) in branch 'master':
    bpo-37151: remove special case for PyCFunction from PyObject_Call (GH-14684)
    7a6873c

    @encukou
    Copy link
    Member

    encukou commented Sep 11, 2019

    All linked PRs are merged, so I'm closing this. Feel free to reopen if there's more!

    @encukou encukou closed this as completed Sep 11, 2019
    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.9 only security fixes interpreter-core (Objects, Python, Grammar, and Parser dirs) type-feature A feature request or enhancement
    Projects
    None yet
    Development

    No branches or pull requests

    3 participants