cpython/Lib/test/support
Guido van Rossum bcce5e2718
gh-109039: Branch prediction for Tier 2 interpreter (#109038)
This adds a 16-bit inline cache entry to the conditional branch instructions POP_JUMP_IF_{FALSE,TRUE,NONE,NOT_NONE} and their instrumented variants, which is used to keep track of the branch direction.

Each time we encounter these instructions we shift the cache entry left by one and set the bottom bit to whether we jumped.

Then when it's time to translate such a branch to Tier 2 uops, we use the bit count from the cache entry to decided whether to continue translating the "didn't jump" branch or the "jumped" branch.

The counter is initialized to a pattern of alternating ones and zeros to avoid bias.

The .pyc file magic number is updated. There's a new test, some fixes for existing tests, and a few miscellaneous cleanups.
2023-09-11 18:20:24 +00:00
..
_hypothesis_stubs GH-86275: Implementation of hypothesis stubs for property-based tests, with zoneinfo tests (#22863) 2023-05-12 08:35:53 -04:00
__init__.py gh-109039: Branch prediction for Tier 2 interpreter (#109038) 2023-09-11 18:20:24 +00:00
ast_helper.py gh-100518: Add tests for ast.NodeTransformer (#100521) 2023-01-21 21:44:41 +00:00
asynchat.py gh-72719: Remove asyncore and asynchat modules (#96580) 2022-11-08 16:48:58 +01:00
asyncore.py gh-102799: use sys.exception() instead of sys.exc_info() in tests (#103293) 2023-04-06 11:08:25 +01:00
bytecode_helper.py gh-104615: don't make unsafe swaps in apply_static_swaps (#104620) 2023-05-18 21:22:03 +00:00
hashlib_helper.py bpo-45042: Now test classes decorated with requires_hashdigest are not skipped (GH-28060) 2021-09-04 23:42:36 +03:00
hypothesis_helper.py Disable differing_test_runners health check (#108886) 2023-09-04 18:31:58 +00:00
import_helper.py gh-104310: Add importlib.util.allowing_all_extensions() (gh-104311) 2023-05-08 16:56:01 -06:00
interpreters.py Update test.support.interpreters to include missing RunFailedError import (#103841) 2023-06-26 17:30:20 +02:00
logging_helper.py
os_helper.py gh-100809: Fix handling of drive-relative paths in pathlib.Path.absolute() (GH-100812) 2023-02-17 14:08:14 +00:00
script_helper.py bpo-40280: Skip subprocess-based tests on wasm32-emscripten (GH-30615) 2022-01-25 08:09:06 +01:00
socket_helper.py gh-109015: Add test.support.socket_helper.tcp_blackhole() (#109016) 2023-09-07 01:58:03 +02:00
testcase.py gh-103791: Make contextlib.suppress also act on exceptions within an ExceptionGroup (#103792) 2023-04-24 22:17:02 +00:00
testresult.py gh-108834: regrtest reruns failed tests in subprocesses (#108839) 2023-09-03 21:37:15 +00:00
threading_helper.py gh-104812: Run Pending Calls in any Thread (gh-104813) 2023-06-13 15:02:19 -06:00
warnings_helper.py gh-103109: Document ignore_warnings() test support helper (#103110) 2023-04-03 00:18:25 +02:00