Lines Matching refs:schedule

10 #include "src/compiler/schedule.h"
43 BasicBlock* AddBlockToSchedule(Schedule* schedule) {
44 BasicBlock* block = schedule->NewBasicBlock();
45 block->set_rpo_number(static_cast<int32_t>(schedule->rpo_order()->size()));
46 schedule->rpo_order()->push_back(block);
53 Schedule schedule(zone());
64 BasicBlock* start = schedule.start();
65 schedule.rpo_order()->push_back(start);
69 schedule.AddNode(start, graph()->start());
70 schedule.AddNode(start, heap_number);
71 schedule.AddNode(start, load);
72 schedule.AddReturn(start, ret);
75 EffectControlLinearizer introducer(jsgraph(), &schedule, zone());
86 Schedule schedule(zone());
109 BasicBlock* start = schedule.start();
110 schedule.rpo_order()->push_back(start);
113 BasicBlock* tblock = AddBlockToSchedule(&schedule);
114 BasicBlock* fblock = AddBlockToSchedule(&schedule);
115 BasicBlock* mblock = AddBlockToSchedule(&schedule);
118 schedule.AddNode(start, graph()->start());
119 schedule.AddBranch(start, branch, tblock, fblock);
121 schedule.AddNode(tblock, if_true);
122 schedule.AddNode(tblock, heap_number);
123 schedule.AddNode(tblock, vtrue);
124 schedule.AddGoto(tblock, mblock);
126 schedule.AddNode(fblock, if_false);
127 schedule.AddNode(fblock, vfalse);
128 schedule.AddGoto(fblock, mblock);
130 schedule.AddNode(mblock, merge);
131 schedule.AddNode(mblock, phi);
132 schedule.AddReturn(mblock, ret);
135 EffectControlLinearizer introducer(jsgraph(), &schedule, zone());
145 Schedule schedule(zone());
147 // Create the graph and schedule. Roughly (omitting effects and unimportant
212 BasicBlock* start = schedule.start();
213 schedule.rpo_order()->push_back(start);
216 BasicBlock* t1block = AddBlockToSchedule(&schedule);
217 BasicBlock* f1block = AddBlockToSchedule(&schedule);
218 BasicBlock* m1block = AddBlockToSchedule(&schedule);
220 BasicBlock* t2block = AddBlockToSchedule(&schedule);
221 BasicBlock* f2block = AddBlockToSchedule(&schedule);
222 BasicBlock* m2block = AddBlockToSchedule(&schedule);
225 schedule.AddNode(start, graph()->start());
226 schedule.AddNode(start, p0);
227 schedule.AddNode(start, p1);
228 schedule.AddNode(start, const0);
229 schedule.AddNode(start, call);
230 schedule.AddBranch(start, branch1, t1block, f1block);
232 schedule.AddNode(t1block, if_true1);
233 schedule.AddGoto(t1block, m1block);
235 schedule.AddNode(f1block, if_false1);
236 schedule.AddGoto(f1block, m1block);
238 schedule.AddNode(m1block, merge1);
241 schedule.AddNode(m1block, if_success);
242 schedule.AddBranch(m1block, branch2, t2block, f2block);
244 schedule.AddNode(t2block, if_true2);
245 schedule.AddGoto(t2block, m2block);
247 schedule.AddNode(f2block, if_false2);
248 schedule.AddGoto(f2block, m2block);
250 schedule.AddNode(m2block, merge2);
251 schedule.AddReturn(m2block, ret);
254 EffectControlLinearizer introducer(jsgraph(), &schedule, zone());
266 Schedule schedule(zone());
294 BasicBlock* start = schedule.start();
295 schedule.rpo_order()->push_back(start);
298 BasicBlock* lblock = AddBlockToSchedule(&schedule);
299 BasicBlock* fblock = AddBlockToSchedule(&schedule);
300 BasicBlock* rblock = AddBlockToSchedule(&schedule);
303 schedule.AddNode(start, graph()->start());
304 schedule.AddGoto(start, lblock);
306 schedule.AddNode(lblock, loop);
307 schedule.AddNode(lblock, effect_phi);
308 schedule.AddNode(lblock, heap_number);
309 schedule.AddNode(lblock, load);
310 schedule.AddNode(lblock, cond);
311 schedule.AddBranch(lblock, branch, rblock, fblock);
313 schedule.AddNode(fblock, if_false);
314 schedule.AddGoto(fblock, lblock);
316 schedule.AddNode(rblock, if_true);
317 schedule.AddReturn(rblock, ret);
320 EffectControlLinearizer introducer(jsgraph(), &schedule, zone());