summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLisa Hsu <hsul@eecs.umich.edu>2004-03-05 06:14:33 -0500
committerLisa Hsu <hsul@eecs.umich.edu>2004-03-05 06:14:33 -0500
commit12662c0b6d765ccfd9ac17ff810560cea62b2e7a (patch)
tree91d97106276dea55b4e42c3944f62b2a8ff3748f
parent8434ae9b03f889965fa6c075b99345e3e197c675 (diff)
downloadgem5-12662c0b6d765ccfd9ac17ff810560cea62b2e7a.tar.xz
nother fix
cpu/exec_context.cc: nother little bug...forgot to pop off stack as i read off it sim/system.cc: forgot to pop off stack as i read off it --HG-- extra : convert_revision : d1f691c0a9f0fa22281c717ee465d8a5f1e45c13
-rw-r--r--cpu/exec_context.cc2
-rw-r--r--sim/system.cc5
2 files changed, 6 insertions, 1 deletions
diff --git a/cpu/exec_context.cc b/cpu/exec_context.cc
index 20ab64bc4..06bd741f2 100644
--- a/cpu/exec_context.cc
+++ b/cpu/exec_context.cc
@@ -118,6 +118,8 @@ ExecContext::serialize(ostream &os)
for (int j=0; j<size; ++j) {
top = stack->top();
paramOut(os, csprintf("stackpos[%d]",j), top->name);
+ delete top;
+ stack->pop();
}
} else {
SERIALIZE_SCALAR(ctx);
diff --git a/sim/system.cc b/sim/system.cc
index 40c841ed5..951739462 100644
--- a/sim/system.cc
+++ b/sim/system.cc
@@ -148,7 +148,10 @@ System::serialize(std::ostream &os)
paramOut(os, csprintf("stacksize[%d]",i), size);
for (int j=0; j<size; ++j) {
top = stack->top();
- paramOut(os, csprintf("ctx[%d].stackpos[%d]",i,j), top->name);
+ paramOut(os, csprintf("ctx[%d].stackpos[%d]",i,j),
+ top->name);
+ delete top;
+ stack->pop();
}
}
}