exetrace.cc (5784:8a28646c4bc2) | exetrace.cc (5791:3d417492668d) |
---|---|
1/* 2 * Copyright (c) 2001-2005 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; --- 114 unchanged lines hidden (view full) --- 123 * The behavior this check tries to achieve is that if ExecMacro is on, 124 * the macroop will be printed. If it's on and microops are also on, it's 125 * printed before the microops start printing to give context. If the 126 * microops aren't printed, then it's printed only when the final microop 127 * finishes. Macroops then behave like regular instructions and don't 128 * complete/print when they fault. 129 */ 130 if (IsOn(ExecMacro) && staticInst->isMicroop() && | 1/* 2 * Copyright (c) 2001-2005 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; --- 114 unchanged lines hidden (view full) --- 123 * The behavior this check tries to achieve is that if ExecMacro is on, 124 * the macroop will be printed. If it's on and microops are also on, it's 125 * printed before the microops start printing to give context. If the 126 * microops aren't printed, then it's printed only when the final microop 127 * finishes. Macroops then behave like regular instructions and don't 128 * complete/print when they fault. 129 */ 130 if (IsOn(ExecMacro) && staticInst->isMicroop() && |
131 (IsOn(ExecMicro) && | 131 ((IsOn(ExecMicro) && |
132 macroStaticInst && staticInst->isFirstMicroop()) || 133 (!IsOn(ExecMicro) && | 132 macroStaticInst && staticInst->isFirstMicroop()) || 133 (!IsOn(ExecMicro) && |
134 macroStaticInst && staticInst->isLastMicroop())) { | 134 macroStaticInst && staticInst->isLastMicroop()))) { |
135 traceInst(macroStaticInst, false); 136 } 137 if (IsOn(ExecMicro) || !staticInst->isMicroop()) { 138 traceInst(staticInst, true); 139 } 140} 141 142/* namespace Trace */ } 143 144//////////////////////////////////////////////////////////////////////// 145// 146// ExeTracer Simulation Object 147// 148Trace::ExeTracer * 149ExeTracerParams::create() 150{ 151 return new Trace::ExeTracer(this); 152}; | 135 traceInst(macroStaticInst, false); 136 } 137 if (IsOn(ExecMicro) || !staticInst->isMicroop()) { 138 traceInst(staticInst, true); 139 } 140} 141 142/* namespace Trace */ } 143 144//////////////////////////////////////////////////////////////////////// 145// 146// ExeTracer Simulation Object 147// 148Trace::ExeTracer * 149ExeTracerParams::create() 150{ 151 return new Trace::ExeTracer(this); 152}; |