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

gh-106581: Split CALL_PY_EXACT_ARGS into uops #107760

Merged
merged 20 commits into from
Aug 16, 2023
Merged

Commits on Aug 9, 2023

  1. Split CALL_PY_EXACT_ARGS into uops

    This is only the first step for doing `CALL` in Tier 2.
    The next step involves tracing into the called code object.
    After that we'll have to do the remaining `CALL` specialization.
    Finally we'll have to tweak various things like `KW_NAMES`,
    and possibly move the `NULL` (for method calls) *above* the callable.
    But those are things for future PRs.
    
    Note: this moves setting `frame->return_offset` directly in front of
    `DISPATCH_INLINED()`, to make it easier to move it into `_PUSH_FRAME`.
    gvanrossum committed Aug 9, 2023
    Configuration menu
    Copy the full SHA
    56133bb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    907ff95 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2c6be6d View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2023

  1. Configuration menu
    Copy the full SHA
    6d78ff2 View commit details
    Browse the repository at this point in the history
  2. Add test

    gvanrossum committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    0d8e66c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b75f30e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    61c2822 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f73ea90 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    12910fc View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2fafa2c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2717b07 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    e487908 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    1d549af View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    f40fb1f View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2023

  1. Fold long lines

    gvanrossum committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    4f6f8f8 View commit details
    Browse the repository at this point in the history
  2. Make less of a special case of _PUSH_FRAME

    Instead, the special case is an opcode using SAVE_FRAME_STATE().
    Introducing #if TIER_ONE and #if TIER_TWO so we can implement
    _PUSH_FRAME differently for both tiers.
    gvanrossum committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    6facc8d View commit details
    Browse the repository at this point in the history
  3. Stop special-casing _PUSH_FRAME altogether

    Instead, we special-case SAVE_IP:
    - Its Tier 2 expansion sets oparg to the instruction offset
    - In Tier 1 it is a no-op (and skipped if present in a macro)
    gvanrossum committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    94630d4 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2023

  1. Configuration menu
    Copy the full SHA
    cf8e2c0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1e62876 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2023

  1. Configuration menu
    Copy the full SHA
    05af848 View commit details
    Browse the repository at this point in the history