Title: Allow the `f_func` field of the `_PyInterpreterFrame` struct to be any object (and rename it) · Issue #96237 · python/cpython · GitHub
Open Graph Title: Allow the `f_func` field of the `_PyInterpreterFrame` struct to be any object (and rename it) · Issue #96237 · python/cpython
X Title: Allow the `f_func` field of the `_PyInterpreterFrame` struct to be any object (and rename it) · Issue #96237 · python/cpython
Description: In order to better support shim frames, trampolines, Cython frames and other such bits and pieces, we need to relax the requirement that the f_func field is a function. The only reason for it to be a function is that it needs to hold a s...
Open Graph Description: In order to better support shim frames, trampolines, Cython frames and other such bits and pieces, we need to relax the requirement that the f_func field is a function. The only reason for it to be...
X Description: In order to better support shim frames, trampolines, Cython frames and other such bits and pieces, we need to relax the requirement that the f_func field is a function. The only reason for it to be...
Opengraph URL: https://github.com/python/cpython/issues/96237
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Allow the `f_func` field of the `_PyInterpreterFrame` struct to be any object (and rename it)","articleBody":"In order to better support shim frames, trampolines, Cython frames and other such bits and pieces, we need to relax the requirement that the `f_func` field is a function.\r\nThe only reason for it to be a function is that it needs to hold a strong reference to builtins and globals, as the frame only has a borrowed reference to those. Any object with those references will do.\r\nIn fact, for code that has no builtins or globals (many shims and trampolines) there is no need for those references and `f_func` could even be `None`.","author":{"url":"https://github.com/markshannon","@type":"Person","name":"markshannon"},"datePublished":"2022-08-24T12:53:24.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":5},"url":"https://github.com/96237/cpython/issues/96237"}
| 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:d7c6a2a2-c340-c88a-706b-78bdc15fd89e |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 8882:15A631:429D79:5A7153:6969D5F8 |
| html-safe-nonce | 8a95a42e35fb8539a227f78602824070422d388e2a50ac1d2fa527db7b2fb4ee |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4ODgyOjE1QTYzMTo0MjlENzk6NUE3MTUzOjY5NjlENUY4IiwidmlzaXRvcl9pZCI6IjExODQxMjQzODc5NDYyNTU4NjQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 72ade464e6cecab85c03a0e7c58fc3c444430dc02b074be8fe4e77b27fadbd15 |
| hovercard-subject-tag | issue:1349401320 |
| 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/96237/issue_layout |
| twitter:image | https://opengraph.githubassets.com/aebe6d2c82986a32f6e06f92bc9004b2a2c02e59fe2426e9082fc911f19af95c/python/cpython/issues/96237 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/aebe6d2c82986a32f6e06f92bc9004b2a2c02e59fe2426e9082fc911f19af95c/python/cpython/issues/96237 |
| og:image:alt | In order to better support shim frames, trampolines, Cython frames and other such bits and pieces, we need to relax the requirement that the f_func field is a function. The only reason for it to be... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | markshannon |
| hostname | github.com |
| expected-hostname | github.com |
| None | acedec8b5f975d9e3d494ddd8f949b0b8a0de59d393901e26f73df9dcba80056 |
| 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 | 83c08c21cdda978090dc44364b71aa5bc6dcea79 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width