'InOrderMDU', 'InOrderAGEN', 'InOrderFetchSeq', 'InOrderTLB', 'InOrderBPred',
               'InOrderDecode', 'InOrderExecute', 'InOrderInstBuffer', 'InOrderUseDef',
               'InOrderGraduation', 'InOrderCachePort', 'RegDepMap', 'Resource',
-              'ThreadModel'])
+              'ThreadModel', 'AddrDep'])
 
        Source('pipeline_traits.cc')        
        Source('inorder_dyn_inst.cc')
 
     while (!reqRemoveList.empty()) {
         ResourceRequest *res_req = reqRemoveList.front();
 
-        DPRINTF(InOrderCPU, "[tid:%i] [sn:%lli]: Removing Request "
+        DPRINTF(Resource, "[tid:%i] [sn:%lli]: Removing Request "
                 "[stage_num:%i] [res:%s] [slot:%i] [completed:%i].\n",
                 res_req->inst->threadNumber,
                 res_req->inst->seqNum,
 
 
     addrList[tid].push_back(req_addr);
     addrMap[tid][req_addr] = inst->seqNum;
-    DPRINTF(InOrderCachePort,
-            "[tid:%i]: [sn:%i]: Address %08p added to dependency list\n",
-            inst->readTid(), inst->seqNum, req_addr);
+
     DPRINTF(AddrDep,
             "[tid:%i]: [sn:%i]: Address %08p added to dependency list\n",
             inst->readTid(), inst->seqNum, req_addr);
+
+    //@NOTE: 10 is an arbitrarily "high" number here, but to be exact
+    //       we would need to know the # of outstanding accesses
+    //       a priori. Information like fetch width, stage width,
+    //       and the branch resolution stage would be useful for the
+    //       icache_port (among other things). For the dcache, the #
+    //       of outstanding cache accesses might be sufficient.
+    assert(addrList[tid].size() < 10);    
 }
 
 void
 
     Addr mem_addr = inst->getMemAddr();
     
+    inst->unsetMemAddr();
+
     // Erase from Address List
     vector<Addr>::iterator vect_it = find(addrList[tid].begin(), addrList[tid].end(),
                                           mem_addr);
                 tid, cache_req->inst->readPC());
         cache_req->setMemAccCompleted();
     }
-
-    inst->unsetMemAddr();
 }
 
 void
 
                 // Mark slot for removal from resource
                 slot_remove_list.push_back(req_ptr->getSlot());
-
-                DPRINTF(InOrderCachePort,
-                        "[tid:%i] Squashing request from [sn:%i]\n",
-                        req_ptr->getInst()->readTid(), req_ptr->getInst()->seqNum);
             } else {
                 DPRINTF(InOrderCachePort,
                         "[tid:%i] Request from [sn:%i] squashed, but still pending completion.\n",
                         req_ptr->getInst()->getMemAddr());
                 
                 removeAddrDependency(req_ptr->getInst());
-            }
-
+            }            
         }
 
         map_it++;