Skip to content

GH-104584: Miscellaneous fixes for -Xuops#106908

Merged
brandtbucher merged 6 commits intopython:mainfrom
brandtbucher:uop-fixes
Jul 20, 2023
Merged

GH-104584: Miscellaneous fixes for -Xuops#106908
brandtbucher merged 6 commits intopython:mainfrom
brandtbucher:uop-fixes

Conversation

@brandtbucher
Copy link
Copy Markdown
Member

@brandtbucher brandtbucher commented Jul 20, 2023

This fixes all of the tests that fail with the optimizer on.

By file:

  • Lib/dis.py: Teach dis how to parse bytecode containing ENTER_EXECUTOR or INSTRUMENTED_* instructions (by parsing the original code string instead and swapping in the adaptive opcodes at the last minute).
    • Fixes test_dis.
  • Lib/test/test_capi/test_misc.py and Lib/test_dis.py: Modify the tests' expected behavior when an optimizer is active.
    • Fixes test_dis and test_capi.
  • Python/bytecodes.c, Python/generated_cases.c.h, and Python/optimizer.c: Don't run the optimizer on instrumented back-edges.
    • Fixes test_monitoring, test_sys_settrace, and test_trace.
  • Python/executor_cases.c.h and Tools/cases_generator/generate_cases.py: Check the eval breaker when interpreting uops to avoid infinite closed loops.
    • Fixes test_gdb and test_os.
  • Python/pylifecycle.c: Fix refleak when installing optimizer.
    • Fixes test_embed.

@brandtbucher brandtbucher added type-bug An unexpected behavior, bug, or error skip news interpreter-core (Objects, Python, Grammar, and Parser dirs) labels Jul 20, 2023
@brandtbucher brandtbucher self-assigned this Jul 20, 2023
Copy link
Copy Markdown
Member

@gvanrossum gvanrossum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!!!!!

Comment thread Python/bytecodes.c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

interpreter-core (Objects, Python, Grammar, and Parser dirs) type-bug An unexpected behavior, bug, or error

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants