Closed Bug 675381 Opened 13 years ago Closed 13 years ago

IonMonkey: Don't split intervals at phis in the linear scan register allocator

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: adrake, Assigned: adrake)

References

Details

Attachments

(2 files)

Inserting a move in the middle of a big blob of parallel moves doesn't make a whole lot of sense.
Assignee: general → adrake
Blocks: 670624
Attached patch Patch v0Splinter Review
Attachment #549520 - Flags: review?(mrosenberg)
Attachment #549520 - Flags: review?(mrosenberg) → review+
http://hg.mozilla.org/projects/ionmonkey/rev/9f05230b547c

Leaving this open as I think there might be a similar issue with inactive intervals.
Attached patch Patch 2 v0Splinter Review
The issue I thought was happening in the case of inactive intervals isn't actually happening, dead phi removal was causing bogus liveness holes to pop up in the middle of phis and violate all kinds of interesting invariants. This instead produces a bogus interval for the phi output, since we can't eliminate the phi reasonably.

When we do DCE proper, this case can be removed entirely and we can assert on it.
Attachment #552054 - Flags: review?(dvander)
Attachment #552054 - Flags: review?(dvander) → review+
http://hg.mozilla.org/projects/ionmonkey/rev/28a71ebcf6c5
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: