Closed Bug 383607 Opened 17 years ago Closed 17 years ago

Add ARM pure endian double support to JS engine

Categories

(Core :: JavaScript Engine, enhancement)

Other
Other
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: gavin.reaney, Assigned: gavin.reaney)

References

Details

Attachments

(1 file)

Spidermonkey builds that target ARM processors assume that doubles are mixed endian (meaning that the low and high words don't match the natural CPU endian-ness).

This is true when targetting an FPA floating point unit (or soft FPA) on little endian ARMs. VFP (and soft VFP) use pure endian doubles so the macros in jsnum.h are incorrect for this case.

Affected architecture: ARM VFP and ARM soft VFP
Affects mobile devices OSes.

The attached diff should solve the issue. Note that the macro detects VFP rather than FPA so we don't risk breaking old compilers that may not set FPA - these behave as before (the wince ARM compiler comes to mind).
Comment on attachment 267586 [details] [diff] [review]
Add pure endian double support for ARM

Brian, can you take a look?

I've tested this by running relevant ECMA tests on an arm linux PDA (soft FPA).

Also verified a VFP build on a symbian device.

Checked that building for wince 4 and 5 falls into the same branches of ifdefs as before.
Attachment #267586 - Flags: review?(crowder)
Comment on attachment 267586 [details] [diff] [review]
Add pure endian double support for ARM

Thanks, Gavin, looks good to me.
Attachment #267586 - Flags: review?(crowder) → review+
Whiteboard: [checkin needed]
tested against wince5 arm and no problems found.
Blocks: 370649
jsnum.h: 3.29
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Whiteboard: [checkin needed]
Flags: in-testsuite-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: