Closed Bug 588020 Opened 11 years ago Closed 11 years ago

JM: Port MICs to ARM.

Categories

(Core :: JavaScript Engine, defect)

ARM
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jbramley, Assigned: jbramley)

Details

Attachments

(1 file)

No description provided.
This implements GetGlobalName and SetGlobalName on ARM. (Do I need to do the other three? X64 doesn't implement them.)

All trace-tests pass on ARM, x86 and x64.

The patch has to add a few special-cases as the existing code assumes x86-like behaviour, with in-line 32-bit offsets and the like. On ARM, the offset is simply loaded as a patchable 32-bit literal, and the rest of the code is static.

In particular, it does horrible things to SetGlobalName. This could be improved a little by modifying 'address' (as in the dataConst case), but that seemed to introduce additional ugliness elsewhere.

The addition of load64WithAddressOffsetPatch (and the store equivalent) facilitates future work with LDRD and STRD, as described in bug 588033.
Attachment #466646 - Flags: review?(dvander)
Comment on attachment 466646 [details] [diff] [review]
Port MICs to ARM.

Thanks! It's kind of hard to abstract this area, we can worry about it more once all 3 platforms are at parity.
Attachment #466646 - Flags: review?(dvander) → review+
http://hg.mozilla.org/projects/jaegermonkey/rev/c74a3e0705bf
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.