-
-
Notifications
You must be signed in to change notification settings - Fork 31.7k
gh-98831: rewrite MAKE_FUNCTION and BUILD_SLICE in the instruction definition DSL #101529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
iritkatriel
commented
Feb 3, 2023
•
edited by bedevere-bot
Loading
edited by bedevere-bot
- Issue: Generate the interpreter #98831
🤖 New build scheduled with the buildbot fleet by @iritkatriel for commit 90ff55e 🤖 If you want to schedule another build, you need to add the |
kwdefaults if (oparg & 0x02), | ||
annotations if (oparg & 0x04), | ||
closure if (oparg & 0x08), | ||
codeobj -- func)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Too bad we can't write func: PyFunctionObject *
yet -- I've gotta add that to the grammar, it would add the casts and save the ugly extra func_obj
variable.
Py_DECREF(start); | ||
Py_DECREF(stop); | ||
Py_XDECREF(step); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, we should augment DECREF_INPUTS()
to use XDECREF
for conditional inputs.
PyObject *annotations = (oparg & 0x04) ? PEEK(1 + ((oparg & 0x08) ? 1 : 0) + ((oparg & 0x04) ? 1 : 0)) : NULL; | ||
PyObject *kwdefaults = (oparg & 0x02) ? PEEK(1 + ((oparg & 0x08) ? 1 : 0) + ((oparg & 0x04) ? 1 : 0) + ((oparg & 0x02) ? 1 : 0)) : NULL; | ||
PyObject *defaults = (oparg & 0x01) ? PEEK(1 + ((oparg & 0x08) ? 1 : 0) + ((oparg & 0x04) ? 1 : 0) + ((oparg & 0x02) ? 1 : 0) + ((oparg & 0x01) ? 1 : 0)) : NULL; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's hope the compiler optimizes this. (Though it's not perf critical.)
77af074
to
98c053b
Compare