GH-91095: Specialize calls to normal python classes#93221
Conversation
There was a problem hiding this comment.
I get the rough idea of this, and to save some time for the other reviewers, here's how it goes:
Frames before a Python class instantiation
__main__ -> NULL
Frames when a Python class is instantiated:
__main__ -> shim -> __init__ -> NULL
(Shim is responsible for replacing None returned by __init__ with self. It contains a special instruction EXIT_INIT_CHECK to verify the None.)
I'm not confident that I can catch any subtle errors with this much code. Let's test this with buildbots.
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit e70711a 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
Fidget-Spinner
left a comment
There was a problem hiding this comment.
The code LGTM. But whether the perf improvement is worth the +300 lines of code I don't feel so sure. You'll have to decide that for yourself.
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit b75b1aa 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
|
There were too many conflicts after the many changes to the interpreter. |
Sorry, something went wrong.
Performance impact is small, but positive