René's URL Explorer Experiment


Title: GH-135379: Remove types from stack items in code generator. by markshannon · Pull Request #135384 · python/cpython · GitHub

Open Graph Title: GH-135379: Remove types from stack items in code generator. by markshannon · Pull Request #135384 · python/cpython

X Title: GH-135379: Remove types from stack items in code generator. by markshannon · Pull Request #135384 · python/cpython

Description: This removes the types from stack items in the code generator. E.g op(_SEND_GEN_FRAME, (receiver, v -- receiver, gen_frame: _PyInterpreterFrame *)) { becomes op(_SEND_GEN_FRAME, (receiver, v -- receiver, gen_frame) { and the cast from _PyStackRef to _PyInterpreterFrame * is made explicit in the op definition. This is a net zero change in terms of code size, but removes fiddly code generator code and replaces it with simple casts. This also means that any future changes to the code generator, specifically for TOS caching, do not have to worry about inserting casts. Issue: gh-135379

Open Graph Description: This removes the types from stack items in the code generator. E.g op(_SEND_GEN_FRAME, (receiver, v -- receiver, gen_frame: _PyInterpreterFrame *)) { becomes op(_SEND_GEN_FRAME, (receiver, v -- re...

X Description: This removes the types from stack items in the code generator. E.g op(_SEND_GEN_FRAME, (receiver, v -- receiver, gen_frame: _PyInterpreterFrame *)) { becomes op(_SEND_GEN_FRAME, (receiver, v -- re...

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

X: @github

direct link

Domain: github.com

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:b0a69feb-e11f-4e1e-07c1-fc2c9e1ec3ba
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idB312:140EA4:702C89:9C51F7:6AEC9CCC
html-safe-nonce59180a7534eb891121a3633aaea05cb53b11603927afc790c57f98ba9c0c9281
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMzEyOjE0MEVBNDo3MDJDODk6OUM1MUY3OjZBRUM5Q0NDIiwidmlzaXRvcl9pZCI6IjUyMTY5NDE1MzQ2NTIxNzc2MTIiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac05d49067206c311e524cc588f2e2082259464fad6f2ffbb0249ba73b5300cd8b
hovercard-subject-tagpull_request:2583752211
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/135384/files
twitter:imagehttps://avatars.githubusercontent.com/u/9448417?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/9448417?s=400&v=4
og:image:altThis removes the types from stack items in the code generator. E.g op(_SEND_GEN_FRAME, (receiver, v -- receiver, gen_frame: _PyInterpreterFrame *)) { becomes op(_SEND_GEN_FRAME, (receiver, v -- re...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None416ad8516cf23626dd57f3cd052ccfceb1f05dca8d099c46b17faeceb0bca02c
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
release2357f2fbaff3022f1a833ccd221c27e44414a242
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/135384/files#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F135384%2Ffiles
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
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
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://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
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F135384%2Ffiles
Sign uphttps://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/135384/files
Reloadhttps://github.com/python/cpython/pull/135384/files
Reloadhttps://github.com/python/cpython/pull/135384/files
pythonhttps://github.com/python
cpythonhttps://github.com/python/cpython
Codehttps://github.com/python/cpython
Issues5k+ (5k+)https://github.com/python/cpython/issues
Pull requests2.3k (2.3k)https://github.com/python/cpython/pulls
Actionshttps://github.com/python/cpython/actions
Projectshttps://github.com/python/cpython/projects
Security and qualityhttps://github.com/python/cpython/security
Insightshttps://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
markshannonhttps://github.com/markshannon
python:mainhttps://github.com/python/cpython/tree/main
faster-cpython:remove-stackitem-typeshttps://github.com/faster-cpython/cpython/tree/remove-stackitem-types
Conversation 4 https://github.com/python/cpython/pull/135384
Commits 4 https://github.com/python/cpython/pull/135384/commits
Checks 0 https://github.com/python/cpython/pull/135384/checks
Files changed https://github.com/python/cpython/pull/135384/files
Please reload this pagehttps://github.com/python/cpython/pull/135384/files
GH-135379: Remove types from stack items in code generator. https://github.com/python/cpython/pull/135384/files#top
Show all changes 4 commits https://github.com/python/cpython/pull/135384/files
8215f0e Remove types from stack items in code generator. Make casts explicit … markshannon Jun 11, 2025 https://github.com/python/cpython/pull/135384/commits/8215f0e2e7c55e10544bd1c94aadafa5fd13dded
d9c45c6 Fix type error markshannon Jun 11, 2025 https://github.com/python/cpython/pull/135384/commits/d9c45c6bccdb2716759ccbcc355ef488b06f042c
2b8cc35 Fix up comments markshannon Jun 11, 2025 https://github.com/python/cpython/pull/135384/commits/2b8cc35deb4bee00f6ce59c77c88b88fc9d58d60
370059a Add news markshannon Jun 11, 2025 https://github.com/python/cpython/pull/135384/commits/370059a88cb6f0a4707e539cd690e1ba69f77cc4
Clear filters https://github.com/python/cpython/pull/135384/files
Please reload this pagehttps://github.com/python/cpython/pull/135384/files
Please reload this pagehttps://github.com/python/cpython/pull/135384/files
pycore_stackref.h https://github.com/python/cpython/pull/135384/files#diff-11edce643992829edaa638fe36451f2f9bed6b44abede0cc2055bf2c507d5d01
test_generated_cases.py https://github.com/python/cpython/pull/135384/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
2025-06-11-12-14-06.gh-issue-135379.25ttXq.rst https://github.com/python/cpython/pull/135384/files#diff-0db3abdbb580059df361d9ed2e019737dae0aa96a594cc5989b0a713d71398a0
bytecodes.c https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
executor_cases.c.h https://github.com/python/cpython/pull/135384/files#diff-a1c3430c42a66c16e6d2e154491a6da993b187b27c628545a12a02c7b2a06b81
generated_cases.c.h https://github.com/python/cpython/pull/135384/files#diff-4ef46fa654f95502e49a24f7dc8ee31a4cac9b3433fe9cd2b2d4dd78cfbad448
optimizer_bytecodes.c https://github.com/python/cpython/pull/135384/files#diff-e5bd2b14b0b10f0f47786e26306d689ed1361c3dc3b11dcc3ea52b8a2422ff64
optimizer_cases.c.h https://github.com/python/cpython/pull/135384/files#diff-ed4567b3e67709ec57bf4df91ef058cfcbe00d7da11cd2a75e38241fa1ca99d2
analyzer.py https://github.com/python/cpython/pull/135384/files#diff-bf1d5618934b787df486d8077f48217f17bf4321b9a151528f67b6e6f383976b
generators_common.py https://github.com/python/cpython/pull/135384/files#diff-762826c344c1cd1f4e2f8f91a20c1a7194b3b25585a1f56a5c3b716d8088c21f
optimizer_generator.py https://github.com/python/cpython/pull/135384/files#diff-0e6b93be57fb09a403b522dd1babfec9a9ed626d868a4fec6a42a6942c55dc23
parsing.py https://github.com/python/cpython/pull/135384/files#diff-7a9f9b83d196f419177f6294b4648cc6fdc928bd191edfaf4d96d4fc12030aca
stack.py https://github.com/python/cpython/pull/135384/files#diff-942c1702cb69a4b71b8af26c60c81c1550fccf8e8a7f521b83efe6a814ed1b62
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L325
Include/internal/pycore_stackref.hhttps://github.com/python/cpython/pull/135384/files#diff-11edce643992829edaa638fe36451f2f9bed6b44abede0cc2055bf2c507d5d01
View file https://github.com/faster-cpython/cpython/blob/370059a88cb6f0a4707e539cd690e1ba69f77cc4/Include/internal/pycore_stackref.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/135384/{{ revealButtonHref }}
https://github.com/python/cpython/pull/135384/files#diff-11edce643992829edaa638fe36451f2f9bed6b44abede0cc2055bf2c507d5d01
https://github.com/python/cpython/pull/135384/files#diff-11edce643992829edaa638fe36451f2f9bed6b44abede0cc2055bf2c507d5d01
Lib/test/test_generated_cases.pyhttps://github.com/python/cpython/pull/135384/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
View file https://github.com/faster-cpython/cpython/blob/370059a88cb6f0a4707e539cd690e1ba69f77cc4/Lib/test/test_generated_cases.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/135384/{{ revealButtonHref }}
https://github.com/python/cpython/pull/135384/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
https://github.com/python/cpython/pull/135384/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
https://github.com/python/cpython/pull/135384/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
https://github.com/python/cpython/pull/135384/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
Misc/NEWS.d/next/Tools-Demos/2025-06-11-12-14-06.gh-issue-135379.25ttXq.rsthttps://github.com/python/cpython/pull/135384/files#diff-0db3abdbb580059df361d9ed2e019737dae0aa96a594cc5989b0a713d71398a0
View file https://github.com/faster-cpython/cpython/blob/370059a88cb6f0a4707e539cd690e1ba69f77cc4/Misc/NEWS.d/next/Tools-Demos/2025-06-11-12-14-06.gh-issue-135379.25ttXq.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/135384/{{ revealButtonHref }}
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L218
Python/bytecodes.chttps://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
View file https://github.com/faster-cpython/cpython/blob/370059a88cb6f0a4707e539cd690e1ba69f77cc4/Python/bytecodes.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/135384/{{ revealButtonHref }}
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135384/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
Please reload this pagehttps://github.com/python/cpython/pull/135384/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.