diff --git a/retrace/retrace_main.cpp b/retrace/retrace_main.cpp index 2c3ba9d..243bc46 100644 --- a/retrace/retrace_main.cpp +++ b/retrace/retrace_main.cpp @@ -583,6 +583,7 @@ RelayRace::stopRunners(void) { } } +std::vectorsavedCalls; static void mainLoop() { @@ -593,11 +594,36 @@ mainLoop() { startTime = os::getTime(); - if (singleThread) { + if (1) //if (singleThread) + { trace::Call *call; while ((call = parser->parse_call())) { retraceCall(call); - delete call; + if (call->no >= 9359929 && call->no <= 9363932) + { + savedCalls.push_back(call); + if (call->no == 9363932) + { + std::cout << "Replaying " << savedCalls.size() << " calls from last frame 5000 times\n"; + // Replay savedCalls 5000 times + long long startTime, endTime; + float timeInterval; + for (int iter=0; iter<100; iter++) + for (int i=0; i