nativetrace.cc (6417:fbc8d1e996d9) | nativetrace.cc (6419:2192dac4ad82) |
---|---|
1/* 2 * Copyright (c) 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; --- 148 unchanged lines hidden (view full) --- 157 assert(inst); 158 bool ran = true; 159 if (inst->isMicroop()) { 160 ran = false; 161 inst = record->getMacroStaticInst(); 162 } 163 assert(inst); 164 record->traceInst(inst, ran); | 1/* 2 * Copyright (c) 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; --- 148 unchanged lines hidden (view full) --- 157 assert(inst); 158 bool ran = true; 159 if (inst->isMicroop()) { 160 ran = false; 161 inst = record->getMacroStaticInst(); 162 } 163 assert(inst); 164 record->traceInst(inst, ran); |
165 166 bool pcError = (mState.newState[STATE_PC] != 167 nState.newState[STATE_PC]); 168 if (stopOnPCError && pcError) 169 panic("Native trace detected an error in control flow!"); |
|
165 } 166} 167 168} /* namespace Trace */ 169 170//////////////////////////////////////////////////////////////////////// 171// 172// ExeTracer Simulation Object 173// 174Trace::ArmNativeTrace * 175ArmNativeTraceParams::create() 176{ 177 return new Trace::ArmNativeTrace(this); 178}; | 170 } 171} 172 173} /* namespace Trace */ 174 175//////////////////////////////////////////////////////////////////////// 176// 177// ExeTracer Simulation Object 178// 179Trace::ArmNativeTrace * 180ArmNativeTraceParams::create() 181{ 182 return new Trace::ArmNativeTrace(this); 183}; |