summaryrefslogtreecommitdiff
path: root/embed.fnc
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2011-10-17 12:46:51 +0100
committerDavid Mitchell <davem@iabyn.com>2011-10-17 12:55:10 +0100
commitb6f05621f8846ec3e3b279fc32f6bbe9bce20cfb (patch)
treeb9a3960ffdd1fe87b96b863b9d0fcea20ed5d9bc /embed.fnc
parent567f3b56280708b687bbc7050db07137b81b9fd9 (diff)
downloadperl-b6f05621f8846ec3e3b279fc32f6bbe9bce20cfb.tar.gz
simplify op_dump() / -Dx sequencing
Currently, whenever we dump an op tree, we first call sequence(), which walks the tree, creating address => sequence# mappings in PL_op_sequence. Then when individual ops or op-next fields are displayed, the sequence is looked up. Instead, do away with the initial walk, and just map addresses on request. This simplifies the code. As a deliberate side-effect, it no longer assigns a seq# of zero to null ops. This makes it easer to work out what's going on when you call op_dump() during a debugging session with partially constructed op-trees. It also removes the ambiguity in "====> 0" as to whether op_next is NULL or just points to an op_null.
Diffstat (limited to 'embed.fnc')
-rw-r--r--embed.fnc2
1 files changed, 0 insertions, 2 deletions
diff --git a/embed.fnc b/embed.fnc
index b7d4609807..43ad88b418 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -1949,8 +1949,6 @@ Es |void |debug_start_match|NN const REGEXP *prog|const bool do_utf8\
#if defined(PERL_IN_DUMP_C)
s |CV* |deb_curcv |const I32 ix
s |void |debprof |NN const OP *o
-s |void |sequence |NULLOK const OP *o
-s |void |sequence_tail |NULLOK const OP *o
s |UV |sequence_num |NULLOK const OP *o
s |SV* |pm_description |NN const PMOP *pm
#endif