From: Andreas Schwab Date: Mon, 26 Mar 2001 17:29:04 +0000 (+0200) Subject: $ref1 == $ref2 without NV_PRESERVES_UV X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=4c9fe80f85ef85e4b82a3cf7b265973092634589;p=p5sagit%2Fp5-mst-13.2.git $ref1 == $ref2 without NV_PRESERVES_UV Message-ID: (The patch for 5.6.0 or so, this is a guess for bleadperl) p4raw-id: //depot/perl@9366 --- diff --git a/pp_hot.c b/pp_hot.c index 7a6ad32..70c6866 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);