René's URL Explorer Experiment


Title: gh-97933: inline list/dict/set comprehensions by carljm · Pull Request #101441 · python/cpython · GitHub

Open Graph Title: gh-97933: inline list/dict/set comprehensions by carljm · Pull Request #101441 · python/cpython

X Title: gh-97933: inline list/dict/set comprehensions by carljm · Pull Request #101441 · python/cpython

Description: Closes #97933. In builds with --enable-optimizations: ➜ ./python -m pyperf timeit -s 'l = [1, 2, 3, 4, 5]' '[x for x in l]' --compare-to ../mainopt/python /home/carljm/build/mainopt/python: ..................... 200 ns +- 3 ns /home/carljm/build/ic2opt/python: ..................... 120 ns +- 2 ns Mean +- std dev: [/home/carljm/build/mainopt/python] 200 ns +- 3 ns -> [/home/carljm/build/ic2opt/python] 120 ns +- 2 ns: 1.67x faster Credit to @vladima for authoring the original version of this code in Cinder 3.8. The compiler approach is different in this version (so as to support inlining all comprehensions, regardless of name clashes); some of the symbol table changes remain the same. A couple implementation notes: We need a new opcode LOAD_FAST_AND_CLEAR because we need to push/pop the value of possibly-undefined variables on the stack while clearing them. To do this with existing opcodes would require eliminating the invariant/assert that LOAD_FAST never loads NULL, and would add inefficient refcount operations and interpreter loop cycles. If a comprehension iteration variable is a cell inside the comprehension (i.e. the comprehension builds closures) we end up including that variable in both co_varnames and co_cellvars for the inlined-into outer function and using the non-offset (varnames) storage location for it. This is how function arguments that are also cells are currently handled, so we just piggyback on that handling. This makes the needed push/pop of the outer cell simpler as we can just use LOAD_FAST_AND_CLEAR/STORE_FAST as-is for it, and it will push/pop the cell itself. Otherwise we would need some new handling in the compiler for allowing push/pop of a cell in offset storage. This PR also adds a lot of new tests for comprehension scoping edge cases, and runs all new and existing scoping tests in module, function, and class scopes (without requiring duplication of the test code.) All comprehension scoping tests added in this diff also pass with comprehension inlining disabled (ensuring semantics did not change.) Issue: gh-97933

Open Graph Description: Closes #97933. In builds with --enable-optimizations: ➜ ./python -m pyperf timeit -s 'l = [1, 2, 3, 4, 5]' '[x for x in l]' --compare-to ../mainopt/python /home/carljm/build/mainopt...

