| 58 | // |
| 59 | |
| 60 | void CTraceRecorder::StartTrace( u32 address ) |
| 61 | { |
| 62 | #ifdef DAEDALUS_PROFILE |
| 63 | DAEDALUS_PROFILE( "CTraceRecorder::StartTrace" ); |
| 64 | #endif |
| 65 | #ifdef DAEDALUS_ENABLE_ASSERTS |
| 66 | DAEDALUS_ASSERT( !mTracing, "We're already tracing" ); |
| 67 | #endif |
| 68 | mTraceBuffer.clear(); |
| 69 | mBranchDetails.clear(); |
| 70 | mNeedIndirectExitMap = false; |
| 71 | mTracing = true; |
| 72 | mStartTraceAddress = address; |
| 73 | mActiveBranchIdx = INVALID_IDX; |
| 74 | mStopTraceAfterDelaySlot = false; |
| 75 | mExpectedExitTraceAddress = address + 4; |
| 76 | } |
| 77 | |
| 78 | |
| 79 | // |