pR |OP* |ck_grep |NN OP *o
pR |OP* |ck_index |NN OP *o
pR |OP* |ck_join |NN OP *o
-pR |OP* |ck_lengthconst |NN OP *o
pR |OP* |ck_lfun |NN OP *o
pR |OP* |ck_listiob |NN OP *o
pR |OP* |ck_match |NN OP *o
#define ck_grep Perl_ck_grep
#define ck_index Perl_ck_index
#define ck_join Perl_ck_join
-#define ck_lengthconst Perl_ck_lengthconst
#define ck_lfun Perl_ck_lfun
#define ck_listiob Perl_ck_listiob
#define ck_match Perl_ck_match
#define ck_grep(a) Perl_ck_grep(aTHX_ a)
#define ck_index(a) Perl_ck_index(aTHX_ a)
#define ck_join(a) Perl_ck_join(aTHX_ a)
-#define ck_lengthconst(a) Perl_ck_lengthconst(aTHX_ a)
#define ck_lfun(a) Perl_ck_lfun(aTHX_ a)
#define ck_listiob(a) Perl_ck_listiob(aTHX_ a)
#define ck_match(a) Perl_ck_match(aTHX_ a)
}
OP *
-Perl_ck_lengthconst(pTHX_ OP *o)
-{
- PERL_ARGS_ASSERT_CK_LENGTHCONST;
-
- /* XXX length optimization goes here */
- return ck_fun(o);
-}
-
-OP *
Perl_ck_lfun(pTHX_ OP *o)
{
const OPCODE type = o->op_type;
MEMBER_TO_FPTR(Perl_ck_fun), /* hex */
MEMBER_TO_FPTR(Perl_ck_fun), /* oct */
MEMBER_TO_FPTR(Perl_ck_fun), /* abs */
- MEMBER_TO_FPTR(Perl_ck_lengthconst), /* length */
+ MEMBER_TO_FPTR(Perl_ck_fun), /* length */
MEMBER_TO_FPTR(Perl_ck_substr), /* substr */
MEMBER_TO_FPTR(Perl_ck_fun), /* vec */
MEMBER_TO_FPTR(Perl_ck_index), /* index */
# String stuff.
-length length ck_lengthconst ifsTu% S?
+length length ck_fun ifsTu% S?
substr substr ck_substr st@ S S S? S?
vec vec ck_fun ist@ S S S
=back
-=head2
-
-C<Perl_ck_lengthconst> does nothing, but has the comment
-
- /* XXX length optimization goes here */
-
-It predates 5.003. Investigate what it's about, and then implement it.
-
=head2 Modernize the order of directories in @INC
The way @INC is laid out by default, one cannot upgrade core (dual-life)
Perl_ck_grep
Perl_ck_index
Perl_ck_join
-Perl_ck_lengthconst
Perl_ck_lfun
Perl_ck_listiob
Perl_ck_match
PERL_CKDEF(Perl_ck_grep)
PERL_CKDEF(Perl_ck_index)
PERL_CKDEF(Perl_ck_join)
-PERL_CKDEF(Perl_ck_lengthconst)
PERL_CKDEF(Perl_ck_lfun)
PERL_CKDEF(Perl_ck_listiob)
PERL_CKDEF(Perl_ck_match)
#define PERL_ARGS_ASSERT_CK_JOIN \
assert(o)
-PERL_CALLCONV OP* Perl_ck_lengthconst(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_LENGTHCONST \
- assert(o)
-
PERL_CALLCONV OP* Perl_ck_lfun(pTHX_ OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);