InstructionSequence::InstructionSequence(Linkage* linkage, const Graph* graph,
const Schedule* schedule)
- : zone_(graph->zone()->isolate()),
+ : zone_(schedule->zone()),
node_count_(graph->NodeCount()),
node_map_(zone()->NewArray<int>(node_count_)),
instruction_blocks_(static_cast<int>(schedule->rpo_order()->size()), NULL,
}
Frame* frame() { return &frame_; }
- Isolate* isolate() { return zone()->isolate(); }
+ Isolate* isolate() const { return zone()->isolate(); }
Linkage* linkage() const { return linkage_; }
const PointerMapDeque* pointer_maps() const { return &pointer_maps_; }
- Zone* zone() { return &zone_; }
+ Zone* zone() const { return zone_; }
// Used by the instruction selector while adding instructions.
int AddInstruction(Instruction* instr);
typedef std::set<int, std::less<int>, ZoneIntAllocator> VirtualRegisterSet;
- Zone zone_;
+ Zone* zone_;
int node_count_;
int* node_map_;
InstructionBlocks instruction_blocks_;