summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-09-14 10:09:29 +0100
committerNicholas Clark <nick@ccl4.org>2010-09-14 10:09:29 +0100
commit824afba194f106ca99a3f04463fda8c3247fbc70 (patch)
tree0d7ca8b639ab9ebcd1ac63a04e90f1cca1cf3d8b /op.c
parent68223daad147c02137e007cfe64831ab60c3a363 (diff)
downloadperl-824afba194f106ca99a3f04463fda8c3247fbc70.tar.gz
In Perl_ck_subr(), no need to create/set o3 in the !proto block.
A good optimising compiler can already spot this, but removing dead code makes it easier for the humans.
Diffstat (limited to 'op.c')
-rw-r--r--op.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/op.c b/op.c
index b27c2ea013..8aa1cae581 100644
--- a/op.c
+++ b/op.c
@@ -8450,18 +8450,15 @@ Perl_ck_subr(pTHX_ OP *o)
if (!proto) {
while (o2 != cvop) {
- OP* o3;
if (PL_madskills && o2->op_type == OP_STUB) {
o2 = o2->op_sibling;
continue;
}
- if (PL_madskills && o2->op_type == OP_NULL)
- o3 = ((UNOP*)o2)->op_first;
- else
- o3 = o2;
+
/* Yes, this while loop is duplicated. But it's a lot clearer
to see what is going on without that massive switch(*proto)
block just here. */
+
list(o2); /* This is only called if !proto */
mod(o2, OP_ENTERSUB);