Closed Bug 531347 Opened 15 years ago Closed 15 years ago

nanojit: rejig asm_call()

Categories

(Core :: JavaScript Engine, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: n.nethercote, Assigned: n.nethercote)

References

Details

(Whiteboard: fixed-in-nanojit, fixed-in-tracemonkey)

Attachments

(1 file)

Attached patch patchSplinter Review
For calls, the division of labour between Assembler.cpp and the backends is
quite awkward.  Eg. asm_prep_fcall() is the same in all backends except for
ARM, in which it does nothing and a huge comment is required to explain why.

This patch moves all the call-handling labour into the back-ends, ie.
entirely within asm_call().  asm_prep_fcall() is no longer necessary.  Even
with five backends it's the same number of lines of code, and the ARM case
is less confusing (although it's still confusing, and it's possible the flow
could be cleaned up, along with the big comment).

This will also help with bug 513615 and bug 516347.
Attachment #414804 - Flags: review?(edwsmith)
Attachment #414804 - Flags: review?(edwsmith) → review+
http://hg.mozilla.org/tracemonkey/rev/438aebc2ec90
Whiteboard: fixed-in-nanojit → fixed-in-nanojit, fixed-in-tracemonkey
http://hg.mozilla.org/mozilla-central/rev/438aebc2ec90
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.

Attachment

General

Created:
Updated:
Size: