From 33772f750e2f3a0c6714a4ae590828e8513d1170 Mon Sep 17 00:00:00 2001 From: hsc Date: Thu, 14 Jun 2012 15:54:03 +0000 Subject: [PATCH] wmoo: don't do more experiments than necessary git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1353 8c4709b5-6ec9-48aa-a5cd-a96041d1645a --- src/experiments/weather-monitor/campaign.cc | 2 +- src/experiments/weather-monitor/experiment.cc | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/experiments/weather-monitor/campaign.cc b/src/experiments/weather-monitor/campaign.cc index 1ad82456..614723c3 100644 --- a/src/experiments/weather-monitor/campaign.cc +++ b/src/experiments/weather-monitor/campaign.cc @@ -88,7 +88,7 @@ bool WeatherMonitorCampaign::run() // for every section in the trace between subsequent memory // accesses to that address ... - while(ps.getNext(&ev)) { + while (ps.getNext(&ev) && instr < WEATHER_NUMINSTR_TRACING) { // instruction events just get counted if (!ev.has_memaddr()) { // new instruction diff --git a/src/experiments/weather-monitor/experiment.cc b/src/experiments/weather-monitor/experiment.cc index 5d2c2b74..e0046586 100644 --- a/src/experiments/weather-monitor/experiment.cc +++ b/src/experiments/weather-monitor/experiment.cc @@ -88,6 +88,8 @@ bool WeatherMonitorExperiment::run() bp.setWatchInstructionPointer(WEATHER_FUNC_WAIT_END); bp.setCounter(WEATHER_NUMITER_TRACING); #else + // FIXME this doesn't work properly: trace is one instruction too short as + // tp is removed before all events were delivered // trace WEATHER_NUMINSTR_TRACING instructions // -> campaign-ready traces with identical lengths bp.setWatchInstructionPointer(ANY_ADDR);