summaryrefslogtreecommitdiff
path: root/regen/opcodes
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2014-12-29 06:13:48 -0800
committerFather Chrysostomos <sprout@cpan.org>2014-12-29 22:03:29 -0800
commitd1455c67c18c86ad9bd01ee14c61c0eb3fe6a483 (patch)
treec0c4db4f52a7cb35df684b901ad8409a7ee712dd /regen/opcodes
parent215c5139cb98a8536a622f8aaace5a0b808475a7 (diff)
downloadperl-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/opcodes4
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