1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 41 unchanged lines hidden (view full) --- 50 */ 51template<class Impl> 52class DefaultRename 53{ 54 public: 55 // Typedefs from the Impl. 56 typedef typename Impl::CPUPol CPUPol; 57 typedef typename Impl::DynInstPtr DynInstPtr; |
58 typedef typename Impl::O3CPU O3CPU; |
59 typedef typename Impl::Params Params; 60 61 // Typedefs from the CPUPol 62 typedef typename CPUPol::DecodeStruct DecodeStruct; 63 typedef typename CPUPol::RenameStruct RenameStruct; 64 typedef typename CPUPol::TimeStruct TimeStruct; 65 typedef typename CPUPol::FreeList FreeList; 66 typedef typename CPUPol::RenameMap RenameMap; --- 43 unchanged lines hidden (view full) --- 110 111 /** Returns the name of rename. */ 112 std::string name() const; 113 114 /** Registers statistics. */ 115 void regStats(); 116 117 /** Sets CPU pointer. */ |
118 void setCPU(O3CPU *cpu_ptr); |
119 120 /** Sets the main backwards communication time buffer pointer. */ 121 void setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr); 122 123 /** Sets pointer to time buffer used to communicate to the next stage. */ 124 void setRenameQueue(TimeBuffer<RenameStruct> *rq_ptr); 125 126 /** Sets pointer to time buffer coming from decode. */ --- 159 unchanged lines hidden (view full) --- 286 }; 287 288 /** A per-thread list of all destination register renames, used to either 289 * undo rename mappings or free old physical registers. 290 */ 291 std::list<RenameHistory> historyBuffer[Impl::MaxThreads]; 292 293 /** Pointer to CPU. */ |
294 O3CPU *cpu; |
295 296 /** Pointer to main time buffer used for backwards communication. */ 297 TimeBuffer<TimeStruct> *timeBuffer; 298 299 /** Wire to get IEW's output from backwards time buffer. */ 300 typename TimeBuffer<TimeStruct>::wire fromIEW; 301 302 /** Wire to get commit's output from backwards time buffer. */ --- 170 unchanged lines hidden --- |