-
Notifications
You must be signed in to change notification settings - Fork 147
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
Auto-flushing (PHP 5) #1189
Auto-flushing (PHP 5) #1189
Conversation
19965ae
to
a1197a0
Compare
a1197a0
to
cca51bf
Compare
ebf6fca
to
6bbb941
Compare
I think you possibly rebased this on master, instead of the newly rebased |
I haven't rebased this one yet. I will rebase once #1186 is merged (due to squashed commits). |
cca51bf
to
78595cf
Compare
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.
Just one question on the finer semantics of zai_call_static_method_without_args
.
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.
PR looks good to me. I just have one directional question:
I think we may want/need to abstract zvals at some point so when we are writing integrations we can program against the ZAI and it works on all PHP versions. We don't want to write each integration for each PHP version; we want to write it once, like we would in .php code.
Do you think it's important to handle this sooner or later?
Indeed. This is certainly on the wishlist.
I think that depends on the integration API design. I think there might be a way we can write the integration API such that it can still interact with native Zend Engine data structures in an abstract, version-agnostic way. If that's the case, we can hold off on creating the ZAI data structure shims for a bit longer. At any rate, we'll certainly have to cross that bridge when we design the ZAI integration API. Thanks for the code review and the thoughts @morrisonlevi! |
Description
This is a followup PR to #819 to add auto-flushing to PHP 5. It uses the new PHP 5 ZAI method-call seam added in #1186 to flush and reset the tracer automatically from a sandboxed environment when the auto-flushing feature is enabled.
Readiness checklist
Reviewer checklist