Deleted Added
sdiff udiff text old ( 3221:669a04468c0d ) new ( 3226:de4981baa276 )
full compact
1/*
2 * Copyright (c) 2004-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;

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

450
451 if (removeInstsThisCycle) {
452 cleanUpRemovedInsts();
453 }
454
455 if (!tickEvent.scheduled()) {
456 if (_status == SwitchedOut ||
457 getState() == SimObject::Drained) {
458 // increment stat
459 lastRunningCycle = curTick;
460 } else if (!activityRec.active() || _status == Idle) {
461 lastRunningCycle = curTick;
462 timesIdled++;
463 } else {
464 tickEvent.schedule(curTick + cycles(1));
465 }
466 }
467
468#if !FULL_SYSTEM
469 updateThreadPriority();
470#endif
471
472}

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

515
516template <class Impl>
517void
518FullO3CPU<Impl>::activateThread(unsigned tid)
519{
520 list<unsigned>::iterator isActive = find(
521 activeThreads.begin(), activeThreads.end(), tid);
522
523 if (isActive == activeThreads.end()) {
524 DPRINTF(O3CPU, "[tid:%i]: Adding to active threads list\n",
525 tid);
526
527 activeThreads.push_back(tid);
528 }
529}
530
531template <class Impl>
532void
533FullO3CPU<Impl>::deactivateThread(unsigned tid)
534{
535 //Remove From Active List, if Active
536 list<unsigned>::iterator thread_it =
537 find(activeThreads.begin(), activeThreads.end(), tid);
538
539 if (thread_it != activeThreads.end()) {
540 DPRINTF(O3CPU,"[tid:%i]: Removing from active threads list\n",
541 tid);
542 activeThreads.erase(thread_it);
543 }
544}
545
546template <class Impl>

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

831 return 0;
832 }
833}
834
835template <class Impl>
836void
837FullO3CPU<Impl>::resume()
838{
839 assert(system->getMemoryMode() == System::Timing);
840 fetch.resume();
841 decode.resume();
842 rename.resume();
843 iew.resume();
844 commit.resume();
845
846 changeState(SimObject::Running);
847

--- 585 unchanged lines hidden ---