This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
S_optimize_op(): remove anti-recursion deferring
authorDavid Mitchell <davem@iabyn.com>
Tue, 14 May 2019 15:47:06 +0000 (16:47 +0100)
committerDavid Mitchell <davem@iabyn.com>
Mon, 24 Jun 2019 10:40:06 +0000 (11:40 +0100)
commit6eebe43d5f2ac9b216b560316068531384f5a3dd
tree60c94df599d3bf7941a63160c92c464c4dc12307
parent73cdf3a836756ebe82b64077bf38de0bf44736dc
S_optimize_op(): remove anti-recursion deferring

S_optimize_op() used to recursively work its way down an optree
marking ops as being in the appropriate context.

This commit removes the deferred mechanism, and instead makes use of the
newish OP_PARENT mechanism to iterate over the optree, following each
kid, then back up via the parent pointer to the next sibling etc.
op.c