-
Notifications
You must be signed in to change notification settings - Fork 4
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
Minor Changes #52
Minor Changes #52
Conversation
Don't merge yet, PUSH_NULL semantics can be improved |
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.
Looks good in general, thanks.
Python/optimizer_analysis.c
Outdated
@@ -1020,6 +990,14 @@ uop_abstract_interpret_single_inst( | |||
break; | |||
} | |||
|
|||
case PUSH_NULL: { | |||
STACK_GROW(1); | |||
_Py_UOpsSymbolicExpression *null_sym = _Py_UOpsSymbolicExpression_New(ctx, PUSH_NULL, 0, NULL, 0); |
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.
This won't be a singleton, because each time the originating_store will be different.
You should create a helper method to create singletons (ideally all their originating stores will be 0 or something).
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.
Okie I've implemented the Singletons. Note this requires PUSH_NULL
to be labelled as "immutable"
_SET_IP
PUSH_NULL
to abstract interpPYNULL_TYPE
,PYMETHOD_TYPE
)