thread_state.cc (6221:58a3c04e6344) thread_state.cc (6324:a535b2232c08)
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;

--- 42 unchanged lines hidden (view full) ---

51 : numInst(0), numLoad(0), _status(ThreadContext::Halted),
52 baseCpu(cpu), _threadId(_tid), lastActivate(0), lastSuspend(0),
53#if FULL_SYSTEM
54 profile(NULL), profileNode(NULL), profilePC(0), quiesceEvent(NULL),
55 kernelStats(NULL), physPort(NULL), virtPort(NULL),
56#else
57 port(NULL), process(_process), asid(_asid),
58#endif
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;

--- 42 unchanged lines hidden (view full) ---

51 : numInst(0), numLoad(0), _status(ThreadContext::Halted),
52 baseCpu(cpu), _threadId(_tid), lastActivate(0), lastSuspend(0),
53#if FULL_SYSTEM
54 profile(NULL), profileNode(NULL), profilePC(0), quiesceEvent(NULL),
55 kernelStats(NULL), physPort(NULL), virtPort(NULL),
56#else
57 port(NULL), process(_process), asid(_asid),
58#endif
59 microPC(0), nextMicroPC(1), funcExeInst(0), storeCondFailures(0)
59 funcExeInst(0), storeCondFailures(0)
60{
61}
62
63ThreadState::~ThreadState()
64{
65#if !FULL_SYSTEM
66 if (port) {
67 delete port->getPeer();

--- 4 unchanged lines hidden (view full) ---

72
73void
74ThreadState::serialize(std::ostream &os)
75{
76 SERIALIZE_ENUM(_status);
77 // thread_num and cpu_id are deterministic from the config
78 SERIALIZE_SCALAR(funcExeInst);
79 SERIALIZE_SCALAR(inst);
60{
61}
62
63ThreadState::~ThreadState()
64{
65#if !FULL_SYSTEM
66 if (port) {
67 delete port->getPeer();

--- 4 unchanged lines hidden (view full) ---

72
73void
74ThreadState::serialize(std::ostream &os)
75{
76 SERIALIZE_ENUM(_status);
77 // thread_num and cpu_id are deterministic from the config
78 SERIALIZE_SCALAR(funcExeInst);
79 SERIALIZE_SCALAR(inst);
80 SERIALIZE_SCALAR(microPC);
81 SERIALIZE_SCALAR(nextMicroPC);
82
83#if FULL_SYSTEM
84 Tick quiesceEndTick = 0;
85 if (quiesceEvent->scheduled())
86 quiesceEndTick = quiesceEvent->when();
87 SERIALIZE_SCALAR(quiesceEndTick);
88 if (kernelStats)
89 kernelStats->serialize(os);
90#endif
91}
92
93void
94ThreadState::unserialize(Checkpoint *cp, const std::string &section)
95{
96
97 UNSERIALIZE_ENUM(_status);
98 // thread_num and cpu_id are deterministic from the config
99 UNSERIALIZE_SCALAR(funcExeInst);
100 UNSERIALIZE_SCALAR(inst);
80
81#if FULL_SYSTEM
82 Tick quiesceEndTick = 0;
83 if (quiesceEvent->scheduled())
84 quiesceEndTick = quiesceEvent->when();
85 SERIALIZE_SCALAR(quiesceEndTick);
86 if (kernelStats)
87 kernelStats->serialize(os);
88#endif
89}
90
91void
92ThreadState::unserialize(Checkpoint *cp, const std::string &section)
93{
94
95 UNSERIALIZE_ENUM(_status);
96 // thread_num and cpu_id are deterministic from the config
97 UNSERIALIZE_SCALAR(funcExeInst);
98 UNSERIALIZE_SCALAR(inst);
101 UNSERIALIZE_SCALAR(microPC);
102 UNSERIALIZE_SCALAR(nextMicroPC);
103
104#if FULL_SYSTEM
105 Tick quiesceEndTick;
106 UNSERIALIZE_SCALAR(quiesceEndTick);
107 if (quiesceEndTick)
108 baseCpu->schedule(quiesceEvent, quiesceEndTick);
109 if (kernelStats)
110 kernelStats->unserialize(cp, section);

--- 87 unchanged lines hidden ---
99
100#if FULL_SYSTEM
101 Tick quiesceEndTick;
102 UNSERIALIZE_SCALAR(quiesceEndTick);
103 if (quiesceEndTick)
104 baseCpu->schedule(quiesceEvent, quiesceEndTick);
105 if (kernelStats)
106 kernelStats->unserialize(cp, section);

--- 87 unchanged lines hidden ---