Closed Bug 578922 Opened 11 years ago Closed 11 years ago

remove wasteful store/load in box_value_for_native_call on x64

Categories

(Core :: JavaScript Engine, defect)

x86_64
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: luke, Assigned: luke)

References

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file)

TraceRecorder::box_value_for_native_call currently contains the following snippet:

        // TODO: this is very sad; remove when there is a LIR_d2q
        LIns *tmp = lir->insAlloc(sizeof(Value));
        lir->insStore(v_ins, tmp, 0, ACC_OTHER);
        return lir->insLoad(LIR_ldq, tmp, 0, ACC_OTHER);

When bug 574969 is finished, this hack can be removed, which will improve the performance of boxing doubles on x64.
I think you got the wrong bug in your Depends on - I bet it's not really bug 549153.
Oops, you're right!
Depends on: fatvals
Attached patch use LIR_dasqSplinter Review
SS is 2ms (.3%) faster (1ms from each of 3d-cute and crypto-aes).
V8 is 36ms (.7%) faster (from earley-boyer and splay).
Assignee: general → lw
Status: NEW → ASSIGNED
Attachment #459020 - Flags: review?(nnethercote)
Attachment #459020 - Flags: review?(nnethercote) → review+
http://hg.mozilla.org/tracemonkey/rev/370feb22c8a1
Whiteboard: fixed-in-tracemonkey
http://hg.mozilla.org/mozilla-central/rev/370feb22c8a1
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.