dyn_inst_impl.hh (9382:1c97b57d5169) | dyn_inst_impl.hh (9527:68154bc0e0ea) |
---|---|
1/* 2 * Copyright (c) 2010-2011 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 52 unchanged lines hidden (view full) --- 61 : BaseDynInst<Impl>(_staticInst, _macroop) 62{ 63 initVars(); 64} 65 66template <class Impl>BaseO3DynInst<Impl>::~BaseO3DynInst() 67{ 68#if TRACING_ON | 1/* 2 * Copyright (c) 2010-2011 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 52 unchanged lines hidden (view full) --- 61 : BaseDynInst<Impl>(_staticInst, _macroop) 62{ 63 initVars(); 64} 65 66template <class Impl>BaseO3DynInst<Impl>::~BaseO3DynInst() 67{ 68#if TRACING_ON |
69 Tick val, fetch = this->fetchTick; 70 // Print info needed by the pipeline activity viewer. 71 DPRINTFR(O3PipeView, "O3PipeView:fetch:%llu:0x%08llx:%d:%llu:%s\n", 72 fetch, 73 this->instAddr(), 74 this->microPC(), 75 this->seqNum, 76 this->staticInst->disassemble(this->instAddr())); 77 val = (this->decodeTick == -1) ? 0 : fetch + this->decodeTick; 78 DPRINTFR(O3PipeView, "O3PipeView:decode:%llu\n", val); 79 val = (this->renameTick == -1) ? 0 : fetch + this->renameTick; 80 DPRINTFR(O3PipeView, "O3PipeView:rename:%llu\n", val); 81 val = (this->dispatchTick == -1) ? 0 : fetch + this->dispatchTick; 82 DPRINTFR(O3PipeView, "O3PipeView:dispatch:%llu\n", val); 83 val = (this->issueTick == -1) ? 0 : fetch + this->issueTick; 84 DPRINTFR(O3PipeView, "O3PipeView:issue:%llu\n", val); 85 val = (this->completeTick == -1) ? 0 : fetch + this->completeTick; 86 DPRINTFR(O3PipeView, "O3PipeView:complete:%llu\n", val); 87 val = (this->commitTick == -1) ? 0 : fetch + this->commitTick; 88 DPRINTFR(O3PipeView, "O3PipeView:retire:%llu\n", val); | 69 if (DTRACE(O3PipeView)) { 70 Tick fetch = this->fetchTick; 71 // fetchTick can be -1 if the instruction fetched outside the trace window. 72 if (fetch != -1) { 73 Tick val; 74 // Print info needed by the pipeline activity viewer. 75 DPRINTFR(O3PipeView, "O3PipeView:fetch:%llu:0x%08llx:%d:%llu:%s\n", 76 fetch, 77 this->instAddr(), 78 this->microPC(), 79 this->seqNum, 80 this->staticInst->disassemble(this->instAddr())); 81 82 val = (this->decodeTick == -1) ? 0 : fetch + this->decodeTick; 83 DPRINTFR(O3PipeView, "O3PipeView:decode:%llu\n", val); 84 val = (this->renameTick == -1) ? 0 : fetch + this->renameTick; 85 DPRINTFR(O3PipeView, "O3PipeView:rename:%llu\n", val); 86 val = (this->dispatchTick == -1) ? 0 : fetch + this->dispatchTick; 87 DPRINTFR(O3PipeView, "O3PipeView:dispatch:%llu\n", val); 88 val = (this->issueTick == -1) ? 0 : fetch + this->issueTick; 89 DPRINTFR(O3PipeView, "O3PipeView:issue:%llu\n", val); 90 val = (this->completeTick == -1) ? 0 : fetch + this->completeTick; 91 DPRINTFR(O3PipeView, "O3PipeView:complete:%llu\n", val); 92 val = (this->commitTick == -1) ? 0 : fetch + this->commitTick; 93 94 Tick valS = (this->storeTick == -1) ? 0 : fetch + this->storeTick; 95 DPRINTFR(O3PipeView, "O3PipeView:retire:%llu:store:%llu\n", val, valS); 96 } 97 } |
89#endif 90}; 91 92 93template <class Impl> 94void 95BaseO3DynInst<Impl>::initVars() 96{ --- 17 unchanged lines hidden (view full) --- 114 // hasn't happened (yet). 115 fetchTick = -1; 116 decodeTick = -1; 117 renameTick = -1; 118 dispatchTick = -1; 119 issueTick = -1; 120 completeTick = -1; 121 commitTick = -1; | 98#endif 99}; 100 101 102template <class Impl> 103void 104BaseO3DynInst<Impl>::initVars() 105{ --- 17 unchanged lines hidden (view full) --- 123 // hasn't happened (yet). 124 fetchTick = -1; 125 decodeTick = -1; 126 renameTick = -1; 127 dispatchTick = -1; 128 issueTick = -1; 129 completeTick = -1; 130 commitTick = -1; |
131 storeTick = -1; |
|
122#endif 123} 124 125template <class Impl> 126Fault 127BaseO3DynInst<Impl>::execute() 128{ 129 // @todo: Pretty convoluted way to avoid squashing from happening --- 118 unchanged lines hidden --- | 132#endif 133} 134 135template <class Impl> 136Fault 137BaseO3DynInst<Impl>::execute() 138{ 139 // @todo: Pretty convoluted way to avoid squashing from happening --- 118 unchanged lines hidden --- |