René's URL Explorer Experiment


Title: gh-115999: Implement thread-local bytecode and enable specialization for `BINARY_OP` by mpage · Pull Request #123926 · python/cpython · GitHub

Open Graph Title: gh-115999: Implement thread-local bytecode and enable specialization for `BINARY_OP` by mpage · Pull Request #123926 · python/cpython

X Title: gh-115999: Implement thread-local bytecode and enable specialization for `BINARY_OP` by mpage · Pull Request #123926 · python/cpython

Description: This PR implements the foundational work necessary for making the specializing interpreter thread-safe in free-threaded builds and enables specialization for BINARY_OP as an end-to-end example. To enable future incremental work, specialization can now be toggled on a per-family basis. Subsequent PRs will enable specialization in free-threaded builds for the remaining families. Each thread specializes a thread-local copy of the bytecode, created on the first RESUME, in free-threaded builds. All copies of the bytecode for a code object are stored in the co_tlbc array on the code object. Threads reserve a globally unique index identifying its copy of the bytecode in all co_tlbc arrays at thread creation and release the index at thread destruction. The first entry in every co_tlbc array always points to the "main" copy of the bytecode that is stored at the end of the code object. This ensures that no bytecode is copied for programs that do not use threads. Thread-local bytecode can be disabled at runtime by providing either -X tlbc=0 or PYTHON_TLBC=0. Disabling thread-local bytecode also disables specialization. Concurrent modifications to the bytecode made by the specializing interpreter and instrumentation use atomics, with specialization taking care not to overwrite an instruction that was instrumented concurrently. Issue: gh-115999

Open Graph Description: This PR implements the foundational work necessary for making the specializing interpreter thread-safe in free-threaded builds and enables specialization for BINARY_OP as an end-to-end example. To ...

X Description: This PR implements the foundational work necessary for making the specializing interpreter thread-safe in free-threaded builds and enables specialization for BINARY_OP as an end-to-end example. To ...

