When is an opcode's ->seq empty?
diotalevi
created: 2004-06-14 16:34:43

In [cpan://B::Utils]::parent I read that Simon is not sure how to find the parent of nodes where ->seq is false. When does this happen?

sub B::OP::parent {
    my $target = shift;
    die "I'm not sure how to do this yet. I'm sure there is a way. If you know, please email me."
        if (!$target->seq);
    ...
Re: When is an opcode's ->seq empty?
created: 2004-06-14 16:53:24

Some source code reading revealed the answer. I thought that this was a deeper thing than it is. op_seq is zero before the peep-hole optimizer runs on some code and non-zero afterwards as a flag to prevent the optimizer from running again.

I now wonder how Simon got a handle to some code before the optimizer took hold of it. Hmm...

perlmonks.org content © perlmonks.org and diotalevi

prlmnks.org © 2006 edmund von der burg (eccles & toad)

v 0.03