Closed Bug 775186 Opened 12 years ago Closed 12 years ago

IonMonkey: Change polymorphic inlining to use single instruction instead of chained guards

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: djvj, Assigned: djvj)

References

Details

Attachments

(3 files)

Poly inlining as currently implemented uses a chain of guard blocks - each guard block terminated with an InlineFunctionGuard instruction leading to either the inlined function entry, or to the next guard (or the final inlined function in the case of the final guard).

This approach is hard to reconcile with future changes we want to make to polymorphic inlining, including fusing of poly ICs with poly inlining (Bug 770309) and fallback paths for poly inlining (Bug 772049).

Change poly inlining implementation to use a single IR instruction to perform all guards and dispatch to the different inlined function entry blocks.
Assignee: general → kvijayan
Blocks: 770309, 772049
These patches were already posted and r+-ed in Bug 770309.  Just re-posting with edits here.
Is this done (FIXED)?
It's checked in to the Ion branch.  I was just waiting on tbpl before closing.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.