Hi
I have seen that the php-src uses some flags
like ZEND_EXTENSIONS_HAVE_OP_ARRAY_HANDLER to optimise the code so that the
loop that calls the op array handler is not called if no extension has set
up an op array handler
I wonder why this has not been done for
the statement_handler, fcall_begin_handler and fcall_end_handler. This
could be used to provide an optimised execution when no extension sets up a
handler for these extension points
Interested to know if there is a technical reason for this
Cheers
Carlos
Hi
I have seen that the php-src uses some flags
like ZEND_EXTENSIONS_HAVE_OP_ARRAY_HANDLER to optimise the code so that the
loop that calls the op array handler is not called if no extension has set
up an op array handlerI wonder why this has not been done for
the statement_handler, fcall_begin_handler and fcall_end_handler. This
could be used to provide an optimised execution when no extension sets up a
handler for these extension pointsInterested to know if there is a technical reason for this
Cheers
Carlos
OK, I reply to myself. I can see that these handlers are only called if the
corresponding opcodes are compiled and these are only compiled
if ZEND_COMPILE_EXTENDED_STMT or ZEND_COMPILE_EXTENDED_FCALL are set. So
an extension that does not set these handlers would not set these compiler
flags, then there is no need to do any more optimization :-)