1 /* Copyright (c) 2015 Regents of the University of California
3 * Author: Brian Demsky <bdemsky@uci.edu>
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * version 2 as published by the Free Software Foundation.
10 #ifndef SCHEDULEBUILDER_H
11 #define SCHEDULEBUILDER_H
12 #include "classlist.h"
13 #include "stl-model.h"
15 class ScheduleBuilder {
17 ScheduleBuilder(MCExecution *_execution, ConstGen *cgen);
19 void buildSchedule(bool *satsolution);
23 EPRecord * getNextRecord(EPRecord *record);
24 EPRecord * processRecord(EPRecord *record, bool * satsolution);
26 MCExecution *execution;
27 MCScheduler *scheduler;
28 SnapVector<EPRecord *> threads;
30 SnapVector<SnapList<EPRecord *> *> stores;
31 SnapVector<EPRecord *> storelastoperation;
33 SnapVector<EPRecord *> lastoperation;