Closed Bug 668940 Opened 13 years ago Closed 13 years ago

IonMonkey: Split critical edges

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dvander, Assigned: dvander)

References

Details

Attachments

(1 file)

This is needed for greedy regalloc and LSRA, so we might as well hoist it out into a very early MIR pass.
Attached patch patchSplinter Review
I took this opportunity to get rid of loopSuccessor_ per bug 667132 because keeping explicit edge information around makes mutating it harder.
Attachment #543560 - Flags: review?(adrake)
Comment on attachment 543560 [details] [diff] [review] patch Review of attachment 543560 [details] [diff] [review]: ----------------------------------------------------------------- Looks good otherwise! ::: js/src/ion/MIR.h @@ +516,5 @@ > JS_ASSERT(i < numSuccessors()); > return successors[i]; > } > + > + void replaceEdge(size_t i, MBasicBlock *split) { Nit: replaceSuccessor would probably be more accurate.
Attachment #543560 - Flags: review?(adrake) → review+
Blocks: 657816
Status: ASSIGNED → 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: