Closed Bug 936993 Opened 11 years ago Closed 11 years ago

reduce register pressure around MCheckOverRecursed

Categories

(Core :: JavaScript Engine: JIT, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla28

People

(Reporter: sunfish, Assigned: sunfish)

Details

(Whiteboard: [qa-])

Attachments

(1 file)

The IonBuilder currently creates an MCheckOverRecursed instruction after doing some unboxing of arguments. The MCheckOverRecursed has an OSI point which uses the boxed values, so this means that the lifetimes of the boxed and unboxed values overlap, which creates unnecessary register pressure.

Attached is a patch which moves the MCheckOverRecursed to before the unboxing begins. This reduces spilling in some cases under the backtracking allocator, especially after the change to avoid spilling to argument slots (bug 931487).
Attachment #830015 - Flags: review?(bhackett1024)
Attachment #830015 - Flags: review?(bhackett1024) → review+
https://hg.mozilla.org/mozilla-central/rev/3d726198d704
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
Whiteboard: [qa-]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: