Closed
Bug 529846
Opened 15 years ago
Closed 15 years ago
check-3d-raytrace.js failed on Solaris x86
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: ginnchen+exoracle, Assigned: ginnchen+exoracle)
Details
Attachments
(1 file)
2.19 KB,
patch
|
jimb
:
review+
|
Details | Diff | Splinter Review |
Expected ....[0,0.29329773299429385,0] ....
Got ....[0,0.2932977329942938,0] ....
It is fine on SPARC.
It is a rounding problem with sqrt().
On Solaris x86, when it does fsqrt, the control word is 0x137f. Means double extended precision (64bits) and rounding to nearest.
On Linux x86, the control word was 0x037f at startup, but it changed to 0x027f at some point. Means double precision (53bits) and rounding to nearest.
Add -fprecision=double to CXXFLAGS will solve the problem, but I don't understand what's the trick for gcc/Linux.
Match the behavior of FIX_FPU() as on other x86 platforms.
Do the same thing for js_DoubleToECMAInt32, StringMatch.
Updated•15 years ago
|
Attachment #424756 -
Flags: review?(brendan) → review?(jim)
Comment 4•15 years ago
|
||
Hi, Ginn. Taking a look at this and the other two, now.
Updated•15 years ago
|
Attachment #424756 -
Flags: review?(jim) → review+
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•