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-111520: Integrate the Tier 2 interpreter in the Tier 1 interpreter #111428

Merged
merged 27 commits into from
Nov 1, 2023

Commits on Oct 27, 2023

  1. Make all labels in _PyUopExecute end in _tier_two

    Use `GOTO_ERROR(error)` instead of `goto error`.
    This macro is defined differently in the tier two interpreter.
    gvanrossum committed Oct 27, 2023
    Configuration menu
    Copy the full SHA
    97984d3 View commit details
    Browse the repository at this point in the history
  2. Control lltrace via PYTHON_LLTRACE=N

    This replaces PYTHONUOPSDEBUG=N. The meaning of N is the same (for now):
    
      0: no tracing
      1: print when tier 2 trace created
      2: print contents of tier 2 trace
      3: print every uop executed
      4: print optimization attempts and details
      5: print tier 1 instructions and stack
    gvanrossum committed Oct 27, 2023
    Configuration menu
    Copy the full SHA
    157a450 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d1b9c1b View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2023

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

Commits on Oct 29, 2023

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

Commits on Oct 30, 2023

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

Commits on Oct 31, 2023

  1. Configuration menu
    Copy the full SHA
    b808f6d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a0aed59 View commit details
    Browse the repository at this point in the history
  3. Most suggestions from Mark's code review

    - Remove CHECK_EVAL_BREAKER() from top of Tier 2 loop
    - Make Tier 2 default case Py_UNREACHABLE() in non-debug mode
    - GOTO_TIER_TWO() macro instead of `goto enter_tier_two`
    - Inline ip_offset (Tier 2 LOAD_IP() is now a no-op)
    - Move #define/#under TIER_ONE/TIER_TWO into generated .c.h files
    - ceval_macros.h defines Tier 1 macros, Tier 2 is inlined in ceval.c
    gvanrossum committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    75605c7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5e84476 View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2023

  1. Configuration menu
    Copy the full SHA
    917b7a2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9067eb0 View commit details
    Browse the repository at this point in the history
  3. Fix whitespace

    gvanrossum committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    6a4e495 View commit details
    Browse the repository at this point in the history
  4. Revert "DO NOT MERGE: Always use -Xuops"

    (I accidentally kept this commit after pushing it experimentally.
    This means I've been testing with uops on all the time, which is
    actually pretty amazing.)
    
    This reverts commit e0e60ce.
    gvanrossum committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    81f1883 View commit details
    Browse the repository at this point in the history
  5. Add blurb

    gvanrossum committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    ee27e73 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7ebc228 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a1d0108 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a96ac7f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    e02409d View commit details
    Browse the repository at this point in the history
  10. Move _EXIT_TRACE logic to a separate label

    Using `GOTO_TIER_ONE()` macro. This should make things simpler
    for Justin.
    gvanrossum committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    fdf1a2f View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    2a6450c View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4783de3 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    b9516a1 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    33c3fae View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    998e054 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    19d9d40 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    03de1bf View commit details
    Browse the repository at this point in the history