summaryrefslogtreecommitdiff
path: root/pp_hot.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2001-03-26 19:29:04 +0200
committerJarkko Hietaniemi <jhi@iki.fi>2001-03-26 21:20:53 +0000
commit4c9fe80f85ef85e4b82a3cf7b265973092634589 (patch)
treed467480bfe00168876b7ce102c320f8072e986d8 /pp_hot.c
parent00d78f41b444805ec3be1a01c81dfae120786fe2 (diff)
downloadperl-4c9fe80f85ef85e4b82a3cf7b265973092634589.tar.gz
$ref1 == $ref2 without NV_PRESERVES_UV
Message-ID: <jeitkw5z27.fsf@hawking.suse.de> (The patch for 5.6.0 or so, this is a guess for bleadperl) p4raw-id: //depot/perl@9366
Diffstat (limited to 'pp_hot.c')
-rw-r--r--pp_hot.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/pp_hot.c b/pp_hot.c
index 7a6ad3224d..70c6866fa7 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -230,12 +230,18 @@ PP(pp_readline)
PP(pp_eq)
{
dSP; tryAMAGICbinSET(eq,0);
+#ifndef NV_PRESERVES_UV
+ if (SvROK(TOPs) && SvROK(TOPm1s)) {
+ SETs(boolSV(SvRV(TOPs) == SvRV(TOPm1s)));
+ RETURN;
+ }
+#endif
#ifdef PERL_PRESERVE_IVUV
SvIV_please(TOPs);
if (SvIOK(TOPs)) {
- /* Unless the left argument is integer in range we are going to have to
- use NV maths. Hence only attempt to coerce the right argument if
- we know the left is integer. */
+ /* Unless the left argument is integer in range we are going
+ to have to use NV maths. Hence only attempt to coerce the
+ right argument if we know the left is integer. */
SvIV_please(TOPm1s);
if (SvIOK(TOPm1s)) {
bool auvok = SvUOK(TOPm1s);