Skip to content
Snippets Groups Projects
Commit 819cd757 authored by Horst Schirmeier's avatar Horst Schirmeier
Browse files

wmoo: experiments continue after trace window

We don't know what data will be accessed later (trace is too short), so
do real experiments to be sure.  This could be done in a smarter way by
using a long enough trace.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1153 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
parent c63155f0
No related branches found
No related tags found
No related merge requests found
......@@ -161,14 +161,32 @@ bool WeathermonitorCampaign::run()
// result comparable to the non-pruned campaign.
// XXX still true for weathermonitor?
current_ec.instr2 = instr - 1;
current_ec.instr2_absolute = 0; // won't be used
current_ec.instr2_absolute = 0; // unknown
current_ec.data_address = data_address;
// zero-sized? skip.
if (current_ec.instr1 > current_ec.instr2) {
continue;
}
// as the experiment ends, this byte is a "don't care":
ecs_no_effect.push_back(current_ec);
// the run continues after the FI window, so do this experiment
// XXX this creates at least one experiment for *every* bit!
// fix: full trace, limited FI window
//ecs_no_effect.push_back(current_ec);
ecs_need_experiment.push_back(current_ec);
// FIXME copy/paste, encapsulate this:
// instantly enqueue job: that way the job clients can already
// start working in parallel
WeathermonitorExperimentData *d = new WeathermonitorExperimentData;
// we pick the rightmost instruction in that interval
d->msg.set_instr_offset(current_ec.instr2);
//d->msg.set_instr_address(current_ec.instr2_absolute); // unknown!
d->msg.set_mem_addr(current_ec.data_address);
// store index into ecs_need_experiment
experiment_ecs[d] = ecs_need_experiment.size() - 1;
fi::campaignmanager.addParam(d);
++count;
}
fi::campaignmanager.noMoreParameters();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment