Closed
Bug 688022
Opened 13 years ago
Closed 13 years ago
IonMonkey: remove MIRGenerator
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
INCOMPLETE
People
(Reporter: cdleary, Assigned: cdleary)
References
Details
The MIRGenerator reference in MBasicBlock makes inlining tough.
IonBuilder (subclass of MIRGenerator) wants to be used as an abstraction for "compile this script and give me a graph of basic blocks". However, MBasicBlock refers to a MIRGenerator, so you can't easily use a separate IonBuilder to compile an inline graph.
(If you do, you have to iterate over all the MBasicBlocks in that inline graph and switch them to use the outer IonBuilder as their MIRGenerator. In addition, you have to copy the "next id" numbers from the outer graph to the inner graph and back out again.)
MIRGenerator is a bit of a strange abstraction, so we'll rip it out and replace it with its constituent components: CompileInfo (with static information about the script being compiled) and MGraph (which will be referred to by the MBasicBlocks and absorb the list of MBasicBlocks). The allocator functionality is implicitly available via TLS.
While we're at it, it would be nice to rename MIRGraph to MGraph.
Assignee | ||
Comment 1•13 years ago
|
||
(In reply to Chris Leary [:cdleary] from comment #0)
> While we're at it, it would be nice to rename MIRGraph to MGraph.
Nix that (for symmetry with LIRGraph).
Updated•13 years ago
|
Updated•13 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•