diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-12-29 06:13:48 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-12-29 22:03:29 -0800 |
commit | d1455c67c18c86ad9bd01ee14c61c0eb3fe6a483 (patch) | |
tree | c0c4db4f52a7cb35df684b901ad8409a7ee712dd /regen/opcodes | |
parent | 215c5139cb98a8536a622f8aaace5a0b808475a7 (diff) | |
download | perl-d1455c67c18c86ad9bd01ee14c61c0eb3fe6a483.tar.gz |
Enable OPpTARGET_MY optimisation for cmp/<=>
We can only do it for <=> under ‘use integer’.
The non-integer <=> will push undef on to the stack. Enabling
the optimisation for it would cause \($lexical = $x <=> "nan") to
leave $lexical with its previous value and return a reference to
&PL_sv_undef.
Diffstat (limited to 'regen/opcodes')
-rw-r--r-- | regen/opcodes | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/regen/opcodes b/regen/opcodes index 4d5770ee97..11df1448bf 100644 --- a/regen/opcodes +++ b/regen/opcodes @@ -152,7 +152,7 @@ i_eq integer eq (==) ck_null ifs2 S S< ne numeric ne (!=) ck_null Iifs2 S S< i_ne integer ne (!=) ck_null ifs2 S S< ncmp numeric comparison (<=>) ck_null Iifst2 S S< -i_ncmp integer comparison (<=>) ck_null ifst2 S S< +i_ncmp integer comparison (<=>) ck_null ifsT2 S S< slt string lt ck_null ifs2 S S sgt string gt ck_null ifs2 S S @@ -160,7 +160,7 @@ sle string le ck_null ifs2 S S sge string ge ck_null ifs2 S S seq string eq ck_null ifs2 S S sne string ne ck_null ifs2 S S -scmp string comparison (cmp) ck_null ifst2 S S +scmp string comparison (cmp) ck_null ifsT2 S S bit_and bitwise and (&) ck_bitop fst2 S S bit_xor bitwise xor (^) ck_bitop fst2 S S |