The reason is that the event is supposed to put the instructions ready to execute...
authorKe Meng <mengke97@hotmail.com>
Mon, 14 Jan 2008 16:47:32 +0000 (11:47 -0500)
committerKe Meng <mengke97@hotmail.com>
Mon, 14 Jan 2008 16:47:32 +0000 (11:47 -0500)
Signed-off by: Ali Saidi <saidi@eecs.umich.edu>

--HG--
extra : convert_revision : dafc16814383e8e8f8320845edf6ab2bcfed1e1d

src/cpu/o3/inst_queue_impl.hh

index aea62f12d3fe7b924e328cae167ce978999245cf..b14a63a17f940069229581e02a96c78b3bcbab44 100644 (file)
@@ -667,7 +667,7 @@ InstructionQueue<Impl>::processFUCompletion(DynInstPtr &inst, int fu_idx)
     // @todo: Ensure that these FU Completions happen at the beginning
     // of a cycle, otherwise they could add too many instructions to
     // the queue.
-    issueToExecuteQueue->access(0)->size++;
+    issueToExecuteQueue->access(-1)->size++;
     instsToExecute.push_back(inst);
 }
 
@@ -752,7 +752,7 @@ InstructionQueue<Impl>::scheduleReadyInsts()
                 FUCompletion *execution = new FUCompletion(issuing_inst,
                                                            idx, this);
 
-                execution->schedule(curTick + cpu->ticks(issue_latency - 1));
+                execution->schedule(curTick + cpu->ticks(op_latency - 1));
 
                 // @todo: Enforce that issue_latency == 1 or op_latency
                 if (issue_latency > 1) {