From db842fedbf46275ec4b3c262f9ca7ad21e74bcbc Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 7 Jan 2016 15:35:31 -0700
Subject: Always provide stall report
---
src/simulator.rs | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
(limited to 'src')
diff --git a/src/simulator.rs b/src/simulator.rs
index dd851e5..c1a300d 100644
--- a/src/simulator.rs
+++ b/src/simulator.rs
@@ -384,22 +384,25 @@ impl<'a, T: SyscallHandler> Simulator<'a, T> {
core.cache.borrow_mut().step();
ran = true;
}
- if !ran {
- println!("All cores are not running, stopping...");
- for (i, core) in self.cores.iter().enumerate() {
- println!("Core {}: stalled {} of {}", i, core.stall_count, core.cycle_count);
- }
- }
ran
}
+ fn report(&self) {
+ for (i, core) in self.cores.iter().enumerate() {
+ println!("Core {}: stalled {} of {}", i, core.stall_count, core.cycle_count);
+ }
+ }
+
pub fn run(&mut self) {
loop {
if !self.step() {
break
}
}
+
+ println!("All cores are not running, stopping...");
+ self.report();
}
pub fn run_max(&mut self, cycles: usize) {
@@ -408,5 +411,8 @@ impl<'a, T: SyscallHandler> Simulator<'a, T> {
break
}
}
+
+ println!("Out of cycles, stopping...");
+ self.report();
}
}
--
cgit v1.2.3