Re: [PHP-DEV] Doing something with an each opcode as zend_execute() handles it

[email protected] (Sterling Hughes) Wed, 5 Mar 2003 17:45:51 -0500
Newsgroups php.dev
Message-ID <[email protected]>
> On Wednesday, March 05, 2003 5:35 PM, Sterling Hughes wrote:
> 
> >> Just before zend_execute()/execute() handles each opcode in its big
> >> switch() statement, I'd like to be able to call a function and pass
> >> it the opcode (or other information from the opline.
> >>
> >> Is the best approach to reset zend_execute to a new function in the
> >> PHP_MINIT_FUNCTION() (and restore the saved value in
> >> PHP_MSHUTDOWN_FUNCTION)? This new function would mostly be a copy of
> >> execute() in zend_execute.c with my addtional function call tossed
> >> in.
> >>
> >> What's the difference between zend_execute() and
> >> zend_execute_internal()?
> >>
> >
> > Well, I have a feeling what you are talking about is sub-optimal,
> > what do you want to do?
> 
> Essentially, I want to be able to produce a sort of serialized
> representation of the opcodes, but as they are executed, not all in one big
> chunk after they are compiled.
> 
> This isn't for any actually useful production code, just some
> debugging/messing around/exploring engine internals.
>
I would suggest you take a look at Ze2's execution architecture, it
should allow you to do this.

-Sterling

> David

-- 
"Reductionists like to take things apart.  The rest of us are
 just trying to get it together."
    - Larry Wall, Programming Perl, 3rd Edition