diff options
author | Nicholas Clark <nick@ccl4.org> | 2010-09-14 10:09:29 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2010-09-14 10:09:29 +0100 |
commit | 824afba194f106ca99a3f04463fda8c3247fbc70 (patch) | |
tree | 0d7ca8b639ab9ebcd1ac63a04e90f1cca1cf3d8b /op.c | |
parent | 68223daad147c02137e007cfe64831ab60c3a363 (diff) | |
download | perl-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.c | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -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); |