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; --- 61 unchanged lines hidden (view full) --- 70 */ 71 bool inSyscall; 72 73 /** Whether or not the thread is currently waiting on a trap, and 74 * thus able to be externally updated without squashing. 75 */ 76 bool trapPending; 77 |
78 O3ThreadState(O3CPU *_cpu, int _thread_num, Process *_process) 79 : ThreadState(_cpu, _thread_num, _process), |
80 cpu(_cpu), inSyscall(0), trapPending(0) 81 { |
82#if FULL_SYSTEM |
83 if (cpu->params()->profile) { 84 profile = new FunctionProfile(cpu->params()->system->kernelSymtab); 85 Callback *cb = 86 new MakeCallback<O3ThreadState, 87 &O3ThreadState::dumpFuncProfile>(this); 88 registerExitCallback(cb); 89 } 90 91 // let's fill with a dummy node for now so we don't get a segfault 92 // on the first cycle when there's no node available. 93 static ProfileNode dummyNode; 94 profileNode = &dummyNode; 95 profilePC = 3; |
96#endif |
97 } |
98 99 /** Pointer to the ThreadContext of this thread. */ 100 ThreadContext *tc; 101 102 /** Returns a pointer to the TC of this thread. */ 103 ThreadContext *getTC() { return tc; } 104 105#if !FULL_SYSTEM --- 14 unchanged lines hidden --- |