Closed
Bug 577764
Opened 14 years ago
Closed 14 years ago
TM: avoid a dead guard at the end of loop fragments
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: n.nethercote, Assigned: n.nethercote)
References
Details
(Whiteboard: fixed-in-tracemonkey)
Attachments
(1 file)
1.43 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
Loop fragments always look something like this: ebx = parami 0 ebx esi = parami 1 esi edi = parami 2 edi state = parami 0 ecx label1: ... lti1 = lti addxovi1, immi1/*......*/ xf1: xf lti1 -> pc=...... imacpc=0x0 sp+16 rp+0 (GuardID=003) j -> label1 livei state x1: x -> pc=...... imacpc=0x0 sp+0 rp+0 (GuardID=004) That guard at the end is dead. This patch removes it. This doesn't save much perf-wise -- just the processing and storing of a single guard at compile-time. But it saves me the mental effort of having to ignore it :)
Attachment #456628 -
Flags: review?(dvander)
Assignee | ||
Comment 1•14 years ago
|
||
It'll also make things a tiny bit easier for LICM (bug 545406).
Updated•14 years ago
|
Attachment #456628 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 2•14 years ago
|
||
http://hg.mozilla.org/tracemonkey/rev/cf557e3fc53d
Whiteboard: fixed-in-tracemonkey
Comment 3•14 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/cf557e3fc53d
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Comment 4•14 years ago
|
||
This looks like it caused bug 582766.
You need to log in
before you can comment on or make changes to this bug.
Description
•