X Description: Closes #97933. In builds with --enable-optimizations: ➜ ./python -m pyperf timeit -s 'l = [1, 2, 3, 4, 5]' '[x for x in l]' --compare-to ../mainopt/python /home/carl...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:539ffaa7-00e5-73d6-c210-80be1b26969c
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id92D0:181900:BBC3A1:FFD92A:6969E754
html-safe-noncef7ca11981c3fb98fb7eb407fd08b2cdbf3290619f8e761d7af590c3be88bdb6f
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5MkQwOjE4MTkwMDpCQkMzQTE6RkZEOTJBOjY5NjlFNzU0IiwidmlzaXRvcl9pZCI6IjgwODEwMTczMzAzODU2NzYxMTYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac89fc71611d28e52c10d80530a36e63ba64fb209aac3439c23d6ec93ba903056d
hovercard-subject-tagpull_request:1222478346
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/101441/files
twitter:imagehttps://avatars.githubusercontent.com/u/61586?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/61586?s=400&v=4
og:image:altCloses #97933. In builds with --enable-optimizations: ➜ ./python -m pyperf timeit -s 'l = [1, 2, 3, 4, 5]' '[x for x in l]' --compare-to ../mainopt/python /home/carljm/build/mainopt...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None7b32f1c7c4549428ee399213e8345494fc55b5637195d3fc5f493657579235e8
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
releasebdde15ad1b403e23b08bbd89b53fbe6bdf688cad
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/101441/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F101441%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
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
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
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/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%2F101441%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/101441/files
Reloadhttps://github.com/python/cpython/pull/101441/files
Reloadhttps://github.com/python/cpython/pull/101441/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/101441/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 33.9k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 71.1k 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.1k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects 31 https://github.com/python/cpython/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/python/cpython/security
Please reload this pagehttps://github.com/python/cpython/pull/101441/files
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 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
carljmhttps://github.com/carljm
python:mainhttps://github.com/python/cpython/tree/main
carljm:inlinecomp2https://github.com/carljm/cpython/tree/inlinecomp2
Conversation 73 https://github.com/python/cpython/pull/101441
Commits 56 https://github.com/python/cpython/pull/101441/commits
Checks 0 https://github.com/python/cpython/pull/101441/checks
Files changed https://github.com/python/cpython/pull/101441/files
Please reload this pagehttps://github.com/python/cpython/pull/101441/files
gh-97933: inline list/dict/set comprehensions https://github.com/python/cpython/pull/101441/files#top
Show all changes 56 commits https://github.com/python/cpython/pull/101441/files
72afa83 gh-97933: inline sync list/dict/set comprehensions carljm Jan 30, 2023 https://github.com/python/cpython/pull/101441/commits/72afa83e59ab1ea782afe89ef1105b84e5c006f6
8988234 simplify cell handling code slightly carljm Jan 31, 2023 https://github.com/python/cpython/pull/101441/commits/89882347b93e0fac4f5539c00069f4476ed84745
22c4a86 clarify comments carljm Jan 31, 2023 https://github.com/python/cpython/pull/101441/commits/22c4a86a19aac5696e2d4a714ae99c53893469aa
c1b54f0 enable inlining async comprehensions also carljm Jan 31, 2023 https://github.com/python/cpython/pull/101441/commits/c1b54f03ded9e4b46aa3b64f904b268c034d6dd4
43db9b8 fix typo carljm Jan 31, 2023 https://github.com/python/cpython/pull/101441/commits/43db9b891cd1803f3e27bd650d266123fdcb5c3e
ed3209b Merge branch 'main' into inlinecomp2 carljm Jan 31, 2023 https://github.com/python/cpython/pull/101441/commits/ed3209b6de5f48b303e4a33d3c3284289cfa0b90
aceb6c7 fix outer-cell, inner-local case carljm Jan 31, 2023 https://github.com/python/cpython/pull/101441/commits/aceb6c7431577ca41aec81552ddabd6b01ef5158
e57c354 fix restoring NULL (unbound outer name) followed by load carljm Jan 31, 2023 https://github.com/python/cpython/pull/101441/commits/e57c35449601eef2fbd752425f76ae78ec0c72ef
795d854 emit 1 x SWAP N+1 instead of N x SWAP 2 carljm Jan 31, 2023 https://github.com/python/cpython/pull/101441/commits/795d854e575621fb91098b70ca38d5c044811d73
686221a remove stray dis.dis() call carljm Jan 31, 2023 https://github.com/python/cpython/pull/101441/commits/686221a8c38c0a95d912aba4518cbcac333635fa
ac99697 fix compiler warning about Py_ssize_t -> int conversion carljm Jan 31, 2023 https://github.com/python/cpython/pull/101441/commits/ac99697d0a8a668311fcb5be546d9d8051a0f0bf
db208d5 Merge branch 'main' into inlinecomp2 carljm Jan 31, 2023 https://github.com/python/cpython/pull/101441/commits/db208d57128896c3600386d07313bf47ea13c022
8b76051 Merge branch 'main' into inlinecomp2 carljm Feb 1, 2023 https://github.com/python/cpython/pull/101441/commits/8b760513aa3f658207dc840b8386c630ee3dcbf7
4620856 add a couple more tests carljm Feb 1, 2023 https://github.com/python/cpython/pull/101441/commits/46208568b2d5e5e2e6cd4b37baabe03b4905d8a4
8773653 clear comp locals on entry, eval iter expr first carljm Feb 1, 2023 https://github.com/python/cpython/pull/101441/commits/8773653b4c078591d6c1ea28c1285b0922a775f6
be3becc Merge branch 'main' into inlinecomp2 carljm Feb 9, 2023 https://github.com/python/cpython/pull/101441/commits/be3becca2abd5fa42a3070c75e75f2fa6729aa75
f0c051e fix double decref in error case carljm Feb 9, 2023 https://github.com/python/cpython/pull/101441/commits/f0c051e94f27ea40ee0ceedd1c141e53a27c921d
142859a adjust to RETURN_CONST carljm Feb 9, 2023 https://github.com/python/cpython/pull/101441/commits/142859a89d1656c8f3d8af09f95f7c73ec9ae475
568a470 fix up refcounting carljm Feb 10, 2023 https://github.com/python/cpython/pull/101441/commits/568a4707b0f9b5d77d83132704f37d8f2dcc6352
add772e Merge branch 'main' into inlinecomp2 carljm Feb 10, 2023 https://github.com/python/cpython/pull/101441/commits/add772e5266056d98652c709444e34093c689af1
17d5d84 improve importlib comment carljm Feb 10, 2023 https://github.com/python/cpython/pull/101441/commits/17d5d840b5258add54e452a9bc5071c6650b7c79
b87d209 mark STORE_FAST_MAYBE_NULL as possibly NULLing a local carljm Feb 10, 2023 https://github.com/python/cpython/pull/101441/commits/b87d20983a5d1afa686a5a98f97fa374e1a984a4
36b2917 Merge branch 'main' into inlinecomp2 carljm Feb 10, 2023 https://github.com/python/cpython/pull/101441/commits/36b291737a8c5398c6fe5c0c737d1bb5155c82b1
ae0bd02 Merge branch 'main' into inlinecomp2 carljm Feb 13, 2023 https://github.com/python/cpython/pull/101441/commits/ae0bd024a5a9ca4761ab396621a1b7b6c780cf20
9f0fc5b Merge branch 'main' into inlinecomp2 carljm Feb 20, 2023 https://github.com/python/cpython/pull/101441/commits/9f0fc5bf710b9054530cfc9bea62dbd87cd3f0ee
463c740 add test for NameError/UnboundLocalError carljm Feb 28, 2023 https://github.com/python/cpython/pull/101441/commits/463c740b7199650fca15870b4ce583652970dd7f
67f50ba fix case where iter var is free in outer scope carljm Feb 28, 2023 https://github.com/python/cpython/pull/101441/commits/67f50ba3766d7c52a9eceaff0e27ae6f9866304b
73dc0ed Merge branch 'main' into inlinecomp2 carljm Feb 28, 2023 https://github.com/python/cpython/pull/101441/commits/73dc0ed4b87abcdb4b07f8c56b875636e6807b43
ecb313c Merge branch 'main' into inlinecomp2 carljm Mar 6, 2023 https://github.com/python/cpython/pull/101441/commits/ecb313c0ee109f86e2be6e12f0526bbbd56d99eb
4109baa add inlining of non-function-scope comprehensions carljm Mar 7, 2023 https://github.com/python/cpython/pull/101441/commits/4109baab0351090bf3650cd56150a2e591a45d74
d8802a1 simplify scope handling carljm Mar 7, 2023 https://github.com/python/cpython/pull/101441/commits/d8802a1d71e40364b89d213dab35a86671d7d6a8
1c019a7 Merge branch 'main' into inlinecomp2 carljm Mar 7, 2023 https://github.com/python/cpython/pull/101441/commits/1c019a7bfe51fc1715c6f2a41ed01882651c3e83
24a9d9f Merge branch 'main' into inlinecomp2 carljm Mar 8, 2023 https://github.com/python/cpython/pull/101441/commits/24a9d9fcb53afccfe186fc92bd7c40467890b6c5
b6a025b add tests for comprehensions in class scope carljm Mar 8, 2023 https://github.com/python/cpython/pull/101441/commits/b6a025ba83269a20c38cafb6ecd62846dba9f0fc
90b34de run all listcomp scope tests in module, class, and func scope carljm Mar 8, 2023 https://github.com/python/cpython/pull/101441/commits/90b34dea96d6304adb8a1abe2af001908086e63e
06db319 Merge branch 'main' into inlinecomp2 carljm Mar 8, 2023 https://github.com/python/cpython/pull/101441/commits/06db31965986ea8d68e7b7e68fc6802fa05c8e60
b52046b handle frame locals materialization in class/module scope carljm Mar 14, 2023 https://github.com/python/cpython/pull/101441/commits/b52046b8dd73f9d64d1f721af7b2f12155dba64c
6c5f269 Merge branch 'main' into inlinecomp2 carljm Mar 14, 2023 https://github.com/python/cpython/pull/101441/commits/6c5f269eceb005e4d7fe5de2320d81108cd6ad3c
1a8f4a0 Merge branch 'main' into inlinecomp2 carljm Mar 17, 2023 https://github.com/python/cpython/pull/101441/commits/1a8f4a0c46a35fe6d95b2b20f1bfcb32a2c1f1fc
1274e2b Merge branch 'main' into inlinecomp2 carljm May 1, 2023 https://github.com/python/cpython/pull/101441/commits/1274e2bf55565619f80c9b9ceee35c258b413eb6
0727d6f Merge branch 'main' into inlinecomp2 carljm May 2, 2023 https://github.com/python/cpython/pull/101441/commits/0727d6f2e3650fdd190cd9111c7fea83dd936277
51a1294 update comment carljm May 2, 2023 https://github.com/python/cpython/pull/101441/commits/51a12944d45567b5c807c2c1ca78db867e01eb1a
8a78a36 Merge branch 'main' into inlinecomp2 carljm May 5, 2023 https://github.com/python/cpython/pull/101441/commits/8a78a36bdc5e75d00d3f757e9b27180f510f80b8
43722b4 review comments carljm May 5, 2023 https://github.com/python/cpython/pull/101441/commits/43722b4aadcdddde1b09cba8161dffdd78f8e5fa
bf9e1f1 fix single backticks carljm May 5, 2023 https://github.com/python/cpython/pull/101441/commits/bf9e1f1c4a63b800b7af5fe3d5a75cf110c6cb8e
ca636a5 better nested test carljm May 5, 2023 https://github.com/python/cpython/pull/101441/commits/ca636a5635b4455d2c838d22c28ecaa33bebf83f
46c7a4f fix u_fasthidden in nested case carljm May 5, 2023 https://github.com/python/cpython/pull/101441/commits/46c7a4f4eb61ad4882e1ede2e3ba6e1d6a43c68a
fb9f89e fix refleak carljm May 5, 2023 https://github.com/python/cpython/pull/101441/commits/fb9f89ef6a7c8a497c9d23302285cfab5fb38ade
baacf5f Merge branch 'main' into inlinecomp2 carljm May 5, 2023 https://github.com/python/cpython/pull/101441/commits/baacf5f0b36f73d238b49fbddd68f90d1ba5db1d
5914d77 remove assumption that class scopes can't have cellvars carljm May 5, 2023 https://github.com/python/cpython/pull/101441/commits/5914d7790984be4bdd192a711b87ee809984a3d9
ffae4e6 Apply suggestions from code review carljm May 9, 2023 https://github.com/python/cpython/pull/101441/commits/ffae4e6783f35ebc50a56a5b3487b0ed8bd530a7
76077cd Merge branch 'main' into inlinecomp2 carljm May 9, 2023 https://github.com/python/cpython/pull/101441/commits/76077cd8333fba0d4a75daa500e3140247a81a22
a8425a6 review comments carljm May 9, 2023 https://github.com/python/cpython/pull/101441/commits/a8425a669953febb4e5278ab44464ed69f0f234a
656e46b Apply suggestions from code review carljm May 9, 2023 https://github.com/python/cpython/pull/101441/commits/656e46bf7443f0a6a5dd0b68e8b8bdbdcf5dcbab
1402e7a Apply suggestions from code review carljm May 9, 2023 https://github.com/python/cpython/pull/101441/commits/1402e7ae316dcf46db48c79ebe4f9ec711f30277
95401fe Merge branch 'main' into inlinecomp2 carljm May 9, 2023 https://github.com/python/cpython/pull/101441/commits/95401febe1db5be154c205ec37c237ff104e497a
Clear filters https://github.com/python/cpython/pull/101441/files
Please reload this pagehttps://github.com/python/cpython/pull/101441/files
Please reload this pagehttps://github.com/python/cpython/pull/101441/files
dis.rst https://github.com/python/cpython/pull/101441/files#diff-eaa488fc50d23b30ca8b24ab19e9c91c1c941339847af993e908f006eec0653b
3.12.rst https://github.com/python/cpython/pull/101441/files#diff-0f2c1763c64530268325a0ee2dfaa4f5d555c4ac27deb78bd77102c8ce1b886b
pycore_code.h https://github.com/python/cpython/pull/101441/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
pycore_compile.h https://github.com/python/cpython/pull/101441/files#diff-3dae19a721cfc66db8ff0589c0b4a4c6947fa714e3d3a0d86a5ae96f5c98b6fb
pycore_flowgraph.h https://github.com/python/cpython/pull/101441/files#diff-d1141789dbf42f9712f6ff1840da040936e0a3b3bde1fc56c549c833566c7a42
pycore_opcode.h https://github.com/python/cpython/pull/101441/files#diff-7b986d4fccffcb2f2af4ec495559b2f0dc2e393e38f95e8ca3ef48e559177530
pycore_symtable.h https://github.com/python/cpython/pull/101441/files#diff-2a51d92a01c0bc62a48f185bdae9d50adebaffdc9bb4a1aff64f41edca712ddf
opcode.h https://github.com/python/cpython/pull/101441/files#diff-1cd1f0bb26c3fbaa279f83ee2bfe1d9072da7af07407111c79039c66034c57ed
_bootstrap_external.py https://github.com/python/cpython/pull/101441/files#diff-efefe383b3a81d16150c280db0b64eed7569254299418f64cc0d749f8e16f3a4
opcode.py https://github.com/python/cpython/pull/101441/files#diff-7681b13de881a13601ca56b73d052d032be48da4256df4f2f09e0474b0c1cbeb
test_compile.py https://github.com/python/cpython/pull/101441/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
test_compiler_assemble.py https://github.com/python/cpython/pull/101441/files#diff-d5129c1573dfaacec3d894c0886cdd383dd8cae509f0988c2afb987e1f1aaf4f
test_dis.py https://github.com/python/cpython/pull/101441/files#diff-fd7b118a01a9695dfa16eea9381d3c7b0652e1b7b55f51ff052a1f620d175642
test_inspect.py https://github.com/python/cpython/pull/101441/files#diff-cd0b5ed704ccdad2d507d4f756ac2a9b391e0c9bbb5554baf851dbebd8b5e618
test_listcomps.py https://github.com/python/cpython/pull/101441/files#diff-6f30ce607962fa738e784af87142b4bb73d48160a1f354eea2cbf31a5bcb310a
test_trace.py https://github.com/python/cpython/pull/101441/files#diff-897468a2ed95b93e1b3d5189c7ae0331da155594c17da9f2d48c20ee0063885f
2023-01-30-15-40-29.gh-issue-97933.nUlp3r.rst https://github.com/python/cpython/pull/101441/files#diff-84519a6c9d62621e54305379b1d4fbda8e924f22d260f44b370cb978558f9db2
_testinternalcapi.c https://github.com/python/cpython/pull/101441/files#diff-687f4a736f1f6ad4b6cd4ff65c8e0113408304e8d65530dbd41b3f59a081a126
frameobject.c https://github.com/python/cpython/pull/101441/files#diff-7b8cef249e5cca077d30de4e428a6bde6b9b803464e790e9cffa7e052e19efdd
assemble.c https://github.com/python/cpython/pull/101441/files#diff-b784be7a543a2653face407b541812c20b1f75c77c9ee9b109ca2220921d99d0
bytecodes.c https://github.com/python/cpython/pull/101441/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
compile.c https://github.com/python/cpython/pull/101441/files#diff-ebc983d9f91e5bcf73500e377ac65e85863c4f77fd5b6b6caf4fcdf7c0f0b057
flowgraph.c https://github.com/python/cpython/pull/101441/files#diff-3cbf15668c31488528b7ab0f903c674a0ecf550f4f53c1be6cf8cd965246c2a0
generated_cases.c.h https://github.com/python/cpython/pull/101441/files#diff-4ef46fa654f95502e49a24f7dc8ee31a4cac9b3433fe9cd2b2d4dd78cfbad448
opcode_metadata.h https://github.com/python/cpython/pull/101441/files#diff-f862bc60824529a25ba378be850ecc6762f03c6c944266d30ac7172d10132498
opcode_targets.h https://github.com/python/cpython/pull/101441/files#diff-d3363a4083b77b9157d0bf07c2e87f3d3464a8b4360d5d23b07bbb23061f007a
symtable.c https://github.com/python/cpython/pull/101441/files#diff-1029343b7709f438c869082355577469b5aa784b454afa461ca2844ce9910ea6
Doc/library/dis.rsthttps://github.com/python/cpython/pull/101441/files#diff-eaa488fc50d23b30ca8b24ab19e9c91c1c941339847af993e908f006eec0653b
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Doc/library/dis.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/101441/{{ revealButtonHref }}
https://github.com/python/cpython/pull/101441/files#diff-eaa488fc50d23b30ca8b24ab19e9c91c1c941339847af993e908f006eec0653b
https://github.com/python/cpython/pull/101441/files#diff-eaa488fc50d23b30ca8b24ab19e9c91c1c941339847af993e908f006eec0653b
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L114
Doc/whatsnew/3.12.rsthttps://github.com/python/cpython/pull/101441/files#diff-0f2c1763c64530268325a0ee2dfaa4f5d555c4ac27deb78bd77102c8ce1b886b
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Doc/whatsnew/3.12.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/101441/{{ revealButtonHref }}
https://github.com/python/cpython/pull/101441/files#diff-0f2c1763c64530268325a0ee2dfaa4f5d555c4ac27deb78bd77102c8ce1b886b
https://github.com/python/cpython/pull/101441/files#diff-0f2c1763c64530268325a0ee2dfaa4f5d555c4ac27deb78bd77102c8ce1b886b
Include/internal/pycore_code.hhttps://github.com/python/cpython/pull/101441/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Include/internal/pycore_code.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/101441/{{ revealButtonHref }}
https://github.com/python/cpython/pull/101441/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/pull/101441/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
Include/internal/pycore_compile.hhttps://github.com/python/cpython/pull/101441/files#diff-3dae19a721cfc66db8ff0589c0b4a4c6947fa714e3d3a0d86a5ae96f5c98b6fb
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Include/internal/pycore_compile.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/101441/{{ revealButtonHref }}
https://github.com/python/cpython/pull/101441/files#diff-3dae19a721cfc66db8ff0589c0b4a4c6947fa714e3d3a0d86a5ae96f5c98b6fb
https://github.com/python/cpython/pull/101441/files#diff-3dae19a721cfc66db8ff0589c0b4a4c6947fa714e3d3a0d86a5ae96f5c98b6fb
Include/internal/pycore_flowgraph.hhttps://github.com/python/cpython/pull/101441/files#diff-d1141789dbf42f9712f6ff1840da040936e0a3b3bde1fc56c549c833566c7a42
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Include/internal/pycore_flowgraph.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/101441/{{ revealButtonHref }}
https://github.com/python/cpython/pull/101441/files#diff-d1141789dbf42f9712f6ff1840da040936e0a3b3bde1fc56c549c833566c7a42
https://github.com/python/cpython/pull/101441/files#diff-d1141789dbf42f9712f6ff1840da040936e0a3b3bde1fc56c549c833566c7a42
Include/internal/pycore_opcode.hhttps://github.com/python/cpython/pull/101441/files#diff-7b986d4fccffcb2f2af4ec495559b2f0dc2e393e38f95e8ca3ef48e559177530
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Include/internal/pycore_opcode.h
Open in desktop https://desktop.github.com
how customized files appear on GitHubhttps://docs.github.com/github/administering-a-repository/customizing-how-changed-files-appear-on-github
Please reload this pagehttps://github.com/python/cpython/pull/101441/files
Include/internal/pycore_symtable.hhttps://github.com/python/cpython/pull/101441/files#diff-2a51d92a01c0bc62a48f185bdae9d50adebaffdc9bb4a1aff64f41edca712ddf
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Include/internal/pycore_symtable.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/101441/{{ revealButtonHref }}
https://github.com/python/cpython/pull/101441/files#diff-2a51d92a01c0bc62a48f185bdae9d50adebaffdc9bb4a1aff64f41edca712ddf
https://github.com/python/cpython/pull/101441/files#diff-2a51d92a01c0bc62a48f185bdae9d50adebaffdc9bb4a1aff64f41edca712ddf
Include/opcode.hhttps://github.com/python/cpython/pull/101441/files#diff-1cd1f0bb26c3fbaa279f83ee2bfe1d9072da7af07407111c79039c66034c57ed
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Include/opcode.h
Open in desktop https://desktop.github.com
how customized files appear on GitHubhttps://docs.github.com/github/administering-a-repository/customizing-how-changed-files-appear-on-github
Please reload this pagehttps://github.com/python/cpython/pull/101441/files
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L260
Lib/importlib/_bootstrap_external.pyhttps://github.com/python/cpython/pull/101441/files#diff-efefe383b3a81d16150c280db0b64eed7569254299418f64cc0d749f8e16f3a4
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Lib/importlib/_bootstrap_external.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/101441/{{ revealButtonHref }}
https://github.com/python/cpython/pull/101441/files#diff-efefe383b3a81d16150c280db0b64eed7569254299418f64cc0d749f8e16f3a4
https://github.com/python/cpython/pull/101441/files#diff-efefe383b3a81d16150c280db0b64eed7569254299418f64cc0d749f8e16f3a4
https://github.com/python/cpython/pull/101441/files#diff-efefe383b3a81d16150c280db0b64eed7569254299418f64cc0d749f8e16f3a4
Lib/opcode.pyhttps://github.com/python/cpython/pull/101441/files#diff-7681b13de881a13601ca56b73d052d032be48da4256df4f2f09e0474b0c1cbeb
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Lib/opcode.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/101441/{{ revealButtonHref }}
https://github.com/python/cpython/pull/101441/files#diff-7681b13de881a13601ca56b73d052d032be48da4256df4f2f09e0474b0c1cbeb
https://github.com/python/cpython/pull/101441/files#diff-7681b13de881a13601ca56b73d052d032be48da4256df4f2f09e0474b0c1cbeb
https://github.com/python/cpython/pull/101441/files#diff-7681b13de881a13601ca56b73d052d032be48da4256df4f2f09e0474b0c1cbeb
https://github.com/python/cpython/pull/101441/files#diff-7681b13de881a13601ca56b73d052d032be48da4256df4f2f09e0474b0c1cbeb
Lib/test/test_compile.pyhttps://github.com/python/cpython/pull/101441/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Lib/test/test_compile.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/101441/{{ revealButtonHref }}
https://github.com/python/cpython/pull/101441/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
https://github.com/python/cpython/pull/101441/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
https://github.com/python/cpython/pull/101441/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
https://github.com/python/cpython/pull/101441/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
https://github.com/python/cpython/pull/101441/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
https://github.com/python/cpython/pull/101441/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
https://github.com/python/cpython/pull/101441/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
https://github.com/python/cpython/pull/101441/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
https://github.com/python/cpython/pull/101441/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
Lib/test/test_compiler_assemble.pyhttps://github.com/python/cpython/pull/101441/files#diff-d5129c1573dfaacec3d894c0886cdd383dd8cae509f0988c2afb987e1f1aaf4f
View file https://github.com/carljm/cpython/blob/95401febe1db5be154c205ec37c237ff104e497a/Lib/test/test_compiler_assemble.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/101441/{{ revealButtonHref }}
https://github.com/python/cpython/pull/101441/files#diff-d5129c1573dfaacec3d894c0886cdd383dd8cae509f0988c2afb987e1f1aaf4f
https://github.com/python/cpython/pull/101441/files#diff-d5129c1573dfaacec3d894c0886cdd383dd8cae509f0988c2afb987e1f1aaf4f
https://github.com/python/cpython/pull/101441/files#diff-d5129c1573dfaacec3d894c0886cdd383dd8cae509f0988c2afb987e1f1aaf4f
Please reload this pagehttps://github.com/python/cpython/pull/101441/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.