thread_state.hh (5529:9ae69b9cd7fd) | thread_state.hh (5712:199d31b47f7b) |
---|---|
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; --- 63 unchanged lines hidden (view full) --- 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#if FULL_SYSTEM 79 O3ThreadState(O3CPU *_cpu, int _thread_num) | 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; --- 63 unchanged lines hidden (view full) --- 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#if FULL_SYSTEM 79 O3ThreadState(O3CPU *_cpu, int _thread_num) |
80 : ThreadState(_cpu, -1, _thread_num), | 80 : ThreadState(_cpu, _thread_num), |
81 cpu(_cpu), inSyscall(0), trapPending(0) 82 { 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 } 97#else 98 O3ThreadState(O3CPU *_cpu, int _thread_num, Process *_process, int _asid) | 81 cpu(_cpu), inSyscall(0), trapPending(0) 82 { 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 } 97#else 98 O3ThreadState(O3CPU *_cpu, int _thread_num, Process *_process, int _asid) |
99 : ThreadState(_cpu, -1, _thread_num, _process, _asid), | 99 : ThreadState(_cpu, _thread_num, _process, _asid), |
100 cpu(_cpu), inSyscall(0), trapPending(0) 101 { } 102#endif 103 104 /** Pointer to the ThreadContext of this thread. */ 105 ThreadContext *tc; 106 107 /** Returns a pointer to the TC of this thread. */ --- 17 unchanged lines hidden --- | 100 cpu(_cpu), inSyscall(0), trapPending(0) 101 { } 102#endif 103 104 /** Pointer to the ThreadContext of this thread. */ 105 ThreadContext *tc; 106 107 /** Returns a pointer to the TC of this thread. */ --- 17 unchanged lines hidden --- |