Closed Bug 577764 Opened 15 years ago Closed 15 years ago

TM: avoid a dead guard at the end of loop fragments

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

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

References

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file)

Attached patch patchSplinter 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)
It'll also make things a tiny bit easier for LICM (bug 545406).
Attachment #456628 - Flags: review?(dvander) → review+
Whiteboard: fixed-in-tracemonkey
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Depends on: 582766
This looks like it caused bug 582766.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: