Title: compiler optimizations violate oparg invariants · Issue #99876 · python/cpython · GitHub
Open Graph Title: compiler optimizations violate oparg invariants · Issue #99876 · python/cpython
X Title: compiler optimizations violate oparg invariants · Issue #99876 · python/cpython
Description: During code-gen, the compiler makes sure that any opcode that does not HAVE_ARG get an oparg value of 0. Then, during optimizations some instructions become NOPs but their oparg is not set to 0, so when we come to emit code we need to ch...
Open Graph Description: During code-gen, the compiler makes sure that any opcode that does not HAVE_ARG get an oparg value of 0. Then, during optimizations some instructions become NOPs but their oparg is not set to 0, so...
X Description: During code-gen, the compiler makes sure that any opcode that does not HAVE_ARG get an oparg value of 0. Then, during optimizations some instructions become NOPs but their oparg is not set to 0, so...
Opengraph URL: https://github.com/python/cpython/issues/99876
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"compiler optimizations violate oparg invariants","articleBody":"\r\nDuring code-gen, the compiler makes sure that any opcode that does not HAVE_ARG get an oparg value of 0. \r\n\r\nThen, during optimizations some instructions become NOPs but their oparg is not set to 0, so when we come to emit code we need to check HAS_ARG again. It would be better to preserve the invariant in the optimizer instead. \r\n\r\n\n\n\u003c!-- gh-linked-prs --\u003e\n### Linked PRs\n* gh-99877\n\u003c!-- /gh-linked-prs --\u003e\n","author":{"url":"https://github.com/iritkatriel","@type":"Person","name":"iritkatriel"},"datePublished":"2022-11-29T16:03:49.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/99876/cpython/issues/99876"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:9bae4bc0-211e-a5bd-b288-1dfb2ec8f9b3 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | BA00:3346BC:D71447:1256465:6969ECEE |
| html-safe-nonce | fedb8f034fc836389d1953c12473bdf8c732a8503e90b597bb30fc0c399a4f8b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQTAwOjMzNDZCQzpENzE0NDc6MTI1NjQ2NTo2OTY5RUNFRSIsInZpc2l0b3JfaWQiOiIxNjYwMzc3NTA4OTUyMDk3MTAiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 087332fc66370543bc8750dd12b35c73b8a924df0b29f4fdc4ccefd3c742f8ce |
| hovercard-subject-tag | issue:1468311255 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/99876/issue_layout |
| twitter:image | https://opengraph.githubassets.com/11130ab16105f75b5c5498f05cb8dc8fbe1634f94638e0cd303bcec828991d6e/python/cpython/issues/99876 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/11130ab16105f75b5c5498f05cb8dc8fbe1634f94638e0cd303bcec828991d6e/python/cpython/issues/99876 |
| og:image:alt | During code-gen, the compiler makes sure that any opcode that does not HAVE_ARG get an oparg value of 0. Then, during optimizations some instructions become NOPs but their oparg is not set to 0, so... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | iritkatriel |
| hostname | github.com |
| expected-hostname | github.com |
| None | 7b32f1c7c4549428ee399213e8345494fc55b5637195d3fc5f493657579235e8 |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | bdde15ad1b403e23b08bbd89b53fbe6bdf688cad |
| ui-target | canary-2 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width