René's URL Explorer Experiment


Title: Split stack_effect into pushed & popped by ShaharNaveh · Pull Request #6893 · RustPython/RustPython · GitHub

Open Graph Title: Split stack_effect into pushed & popped by ShaharNaveh · Pull Request #6893 · RustPython/RustPython

X Title: Split stack_effect into pushed & popped by ShaharNaveh · Pull Request #6893 · RustPython/RustPython

Description: Auto generated both num_popped and num_pushed, and then compared the result with the current stack_effect impl. This will make it easier to auto-generate this in the future, and gets us 1 step closer to #6746 as imo it's better to construct the instruction once instead of validate that the oparg is valid at every operation. Also, it's easier to see if we differences in our opcode impls from CPython (if the stack_effect does not match) Summary by CodeRabbit Refactor Consolidated stack-effect handling into a structured push/pop abstraction and exposed it across instruction representations so callers can query pushed/popped counts or a combined effect. Chores Added bidirectional conversion for opcode argument values to simplify argument handling and adjusted internal call sites accordingly. Impact Improves consistency and reliability when analyzing and optimizing bytecode. ✏️ Tip: You can customize this high-level summary in your review settings.

Open Graph Description: Auto generated both num_popped and num_pushed, and then compared the result with the current stack_effect impl. This will make it easier to auto-generate this in the future, and gets us 1 step clos...

X Description: Auto generated both num_popped and num_pushed, and then compared the result with the current stack_effect impl. This will make it easier to auto-generate this in the future, and gets us 1 step clos...

Opengraph URL: https://github.com/RustPython/RustPython/pull/6893

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:0cd9f237-8bb6-f7ee-d655-68cf2e8f7c84
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idB53E:3F3A17:2C315C:3D3458:6A602A39
html-safe-nonceb91aeacb4bf40313aab5681bc741bd85a7457138e602cd960603a7fb0294b80e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNTNFOjNGM0ExNzoyQzMxNUM6M0QzNDU4OjZBNjAyQTM5IiwidmlzaXRvcl9pZCI6IjcwODI1Mjc1NDY3OTA2NTI0NzMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac422eb5d9e0844aaf99fbe22e3bbd3e785519ba916e4a00c120184492e027bb1c
hovercard-subject-tagpull_request:3222966827
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/RustPython/RustPython/pull/6893/files
twitter:imagehttps://avatars.githubusercontent.com/u/50263213?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/50263213?s=400&v=4
og:image:altAuto generated both num_popped and num_pushed, and then compared the result with the current stack_effect impl. This will make it easier to auto-generate this in the future, and gets us 1 step clos...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None60da8c2a42fa2bbf5f7567474990ec467836a84444262a58e200fa91b7f3d2d0
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/RustPython/RustPython git https://github.com/RustPython/RustPython.git
octolytics-dimension-user_id39710557
octolytics-dimension-user_loginRustPython
octolytics-dimension-repository_id135201145
octolytics-dimension-repository_nwoRustPython/RustPython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id135201145
octolytics-dimension-repository_network_root_nwoRustPython/RustPython
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
release9824515e740d83d5eb82168a089b806ab0fe04a1
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/RustPython/RustPython/pull/6893/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FRustPython%2FRustPython%2Fpull%2F6893%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
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
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%2FRustPython%2FRustPython%2Fpull%2F6893%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=RustPython%2FRustPython
Reloadhttps://github.com/RustPython/RustPython/pull/6893/files
Reloadhttps://github.com/RustPython/RustPython/pull/6893/files
Reloadhttps://github.com/RustPython/RustPython/pull/6893/files
Please reload this pagehttps://github.com/RustPython/RustPython/pull/6893/files
RustPython https://github.com/RustPython
RustPythonhttps://github.com/RustPython/RustPython
Notifications https://github.com/login?return_to=%2FRustPython%2FRustPython
Fork 1.5k https://github.com/login?return_to=%2FRustPython%2FRustPython
Star 22.2k https://github.com/login?return_to=%2FRustPython%2FRustPython
Code https://github.com/RustPython/RustPython
Issues 294 https://github.com/RustPython/RustPython/issues
Pull requests 105 https://github.com/RustPython/RustPython/pulls
Discussions https://github.com/RustPython/RustPython/discussions
Actions https://github.com/RustPython/RustPython/actions
Projects https://github.com/RustPython/RustPython/projects
Models https://github.com/RustPython/RustPython/models
Wiki https://github.com/RustPython/RustPython/wiki
Security and quality 0 https://github.com/RustPython/RustPython/security
Insights https://github.com/RustPython/RustPython/pulse
Code https://github.com/RustPython/RustPython
Issues https://github.com/RustPython/RustPython/issues
Pull requests https://github.com/RustPython/RustPython/pulls
Discussions https://github.com/RustPython/RustPython/discussions
Actions https://github.com/RustPython/RustPython/actions
Projects https://github.com/RustPython/RustPython/projects
Models https://github.com/RustPython/RustPython/models
Wiki https://github.com/RustPython/RustPython/wiki
Security and quality https://github.com/RustPython/RustPython/security
Insights https://github.com/RustPython/RustPython/pulse
Sign up for GitHub https://github.com/signup?return_to=%2FRustPython%2FRustPython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2FRustPython%2FRustPython%2Fissues%2Fnew%2Fchoose
youknowonehttps://github.com/youknowone
RustPython:mainhttps://github.com/RustPython/RustPython/tree/main
ShaharNaveh:opcodes-stack-effecthttps://github.com/ShaharNaveh/RustPython/tree/opcodes-stack-effect
Conversation 14 https://github.com/RustPython/RustPython/pull/6893
Commits 13 https://github.com/RustPython/RustPython/pull/6893/commits
Checks 12 https://github.com/RustPython/RustPython/pull/6893/checks
Files changed https://github.com/RustPython/RustPython/pull/6893/files
Please reload this pagehttps://github.com/RustPython/RustPython/pull/6893/files
Split stack_effect into pushed & popped https://github.com/RustPython/RustPython/pull/6893/files#top
Show all changes 13 commits https://github.com/RustPython/RustPython/pull/6893/files
52b65a8 Split stack_effect into pushed & popped ShaharNaveh Jan 27, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/52b65a88a092d245890f8a3c4cecc130834a0692
654609b Fix typo ShaharNaveh Jan 29, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/654609b521ce7abef9d3b80cb47744e4587f19e5
e407978 Merge remote-tracking branch 'upstream/main' into opcodes-stack-effect ShaharNaveh Jan 30, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/e4079780633d291f61e1eaf4e0d641fa662001b8
1ea2bd9 Fix merge ShaharNaveh Jan 30, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/1ea2bd9099cba2e701085a680d4ce6c82f705366
97662d0 Make `StructEffect` a struct ShaharNaveh Jan 30, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/97662d06746924fd9a962adc3dea8698fa420092
5951499 Fix more code ShaharNaveh Jan 30, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/5951499e6ee3616753f3ce6e95837b285d05116d
b355782 Merge remote-tracking branch 'upstream/main' into opcodes-stack-effect ShaharNaveh Jan 30, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/b355782d11ad7661cde4777f4a6711433e09a26a
bf92d5c Fix typo ShaharNaveh Jan 30, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/bf92d5c9d6403f545f34bc501f31b46397f14e65
1f92b11 Merge remote-tracking branch 'upstream/main' into opcodes-stack-effect ShaharNaveh Jan 30, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/1f92b1141a1ef93607c831137dd8b1fc337eb94c
9f4d512 Simpify `stack_effect_info` ShaharNaveh Jan 30, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/9f4d5128010be38d91251b06a277dee5045ca653
b5587ac Fix code ShaharNaveh Jan 30, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/b5587acf627f1a7222009e52f735364a789a4bb7
b4e8dea Simplfy casting as checks ShaharNaveh Jan 30, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/b4e8dea74c3e4ad7ec412a34bd745503dbb292b4
2137406 Merge remote-tracking branch 'upstream/main' into opcodes-stack-effect ShaharNaveh Jan 30, 2026 https://github.com/RustPython/RustPython/pull/6893/commits/2137406cf23868576f4887a20ad13b32fb6e6e33
Clear filters https://github.com/RustPython/RustPython/pull/6893/files
Please reload this pagehttps://github.com/RustPython/RustPython/pull/6893/files
Please reload this pagehttps://github.com/RustPython/RustPython/pull/6893/files
ir.rs https://github.com/RustPython/RustPython/pull/6893/files#diff-d8c69d86dba0a1bbfb21c9d93371294ea2861a4083565b20e622a7bec7da1ecc
bytecode.rs https://github.com/RustPython/RustPython/pull/6893/files#diff-14e38729fc9f6fc42fa6a3125689aa0034480a2cf3ebd59f1c4d1f40fdcd36a0
instruction.rs https://github.com/RustPython/RustPython/pull/6893/files#diff-6018c8f0dd833da5182e2e0bcbf8b6ef6c4e5e7922bf9297daf9e84824fcaa91
oparg.rs https://github.com/RustPython/RustPython/pull/6893/files#diff-4046b0673a11dc9e3309fe8759e2ce2981cd9881b6ce60d6b52280e5e1777d09
_opcode.rs https://github.com/RustPython/RustPython/pull/6893/files#diff-49b4012950d82df2891bf5e9ebe150f9e068a8b70f7287b3dbed84df43da5fbb
crates/codegen/src/ir.rshttps://github.com/RustPython/RustPython/pull/6893/files#diff-d8c69d86dba0a1bbfb21c9d93371294ea2861a4083565b20e622a7bec7da1ecc
View file https://github.com/ShaharNaveh/RustPython/blob/2137406cf23868576f4887a20ad13b32fb6e6e33/crates/codegen/src/ir.rs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/RustPython/RustPython/pull/6893/{{ revealButtonHref }}
https://github.com/RustPython/RustPython/pull/6893/files#diff-d8c69d86dba0a1bbfb21c9d93371294ea2861a4083565b20e622a7bec7da1ecc
https://github.com/RustPython/RustPython/pull/6893/files#diff-d8c69d86dba0a1bbfb21c9d93371294ea2861a4083565b20e622a7bec7da1ecc
https://github.com/RustPython/RustPython/pull/6893/files#diff-d8c69d86dba0a1bbfb21c9d93371294ea2861a4083565b20e622a7bec7da1ecc
https://github.com/RustPython/RustPython/pull/6893/files#diff-d8c69d86dba0a1bbfb21c9d93371294ea2861a4083565b20e622a7bec7da1ecc
https://github.com/RustPython/RustPython/pull/6893/files#diff-d8c69d86dba0a1bbfb21c9d93371294ea2861a4083565b20e622a7bec7da1ecc
https://github.com/RustPython/RustPython/pull/6893/files#diff-d8c69d86dba0a1bbfb21c9d93371294ea2861a4083565b20e622a7bec7da1ecc
crates/compiler-core/src/bytecode.rshttps://github.com/RustPython/RustPython/pull/6893/files#diff-14e38729fc9f6fc42fa6a3125689aa0034480a2cf3ebd59f1c4d1f40fdcd36a0
View file https://github.com/ShaharNaveh/RustPython/blob/2137406cf23868576f4887a20ad13b32fb6e6e33/crates/compiler-core/src/bytecode.rs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/RustPython/RustPython/pull/6893/{{ revealButtonHref }}
https://github.com/RustPython/RustPython/pull/6893/files#diff-14e38729fc9f6fc42fa6a3125689aa0034480a2cf3ebd59f1c4d1f40fdcd36a0
https://github.com/RustPython/RustPython/pull/6893/files#diff-14e38729fc9f6fc42fa6a3125689aa0034480a2cf3ebd59f1c4d1f40fdcd36a0
Please reload this pagehttps://github.com/RustPython/RustPython/pull/6893/files
Please reload this pagehttps://github.com/RustPython/RustPython/pull/6893/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.