Opengraph URL: https://github.com/python/cpython/pull/123926

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:4bea14c6-f502-4b4b-d519-3533a25e2cbe
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idA806:2ADBE8:22EF751:32B1C22:6A565CB6
html-safe-nonce211c3c055ecd69a28160474df493621406132a532081ae36a75dcc07e6bca4d4
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBODA2OjJBREJFODoyMkVGNzUxOjMyQjFDMjI6NkE1NjVDQjYiLCJ2aXNpdG9yX2lkIjoiMTAyODY4NDQ0MDU3MzIwNTY4NiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacf0c894ad1c7879d5a869659ae901a39e2b17bffc93fe8572d90c63601cb80c8e
hovercard-subject-tagpull_request:2064851401
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python/cpython/pull/123926/files
twitter:imagehttps://avatars.githubusercontent.com/u/577841?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/577841?s=400&v=4
og:image:altThis PR implements the foundational work necessary for making the specializing interpreter thread-safe in free-threaded builds and enables specialization for BINARY_OP as an end-to-end example. To ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None6a3afe34dff341ad10912db44becf282289d7f2af20576241738530fbb28de01
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releaseb71002134df95575e9f6c2945a64d454b0be181e
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/123926/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F123926%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F123926%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/pull/123926/files
Reloadhttps://github.com/python/cpython/pull/123926/files
Reloadhttps://github.com/python/cpython/pull/123926/files
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 35k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 73.8k https://github.com/login?return_to=%2Fpython%2Fcpython
Code https://github.com/python/cpython
Issues 5k+ https://github.com/python/cpython/issues
Pull requests 2.3k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality 0 https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
Code https://github.com/python/cpython
Issues https://github.com/python/cpython/issues
Pull requests https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
mpagehttps://github.com/mpage
python:mainhttps://github.com/python/cpython/tree/main
mpage:gh-115999-thread-local-bytecodehttps://github.com/mpage/cpython/tree/gh-115999-thread-local-bytecode
Conversation 116 https://github.com/python/cpython/pull/123926
Commits 84 https://github.com/python/cpython/pull/123926/commits
Checks 0 https://github.com/python/cpython/pull/123926/checks
Files changed https://github.com/python/cpython/pull/123926/files
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
gh-115999: Implement thread-local bytecode and enable specialization for BINARY_OP https://github.com/python/cpython/pull/123926/files#top
Show all changes 84 commits https://github.com/python/cpython/pull/123926/files
776a1e1 Assign threads indices into bytecode copies mpage Aug 15, 2024 https://github.com/python/cpython/pull/123926/commits/776a1e1ca877894b899b775ae562312adb65b6f2
2b40870 Replace most usage of PyCode_CODE mpage Aug 27, 2024 https://github.com/python/cpython/pull/123926/commits/2b40870422ee524cad3a8cf31424b629e5161a7b
344d7ad Get bytecode copying working mpage Aug 20, 2024 https://github.com/python/cpython/pull/123926/commits/344d7adb8a8f9eafad15c8864d39c1cb825beae3
f203d00 Refactor remove_tools mpage Aug 30, 2024 https://github.com/python/cpython/pull/123926/commits/f203d00158744ab0c19b4755b1feadb666d3d1d9
82b456a Refactor remove_line_tools mpage Aug 30, 2024 https://github.com/python/cpython/pull/123926/commits/82b456a301e29f9daaf053694a0f1079f5962a5b
b021704 Instrument thread-local bytecode mpage Sep 1, 2024 https://github.com/python/cpython/pull/123926/commits/b02170421a66969376075f9f1e3ba48f8e4870d9
aea69c5 Use locks for instrumentation mpage Sep 3, 2024 https://github.com/python/cpython/pull/123926/commits/aea69c56a7c33f95a454acc73ea253783e5c6e6a
552277d Add ifdef guards for each specialization family mpage Sep 3, 2024 https://github.com/python/cpython/pull/123926/commits/552277d8db532b1475fd5fa1396d72493515e9ee
50a6089 Specialize BINARY_OP mpage Sep 4, 2024 https://github.com/python/cpython/pull/123926/commits/50a6089a6c73b302ad991469aeb6bb893462339c
3f1d941 Limit the amount of memory consumed by bytecode copies mpage Sep 6, 2024 https://github.com/python/cpython/pull/123926/commits/3f1d94175e3bdab06156f6f0cc408f4fb444cacc
7d2eb27 Make thread-local bytecode limits user configurable mpage Sep 7, 2024 https://github.com/python/cpython/pull/123926/commits/7d2eb2750d13b40ca7df7a470d8e0778d61c487f
d5476b9 Fix a few data races when (de)instrumenting opcodes mpage Sep 8, 2024 https://github.com/python/cpython/pull/123926/commits/d5476b92a41190edb5a11243d4f716e832505bd8
e3b367a Make branch taken recording thread-safe mpage Sep 8, 2024 https://github.com/python/cpython/pull/123926/commits/e3b367a8351b799b6ed812332d5e756906051b94
b2375bf Lock thread-local bytecode when specializing mpage Sep 9, 2024 https://github.com/python/cpython/pull/123926/commits/b2375bf9678dc4b362f9271968b57680f4aff962
2707f8e Load bytecode on RESUME_CHECK mpage Sep 9, 2024 https://github.com/python/cpython/pull/123926/commits/2707f8e5d854b63f886472813bbab04ea4a55ee0
3fdcb28 Load tlbc on generator.throw() mpage Sep 9, 2024 https://github.com/python/cpython/pull/123926/commits/3fdcb288e56e45b6681ffdf85fb095a58207fc49
4a55ce5 Use tlbc instead of thread_local_bytecode mpage Sep 9, 2024 https://github.com/python/cpython/pull/123926/commits/4a55ce5924d2dd9c193325497413d3143f116b42
8b3ff60 Use tlbc everywhere mpage Sep 9, 2024 https://github.com/python/cpython/pull/123926/commits/8b3ff60c1d5e97c8e0b3abdbfd663929a4d0a943
862afa1 Explicitly manage tlbc state mpage Sep 9, 2024 https://github.com/python/cpython/pull/123926/commits/862afa181e2222106cf0a516a1513453bc59e86b
0b4d952 Refactor API for fetching tlbc mpage Sep 9, 2024 https://github.com/python/cpython/pull/123926/commits/0b4d9522652e1f2e9be8a80bbb7d2c4b65b5591a
7795e99 Add unit tests mpage Sep 10, 2024 https://github.com/python/cpython/pull/123926/commits/7795e99a3220421f91a953eafb0d416aff203b4e
693a4cc Fix initconfig in default build mpage Sep 10, 2024 https://github.com/python/cpython/pull/123926/commits/693a4cc96313506bc6678ba9123ba22ab711170d
b43531e Fix instrumentation in default build mpage Sep 10, 2024 https://github.com/python/cpython/pull/123926/commits/b43531e1de1392cc7c7fc980f2354379cef05823
9025f43 Synchronize bytecode modifications between specialization and instrum… mpage Sep 10, 2024 https://github.com/python/cpython/pull/123926/commits/9025f431aceeb44b1f8e532502d0554b2708818b
c44c7d9 Add a high-level comment mpage Sep 10, 2024 https://github.com/python/cpython/pull/123926/commits/c44c7d902cf4a4c7326510d7888d0727de267931
e2a6656 Fix unused variable warning in default build mpage Sep 10, 2024 https://github.com/python/cpython/pull/123926/commits/e2a6656c20e66880a7d73febccf75f638229eba7
e6513d1 Fix test_config in free-threaded builds mpage Sep 10, 2024 https://github.com/python/cpython/pull/123926/commits/e6513d1a945f63826ace6f21c75e11bdec1a1774
a18396f Fix formatting mpage Sep 10, 2024 https://github.com/python/cpython/pull/123926/commits/a18396fa60ea54b04e3a375c951fa27e0288f31a
81fe1a2 Remove comment mpage Sep 10, 2024 https://github.com/python/cpython/pull/123926/commits/81fe1a213f2943e777cc0c4355e65dda52d8f117
837645e Fix data race in _PyInstruction_GetLength mpage Sep 10, 2024 https://github.com/python/cpython/pull/123926/commits/837645e31166e141149cc7a984ab832ac73d4896
f13e132 Fix tier2 optimizer mpage Sep 11, 2024 https://github.com/python/cpython/pull/123926/commits/f13e132eed50dba5f7e0382dd68dc30b5d27eb4a
942f628 Use __VA_ARGS__ for macros mpage Sep 11, 2024 https://github.com/python/cpython/pull/123926/commits/942f62898182d61cc889214de715391f06df6a16
66cb24d Update vcxproj files to include newly added files mpage Sep 11, 2024 https://github.com/python/cpython/pull/123926/commits/66cb24d82d6557cf07725f8bacf720dcc0134fab
ad12bd4 Mark unused params mpage Sep 11, 2024 https://github.com/python/cpython/pull/123926/commits/ad12bd42d7cd91d008cde3236a238a5f7f60bd56
1bbbbbc Keep tier2 and the JIT disabled in free-threaded builds mpage Sep 12, 2024 https://github.com/python/cpython/pull/123926/commits/1bbbbbc8dbbcbb4b0efc6b0a3067b1bdbfe289d3
e63e403 Only allow enabling/disabling tlbc mpage Sep 13, 2024 https://github.com/python/cpython/pull/123926/commits/e63e403641eccdb118dce4b0efaf42198adbc4e9
8b97771 Update libpython for gdb mpage Sep 13, 2024 https://github.com/python/cpython/pull/123926/commits/8b97771fb39e25e74f915455bd79f1f6a5310b79
d34adeb Merge branch 'main' into gh-115999-thread-local-bytecode mpage Sep 13, 2024 https://github.com/python/cpython/pull/123926/commits/d34adebb31aef54d0ceb6fd8e2abe9bdb8247ffe
6d4fe73 Handle out of memory errors mpage Sep 13, 2024 https://github.com/python/cpython/pull/123926/commits/6d4fe7354356fe2841e7600e88850595839ca3fc
c2d8693 Merge branch 'main' into gh-115999-thread-local-bytecode mpage Sep 17, 2024 https://github.com/python/cpython/pull/123926/commits/c2d86931f95c24b0a56408d7db6ac0b27efd67ea
b104782 Fix warnings on windows mpage Sep 17, 2024 https://github.com/python/cpython/pull/123926/commits/b10478268c1363a44b23005bb46e846e4f388268
deb5216 Fix another warning mpage Sep 18, 2024 https://github.com/python/cpython/pull/123926/commits/deb52167c1eefc3992f8a814d5feae92ba862d35
2f11cc7 Ugh actually fix it mpage Sep 18, 2024 https://github.com/python/cpython/pull/123926/commits/2f11cc781d891e2e9f9b793d8658680e79022586
04f1ac3 Add high-level comment about index pools mpage Sep 25, 2024 https://github.com/python/cpython/pull/123926/commits/04f1ac3d55e9f1e3526c2ec8af7e3a95895cc4ff
aa330b1 Merge branch 'main' into gh-115999-thread-local-bytecode mpage Sep 25, 2024 https://github.com/python/cpython/pull/123926/commits/aa330b1af21688aa3a81bb41a249f9d7c572aa79
7dfd1ca Merge branch 'main' into gh-115999-thread-local-bytecode mpage Sep 26, 2024 https://github.com/python/cpython/pull/123926/commits/7dfd1ca3b4261f7b79e3cf2ac6fe2caf11dac87b
7c9da24 Exclude tlbc from refleak counts mpage Sep 27, 2024 https://github.com/python/cpython/pull/123926/commits/7c9da242ef59824697e500ab0bab80420f516c22
dd144d0 Merge branch 'main' into gh-115999-thread-local-bytecode mpage Sep 28, 2024 https://github.com/python/cpython/pull/123926/commits/dd144d0d0794827c3c4bcda97ed13a34878dfd71
ad180d1 Regen files mpage Sep 28, 2024 https://github.com/python/cpython/pull/123926/commits/ad180d183c9f1bbe6689df21d35a4f1375574ef4
95d2264 Move `get_tlbc_blocks` into the sys module mpage Sep 30, 2024 https://github.com/python/cpython/pull/123926/commits/95d22644c85da15a87902ce7f4e43f71354d026f
b6380de Merge branch 'main' into gh-115999-thread-local-bytecode mpage Sep 30, 2024 https://github.com/python/cpython/pull/123926/commits/b6380de9f4aee1b98fbc8590b19df78fd484cc81
adb59ef Merge branch 'main' into gh-115999-thread-local-bytecode mpage Oct 5, 2024 https://github.com/python/cpython/pull/123926/commits/adb59ef10da8a3f909fd2475be264ca5a0087f96
39c947d Merge branch 'main' into gh-115999-thread-local-bytecode mpage Oct 10, 2024 https://github.com/python/cpython/pull/123926/commits/39c947d251ed9404a8701a30fd98a7e4d2c11001
2cc5830 Work around `this_instr` now being const mpage Oct 11, 2024 https://github.com/python/cpython/pull/123926/commits/2cc5830a28048165bd2710394283c31f38ef642c
96ec126 Make RESUME_CHECK cheaper mpage Oct 11, 2024 https://github.com/python/cpython/pull/123926/commits/96ec1262c71007055d89cfc0fa33fbeaee839400
5ecebd9 Pass tstate to _PyCode_GetTLBCFast mpage Oct 11, 2024 https://github.com/python/cpython/pull/123926/commits/5ecebd9f849432d17b08e6c8910517f9bfaa661a
815b2fe Rename test_tlbc.py to test_thread_local_bytecode.py mpage Oct 11, 2024 https://github.com/python/cpython/pull/123926/commits/815b2fed5bdab3acb463092bf574da4bb381712e
fb90d23 Remove per-family defines for specialization mpage Oct 11, 2024 https://github.com/python/cpython/pull/123926/commits/fb90d2376cc7a037208a8bd04af164d6fca1b347
4e42414 Replace bytecode pointer with tlbc_index mpage Oct 13, 2024 https://github.com/python/cpython/pull/123926/commits/4e424140daac45e736956810c58dba1c734f0250
814e4ca Add a test verifying that we clean up tlbc when the code object is de… mpage Oct 14, 2024 https://github.com/python/cpython/pull/123926/commits/814e4ca4e54165a7081b1633eeaee1d5e078ee47
ba3930a Merge branch 'main' into gh-115999-thread-local-bytecode mpage Oct 14, 2024 https://github.com/python/cpython/pull/123926/commits/ba3930aa904e43a039d9b8c1bbca662201859916
cb8a774 Fix indentation mpage Oct 14, 2024 https://github.com/python/cpython/pull/123926/commits/cb8a7749031cb4bd45f39942820fd469f0c644bd
0f8a55b Clarify comment mpage Oct 14, 2024 https://github.com/python/cpython/pull/123926/commits/0f8a55b151f2bb96ff553829a6486402859c7801
70ce0fe Fix TSAN mpage Oct 14, 2024 https://github.com/python/cpython/pull/123926/commits/70ce0fe7a0ab8c8661b47171e8fce07ddd7b0668
f512353 Add test for cleaning up tlbc in correct place, not old emacs buffer mpage Oct 14, 2024 https://github.com/python/cpython/pull/123926/commits/f512353e861da3d5b5f1017b17ae5c8bb158dbd9
4be2b1f Remove test_tlbc.py mpage Oct 14, 2024 https://github.com/python/cpython/pull/123926/commits/4be2b1fc3dc52620266250f974667cfbc6420264
61c7aa9 Merge branch 'main' into gh-115999-thread-local-bytecode mpage Oct 17, 2024 https://github.com/python/cpython/pull/123926/commits/61c7aa9981d9611a986d0864dfb0b8b8699f4cd6
ab6222c Use int32_t instead of Py_ssize_t for tlbc indices mpage Oct 17, 2024 https://github.com/python/cpython/pull/123926/commits/ab6222ce472db49da859e98c849e916255919f83
6bbb220 Use _PyCode_CODE instead of PyFrame_GetBytecode in super_init_without… mpage Oct 17, 2024 https://github.com/python/cpython/pull/123926/commits/6bbb22082cca959ef592097a0e367644b363d769
4580e3c Update comment mpage Oct 17, 2024 https://github.com/python/cpython/pull/123926/commits/4580e3c9d05672dddd190f040c5f1232870632b0
b992f44 Consolidate _PyCode_{Quicken,DisableSpecialization} into _PyCode_Init… mpage Oct 17, 2024 https://github.com/python/cpython/pull/123926/commits/b992f446e991aa5247673f2d331b1ca44fc7b0d8
4c040d3 Merge branch 'main' into gh-115999-thread-local-bytecode mpage Oct 18, 2024 https://github.com/python/cpython/pull/123926/commits/4c040d3a64a9eb1bb8e0b23b80e81931676c675d
5b7658c Fix incorrect types mpage Oct 18, 2024 https://github.com/python/cpython/pull/123926/commits/5b7658cbbf6df0e86ce7a3143b7c8354a2b9f295
bec5bce Add command-line tests for enabling TLBC mpage Oct 18, 2024 https://github.com/python/cpython/pull/123926/commits/bec5bce4fd46b78b1b661ed991bcd4fc5adb9b48
c9054b7 Update libpython.py for tlbc_index mpage Oct 18, 2024 https://github.com/python/cpython/pull/123926/commits/c9054b7ab44e59ec5de1709c95aeb8eb2231877d
1a48ab2 Avoid special casing in _PyEval_GetExecutableCode mpage Oct 19, 2024 https://github.com/python/cpython/pull/123926/commits/1a48ab2827ad0f4db61c1aefed8164ddb5df1644
b16ae5f Merge branch 'main' into gh-115999-thread-local-bytecode mpage Oct 19, 2024 https://github.com/python/cpython/pull/123926/commits/b16ae5fc0c2f177a773535ca31110f4c66f54230
176b24e Merge branch 'main' into gh-115999-thread-local-bytecode mpage Oct 23, 2024 https://github.com/python/cpython/pull/123926/commits/176b24e2ee844b10798284951550d0210be9893e
c107495 Clear TLBC when other caches are cleared mpage Oct 23, 2024 https://github.com/python/cpython/pull/123926/commits/c10749537025eee20b5b673a05632f23b0f69bbf
07f9140 Remove _get_tlbc_blocks mpage Oct 24, 2024 https://github.com/python/cpython/pull/123926/commits/07f91409a6a4a933b26b23eb79e41da4d6c77918
4cbe237 Merge branch 'main' into gh-115999-thread-local-bytecode mpage Oct 30, 2024 https://github.com/python/cpython/pull/123926/commits/4cbe2370fc688470d0b28b2cec1106f1596f2aa7
38ff315 Rename _PyCode_InitCounters back to _PyCode_Quicken mpage Oct 30, 2024 https://github.com/python/cpython/pull/123926/commits/38ff315f3573b382f3de2d7d977336a29cb96b37
338f7e5 Merge branch 'main' into gh-115999-thread-local-bytecode mpage Nov 4, 2024 https://github.com/python/cpython/pull/123926/commits/338f7e513912b1e4d01e2fc23be7949803c94ade
bcd1bb2 Merge branch 'main' into gh-115999-thread-local-bytecode mpage Nov 4, 2024 https://github.com/python/cpython/pull/123926/commits/bcd1bb23ff701c484a3f04c408f40afda2658d84
Clear filters https://github.com/python/cpython/pull/123926/files
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
code.h https://github.com/python/cpython/pull/123926/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
initconfig.h https://github.com/python/cpython/pull/123926/files#diff-35a650b0af7753c2aee8a2a7512fe62158d8b7150bf79ebf1c32201b00cc5124
pycore_ceval.h https://github.com/python/cpython/pull/123926/files#diff-9e7eb7e81667528dfa3a35bbf32fe622d4721c3c71385ea0ea2250abbd15d545
pycore_code.h https://github.com/python/cpython/pull/123926/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
pycore_frame.h https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
pycore_gc.h https://github.com/python/cpython/pull/123926/files#diff-0e64649e0124da22bbdd808a1902470f99752765073e6f1eb8bbd734ef1f4255
pycore_index_pool.h https://github.com/python/cpython/pull/123926/files#diff-b4c93f05b0cd9f1f9d74632e92ec8607fce8347ec78c45463d98eadb2b38af4b
pycore_interp.h https://github.com/python/cpython/pull/123926/files#diff-cb06b7ba43789a1d6ae5bef46baa8a255b72dbcd2b44bfec7f146ea4e94dbfa0
pycore_tstate.h https://github.com/python/cpython/pull/123926/files#diff-7d65c03065cc654fe51b92748324dcc062d995c291981e586bba827af6aa7045
pycore_uop_ids.h https://github.com/python/cpython/pull/123926/files#diff-2a420e4d0d58009249c0f73f7c822167b053bd51cb213b20179bd2aebfc66ff9
pycore_uop_metadata.h https://github.com/python/cpython/pull/123926/files#diff-55e65a72fa31e9b746e03076d2c74b716c0c1171663f36960b2339fcbfae9bab
__init__.py https://github.com/python/cpython/pull/123926/files#diff-d925268c057737ba320c489ca302fd5125f14840d22e50cfe226bdb5bb88ba8d
test_config.py https://github.com/python/cpython/pull/123926/files#diff-6d447bbdd654d28c3835f8c580f223ef8a356e6991640720d44969a0fc6b6f9f
test_opt.py https://github.com/python/cpython/pull/123926/files#diff-67b5bd915e37f77df79907865982648172c27d3b96fbb072b30a73c6a2735439
test_cmd_line.py https://github.com/python/cpython/pull/123926/files#diff-128fff16ea63b541718887f5c714e0c1a357414fe1146b4893ef699e8853e3b0
test_dis.py https://github.com/python/cpython/pull/123926/files#diff-fd7b118a01a9695dfa16eea9381d3c7b0652e1b7b55f51ff052a1f620d175642
test_embed.py https://github.com/python/cpython/pull/123926/files#diff-573be25566e43f5adc6650ad1b58d106dbbd79521cb9c6e6d5df9588616a1ffd
test_sys.py https://github.com/python/cpython/pull/123926/files#diff-f3ae0e3fbb12fe0717e2d9d8801f5d9f3091c34254d1302b228422d7d07fdc5d
test_thread_local_bytecode.py https://github.com/python/cpython/pull/123926/files#diff-01d18615b7d1791994f2cd69f42a07b9c9fdb07b7c0081477ec925e12e2b3701
Makefile.pre.in https://github.com/python/cpython/pull/123926/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
_opcode.c https://github.com/python/cpython/pull/123926/files#diff-ffb16ae9ae2147478a153c6858c0734f9c39d64724f1862aafad7ed191fed6cf
_testinternalcapi.c https://github.com/python/cpython/pull/123926/files#diff-687f4a736f1f6ad4b6cd4ff65c8e0113408304e8d65530dbd41b3f59a081a126
codeobject.c https://github.com/python/cpython/pull/123926/files#diff-6f869eb8beb7cbe4bc6817584b99ad567f88962fa67f7beca25d009dc401234d
frameobject.c https://github.com/python/cpython/pull/123926/files#diff-7b8cef249e5cca077d30de4e428a6bde6b9b803464e790e9cffa7e052e19efdd
typeobject.c https://github.com/python/cpython/pull/123926/files#diff-1decebeef15f4e0b0ce106c665751ec55068d4d1d1825847925ad4f528b5b872
_freeze_module.vcxproj https://github.com/python/cpython/pull/123926/files#diff-d6e731738eec137782f1f1add8cb8ae28cbe912b6bedfe170eb91e90c388702e
_freeze_module.vcxproj.filters https://github.com/python/cpython/pull/123926/files#diff-5e3a79d068beb7e72d27ca9ef4847037a9ee40a43dc221fe9868d41b7a9041ff
pythoncore.vcxproj https://github.com/python/cpython/pull/123926/files#diff-4295039788386c2986b811f2a6b59cf088be59822b24b4f1243c9e9b184f65fb
pythoncore.vcxproj.filters https://github.com/python/cpython/pull/123926/files#diff-9e715828befc9c50c8b483b06d4923cda0db44f57d0c20e6a6d428ba60bfa0c5
bytecodes.c https://github.com/python/cpython/pull/123926/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
ceval.c https://github.com/python/cpython/pull/123926/files#diff-c22186367cbe20233e843261998dc027ae5f1f8c0d2e778abfa454ae74cc59de
ceval_macros.h https://github.com/python/cpython/pull/123926/files#diff-45baf725df91ed7826458cda8a17c2b4a2e5296504de1ed6a1c5a9ebe6390a47
executor_cases.c.h https://github.com/python/cpython/pull/123926/files#diff-a1c3430c42a66c16e6d2e154491a6da993b187b27c628545a12a02c7b2a06b81
frame.c https://github.com/python/cpython/pull/123926/files#diff-a4bce9eacb883a180151a309d9367502a69d7881188f93c7b6c0398249b6c14e
gc_free_threading.c https://github.com/python/cpython/pull/123926/files#diff-4722ae850a2da3e12f50815c0e3932627ebe67edeaa8b7f28a94f20c8698204d
generated_cases.c.h https://github.com/python/cpython/pull/123926/files#diff-4ef46fa654f95502e49a24f7dc8ee31a4cac9b3433fe9cd2b2d4dd78cfbad448
index_pool.c https://github.com/python/cpython/pull/123926/files#diff-a549918ffebf20a49c4bd7d470d006b96b9169f18709e870fd253bfad1dfac41
initconfig.c https://github.com/python/cpython/pull/123926/files#diff-bde30a9f2283aadeea54d703778ec8edf01c71bac3cfe6479035fc13ddc3296b
instrumentation.c https://github.com/python/cpython/pull/123926/files#diff-adaefb7da847260ef7aff6e66007bc83f5b226c5389a23e1c9ea622c3b02c419
optimizer_cases.c.h https://github.com/python/cpython/pull/123926/files#diff-ed4567b3e67709ec57bf4df91ef058cfcbe00d7da11cd2a75e38241fa1ca99d2
pystate.c https://github.com/python/cpython/pull/123926/files#diff-7ac11e526f79b42d6ea9d3592cb99da46775640c69fa5510f4a6de87cced7141
specialize.c https://github.com/python/cpython/pull/123926/files#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
sysmodule.c https://github.com/python/cpython/pull/123926/files#diff-a3a5c73931235f7f344c072dc755d6508e13923db3f5d581c5e88652075871cb
libpython.py https://github.com/python/cpython/pull/123926/files#diff-d6a780608c6679847e005fc5a55c5749ce3c68c031e75e63b0c5b45e57e25758
Include/cpython/code.hhttps://github.com/python/cpython/pull/123926/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
View file https://github.com/mpage/cpython/blob/bcd1bb23ff701c484a3f04c408f40afda2658d84/Include/cpython/code.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/123926/{{ revealButtonHref }}
https://github.com/python/cpython/pull/123926/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
https://github.com/python/cpython/pull/123926/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
https://github.com/python/cpython/pull/123926/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
https://github.com/python/cpython/pull/123926/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L281
Include/cpython/initconfig.hhttps://github.com/python/cpython/pull/123926/files#diff-35a650b0af7753c2aee8a2a7512fe62158d8b7150bf79ebf1c32201b00cc5124
View file https://github.com/mpage/cpython/blob/bcd1bb23ff701c484a3f04c408f40afda2658d84/Include/cpython/initconfig.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/123926/{{ revealButtonHref }}
https://github.com/python/cpython/pull/123926/files#diff-35a650b0af7753c2aee8a2a7512fe62158d8b7150bf79ebf1c32201b00cc5124
https://github.com/python/cpython/pull/123926/files#diff-35a650b0af7753c2aee8a2a7512fe62158d8b7150bf79ebf1c32201b00cc5124
Include/internal/pycore_ceval.hhttps://github.com/python/cpython/pull/123926/files#diff-9e7eb7e81667528dfa3a35bbf32fe622d4721c3c71385ea0ea2250abbd15d545
View file https://github.com/mpage/cpython/blob/bcd1bb23ff701c484a3f04c408f40afda2658d84/Include/internal/pycore_ceval.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/123926/{{ revealButtonHref }}
https://github.com/python/cpython/pull/123926/files#diff-9e7eb7e81667528dfa3a35bbf32fe622d4721c3c71385ea0ea2250abbd15d545
https://github.com/python/cpython/pull/123926/files#diff-9e7eb7e81667528dfa3a35bbf32fe622d4721c3c71385ea0ea2250abbd15d545
Include/internal/pycore_code.hhttps://github.com/python/cpython/pull/123926/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
View file https://github.com/mpage/cpython/blob/bcd1bb23ff701c484a3f04c408f40afda2658d84/Include/internal/pycore_code.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/123926/{{ revealButtonHref }}
https://github.com/python/cpython/pull/123926/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/pull/123926/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/pull/123926/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/pull/123926/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/pull/123926/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/pull/123926/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
Include/internal/pycore_frame.hhttps://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
View file https://github.com/mpage/cpython/blob/bcd1bb23ff701c484a3f04c408f40afda2658d84/Include/internal/pycore_frame.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/123926/{{ revealButtonHref }}
https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
markshannonhttps://github.com/markshannon
Oct 17, 2024https://github.com/python/cpython/pull/123926/files#r1804989742
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
https://github.com/python/cpython/pull/123926/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342R4821https://github.com/python/cpython/pull/123926/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342R4821
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
mpagehttps://github.com/mpage
Oct 17, 2024https://github.com/python/cpython/pull/123926/files#r1805582126
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
markshannonhttps://github.com/markshannon
Oct 17, 2024https://github.com/python/cpython/pull/123926/files#r1805161848
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
mpagehttps://github.com/mpage
Oct 17, 2024https://github.com/python/cpython/pull/123926/files#r1805588048
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
https://github.com/python/cpython/pull/123926/files#diff-dc43b169f3202922a7787b97210ce299172f0cf03bd88529d473128f32e49fe4
Include/internal/pycore_gc.hhttps://github.com/python/cpython/pull/123926/files#diff-0e64649e0124da22bbdd808a1902470f99752765073e6f1eb8bbd734ef1f4255
View file https://github.com/mpage/cpython/blob/bcd1bb23ff701c484a3f04c408f40afda2658d84/Include/internal/pycore_gc.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/123926/{{ revealButtonHref }}
https://github.com/python/cpython/pull/123926/files#diff-0e64649e0124da22bbdd808a1902470f99752765073e6f1eb8bbd734ef1f4255
https://github.com/python/cpython/pull/123926/files#diff-0e64649e0124da22bbdd808a1902470f99752765073e6f1eb8bbd734ef1f4255
Include/internal/pycore_index_pool.hhttps://github.com/python/cpython/pull/123926/files#diff-b4c93f05b0cd9f1f9d74632e92ec8607fce8347ec78c45463d98eadb2b38af4b
View file https://github.com/mpage/cpython/blob/bcd1bb23ff701c484a3f04c408f40afda2658d84/Include/internal/pycore_index_pool.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/123926/{{ revealButtonHref }}
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L327
Include/internal/pycore_interp.hhttps://github.com/python/cpython/pull/123926/files#diff-cb06b7ba43789a1d6ae5bef46baa8a255b72dbcd2b44bfec7f146ea4e94dbfa0
View file https://github.com/mpage/cpython/blob/bcd1bb23ff701c484a3f04c408f40afda2658d84/Include/internal/pycore_interp.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/123926/{{ revealButtonHref }}
https://github.com/python/cpython/pull/123926/files#diff-cb06b7ba43789a1d6ae5bef46baa8a255b72dbcd2b44bfec7f146ea4e94dbfa0
https://github.com/python/cpython/pull/123926/files#diff-cb06b7ba43789a1d6ae5bef46baa8a255b72dbcd2b44bfec7f146ea4e94dbfa0
https://github.com/python/cpython/pull/123926/files#diff-cb06b7ba43789a1d6ae5bef46baa8a255b72dbcd2b44bfec7f146ea4e94dbfa0
https://github.com/python/cpython/pull/123926/files#diff-cb06b7ba43789a1d6ae5bef46baa8a255b72dbcd2b44bfec7f146ea4e94dbfa0
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L332
Include/internal/pycore_tstate.hhttps://github.com/python/cpython/pull/123926/files#diff-7d65c03065cc654fe51b92748324dcc062d995c291981e586bba827af6aa7045
View file https://github.com/mpage/cpython/blob/bcd1bb23ff701c484a3f04c408f40afda2658d84/Include/internal/pycore_tstate.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/123926/{{ revealButtonHref }}
https://github.com/python/cpython/pull/123926/files#diff-7d65c03065cc654fe51b92748324dcc062d995c291981e586bba827af6aa7045
https://github.com/python/cpython/pull/123926/files#diff-7d65c03065cc654fe51b92748324dcc062d995c291981e586bba827af6aa7045
https://github.com/python/cpython/pull/123926/files#diff-7d65c03065cc654fe51b92748324dcc062d995c291981e586bba827af6aa7045
Please reload this pagehttps://github.com/python/cpython/pull/123926/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.