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};