[Webkit-unassigned] [Bug 112141] LLInt CLoop backend misses Double2Ints() on 32bit architectures

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Mar 12 08:23:39 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=112141


Filip Pizlo <fpizlo at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #192723|review?, commit-queue?      |review+, commit-queue+
               Flag|                            |




--- Comment #2 from Filip Pizlo <fpizlo at apple.com>  2013-03-12 08:26:05 PST ---
(From update of attachment 192723)
View in context: https://bugs.webkit.org/attachment.cgi?id=192723&action=review

R=me, but it looks like both Ints2Double and Double2Ints are not endianness-friendly.

> Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:130
> +static void Double2Ints(double val, uint32_t& lo, uint32_t& hi)
> +{
> +    union {
> +        double dval;
> +        uint64_t ival64;
> +    } u;
> +    u.dval = val;
> +    hi = static_cast<uint32_t>(u.ival64 >> 32);
> +    lo = static_cast<uint32_t>(u.ival64);
> +}

Is this right?  Does Double2Ints mandate 'hi' and 'lo' being the low-order bits and the high-order bits, or are they supposed to be the first bits and the last bits?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list