[webkit-reviews] review requested: [Bug 34170] [Qt] Javascript undefined > 0 returns true on Symbian : [Attachment 48007] proposed fix for jsvalue.cpp

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 3 03:05:31 PST 2010


Janne Koskinen <koshuin at gmail.com> has asked  for review:
Bug 34170: [Qt] Javascript undefined > 0 returns true on Symbian
https://bugs.webkit.org/show_bug.cgi?id=34170

Attachment 48007: proposed fix for jsvalue.cpp
https://bugs.webkit.org/attachment.cgi?id=48007&action=review

------- Additional Comments from Janne Koskinen <koshuin at gmail.com>
A new patch using epoc32/include/stdapis/math.h double nanval() - function to
get the quietNaN value.
nanval() returns correct non-signalling value 0xfff8 as exp and has double
type. There is NAN macro but that ends up calling nanvalf() which due to bug
would also return double type quietNaN (0xfff8 instead of 0xffc0), but I opted
not to use this if in future the bug will be fixed.

Fix tested on s60 5.0 emulator and 5800 express music.

Why the original std::numeric_limits<double>::quiet_NaN() fails is due to
wrongly having big endian set for ARM and WINSCW instead of little endian in
_limits.c.
so instead of getting _STLP_DOUBLE_QNAN_REP { 0, 0, 0, 0xfff8 } we get
_STLP_DOUBLE_QNAN_REP { 0xfff8, 0, 0, 0 }. This is the most visible bug in Open
C part. Open C guys said that there was another issue to this as well.
The last part is the RVCT optimisation issue which is still unresolved.

A task to revert this fix should be made once all fixes in the platform are in.


More information about the webkit-reviews mailing list