Skip to content

Calling code cleanup after PEP 590 #81332

Description

@jdemeyer
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']

    Activity

    1. jdemeyer commented on Jun 4, 2019

      @jdemeyer
      ContributorAuthor

      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
    2. encukou commented on Jun 7, 2019

      @encukou
      Member

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

    3. methane commented on Jun 18, 2019

      @methane
      Member

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

    4. methane commented on Jun 18, 2019

      @methane
      Member

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

    5. jdemeyer commented on Jun 18, 2019

      @jdemeyer
      ContributorAuthor

      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.

    6. methane commented on Jun 20, 2019

      @methane
      Member

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

    7. encukou commented on Jul 5, 2019

      @encukou
      Member

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

    8. encukou commented on Sep 11, 2019

      @encukou
      Member

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

    9. encukou commented on Sep 11, 2019

      @encukou
      Member

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

    10. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      3.9 (EOL)end of lifeinterpreter-core(Objects, Python, Grammar, and Parser dirs)type-featureA feature request or enhancement

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions