◐ Shell
clean mode source ↗

GH-104584: Miscellaneous fixes for `-Xuops` by brandtbucher · Pull Request #106908 · python/cpython

Skip to content

Navigation Menu

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Appearance settings

Conversation

@brandtbucher

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.

gvanrossum

Choose a reason for hiding this comment

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

Thank you!!!!!

Labels