Out of curiosity, what's the ultimate purpose for this? I wasn't aware that
any of V8's supported targets could do anything special with signalling NaNs.

With signaling NaN as hole, we can skip almost all the canonicalizations that
were required previously, leading to an overall 5% improvement on Kraken.


https://codereview.chromium.org/863633002/diff/80001/src/arm64/lithium-codegen-arm64.cc#newcode3609
src/arm64/lithium-codegen-arm64.cc:3609: __ Cmp(scratch,
Operand(kHoleNanInt64, RelocInfo::NONE64));
I doubt that this will have a significant effect on performance, but it will
add a couple of instructions. (Probably movz + movk + cmp rather than just cmn.) I'll run a quick benchmark to see if it has an impact; from memory, I think this
function is quite important for Kraken.

This is required for correctness now, because the kHoleNanInt64 changed. If you
can come up with a better sequence here, that'd be great.

https://codereview.chromium.org/863633002/

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to