There are three main points to the updated patch:
1) Split functions more clearly. There are:
- C fallback functions, used when intrinsics are not available
- intrinsics, with possibly undefined behaviours
- inline helpers calling the intrinsics (or most optimized functions
available)
and disambiguating undefined behaviours (eg. clz/ctz with input 0)
2) In the code, restore usage of the CompilerIntrinsics functions where the
undefined behaviours are ok.
3) Fix compilation (hopefully) for Windows.
I imported the compiler-intrinsics files to Visual studio 2010 and managed
to
compile them with little tweaking.
Also applied a few fixes for the 64-bits Windows code.
Please check if the splitting of the functions and helpers in the
compiler-intrinsics.h suits you.
While looking at the Windows intrinsics, I noticed that we were only using
_BitScanForward and _BitScanReverse when other intrinsics look more
appropriate
(eg. _CountLeadingSigns, _CountLeadingZeros, _CountOneBits). Maybe this is
because of compiler version issues? If maybe a cleaning patch for Windows
should
be considered.
Alexandre
https://codereview.chromium.org/170383003/
--
--
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/groups/opt_out.