thread_state.hh (3126:756092c6383c) | thread_state.hh (3402:db60546818d0) |
---|---|
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(-1, _thread_num), | 80 : ThreadState(_cpu, -1, _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 | 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 MemObject *mem) 100 : ThreadState(-1, _thread_num, _process, _asid, mem), | 98 O3ThreadState(O3CPU *_cpu, int _thread_num, Process *_process, int _asid) 99 : ThreadState(_cpu, -1, _thread_num, _process, _asid), |
101 cpu(_cpu), inSyscall(0), trapPending(0) 102 { } 103#endif 104 105 /** Pointer to the ThreadContext of this thread. */ 106 ThreadContext *tc; 107 108 /** 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 --- |