diff options
author | Father Chrysostomos <sprout@cpan.org> | 2012-08-25 18:48:46 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2012-08-25 23:02:06 -0700 |
commit | c8fe3bdf72b0df1c0b68f180001f0a3dde206992 (patch) | |
tree | e7b45c4208072ce5f7f584998768df0f720d4623 /pp_proto.h | |
parent | 721670045d5263bd28b147533785fbbf36671316 (diff) | |
download | perl-c8fe3bdf72b0df1c0b68f180001f0a3dde206992.tar.gz |
Banish boolkeys
Since 6ea72b3a1, rv2hv and padhv have had the ability to return boo-
leans in scalar context, instead of bucket stats, if flagged the right
way. sub { %hash || ... } is optimised to take advantage of this. If
the || is in unknown context at compile time, the %hash is flagged as
being maybe a true boolean. When flagged that way, it returns a bool-
ean if block_gimme() returns G_VOID.
If rv2hv and padhv can already do this, then we don’t need the
boolkeys op any more. We can just flag the rv2hv to return a boolean.
In all the cases where boolkeys was used, we know at compile time that
it is true boolean context, so we add a new flag for that.
Diffstat (limited to 'pp_proto.h')
-rw-r--r-- | pp_proto.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/pp_proto.h b/pp_proto.h index 52011dadd3..833738d5dd 100644 --- a/pp_proto.h +++ b/pp_proto.h @@ -27,7 +27,6 @@ PERL_CALLCONV OP *Perl_pp_binmode(pTHX); PERL_CALLCONV OP *Perl_pp_bit_and(pTHX); PERL_CALLCONV OP *Perl_pp_bit_or(pTHX); PERL_CALLCONV OP *Perl_pp_bless(pTHX); -PERL_CALLCONV OP *Perl_pp_boolkeys(pTHX); PERL_CALLCONV OP *Perl_pp_break(pTHX); PERL_CALLCONV OP *Perl_pp_caller(pTHX); PERL_CALLCONV OP *Perl_pp_chdir(pTHX); |