develooper Front page | perl.perl5.porters | Postings from August 2011

Re: [perl #95986] [PATCH] Superficial separation of INSTRUCTION fromOP.

Thread Previous | Thread Next
Dave Mitchell
August 1, 2011 08:32
Re: [perl #95986] [PATCH] Superficial separation of INSTRUCTION fromOP.
Message ID:
On Sun, Jul 31, 2011 at 03:58:17AM -0700, Gerard Goossen wrote:
> Preparation for having INSTRUCTION which is different from OP.
> This patch only introduces the INSTRUCTION type which is a synonym for
> OP, changes function and variable definitions to use the type and
> renames variables from *op to *instr.

This patch changes function signatures which are part of the public API,
so needs to be treated with caution.

To put it in it's wider context, can you provide a link to a thread or
website which describes your overall plan in more detail?

In particular, I would be keen to see something that explains, in a level
of detail similar to the following, how your proposed system would operate
at compile- and run-time.


    at compile time:
	perly,y calls various newFOO() functions when tokens are reduced;
	    these functions build a tree of OP structures; and may call
	    the ck_foo() functions.
	At various times during the building of this tree, top-down calls
	    are made to impose context, lvalueness etc, and to gradually
	    build a chain of linked op_next's which define the execution
	Finally the peephole optimiser runs through the ops in op_next
	The op tree is usually then embedded in a CV.

    at run time:
	starting with the start op from the CV, the function in the
	op_ppaddr field of the OP is called. This function is responsible
	for returning the next op, whose op_ppaddr is called, and so on
	until a null OP is returned.

Under your system....?

Lady Nancy Astor: If you were my husband, I would flavour your coffee
with poison.
Churchill: Madam - if I were your husband, I would drink it.

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About