Closed
Bug 787301
Opened 12 years ago
Closed 12 years ago
IonMonkey: Inline constants when deciding OSR types
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: dvander, Assigned: dvander)
References
Details
(Whiteboard: [ion:p1])
Attachments
(1 file, 1 obsolete file)
2.12 KB,
patch
|
djvj
:
review+
|
Details | Diff | Splinter Review |
With recent TI changes to |this|'s type set, IonMonkey inserts more boxes/phis in non-member functions. This patch forces undefined/null OSR slots to use canonical constants, so that the phis get eliminated.
Assignee | ||
Comment 1•12 years ago
|
||
This patch is about a 3ms (1-2%) win on SunSpider. I think this covers our recent regression, but there are still things to fix there.
Attachment #657120 -
Flags: review?(kvijayan)
Assignee | ||
Comment 2•12 years ago
|
||
whoops wrong patch
Attachment #657120 -
Attachment is obsolete: true
Attachment #657120 -
Flags: review?(kvijayan)
Attachment #657121 -
Flags: review?(kvijayan)
Assignee | ||
Updated•12 years ago
|
Whiteboard: [ion:p1]
Comment 3•12 years ago
|
||
Comment on attachment 657121 [details] [diff] [review] fix Review of attachment 657121 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/src/ion/IonBuilder.cpp @@ +4185,5 @@ > > for (uint32 i = 1; i < osrBlock->stackDepth(); i++) { > MIRType type = slotTypes[i]; > // Unbox the MOsrValue if it is known to be unboxable. > + switch (type) { Might be useful to remove the unpacking of |type = slotTypes[i]| and switching directly on the array expression. Its more consistent with the |MUnbox::New(def, slotTypes[i], ...)| below, and the only reason the MIRType was unpacked explicitly before was because it was a conditional with a lot of cases where it would have become too verbose. Now that it's a switch and the expression only occurs twice, there's no need for the extra line unpacking it into a var.
Attachment #657121 -
Flags: review?(kvijayan) → review+
Assignee | ||
Comment 4•12 years ago
|
||
w/ nits picked: https://hg.mozilla.org/projects/ionmonkey/rev/fc20c82707ac
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•