lsq_impl.hh (5529:9ae69b9cd7fd) lsq_impl.hh (5557:03c186e416aa)
1/*
2 * Copyright (c) 2005-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;

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

579
580template<class Impl>
581bool
582LSQ<Impl>::hasStoresToWB()
583{
584 std::list<unsigned>::iterator threads = activeThreads->begin();
585 std::list<unsigned>::iterator end = activeThreads->end();
586
1/*
2 * Copyright (c) 2005-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;

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

579
580template<class Impl>
581bool
582LSQ<Impl>::hasStoresToWB()
583{
584 std::list<unsigned>::iterator threads = activeThreads->begin();
585 std::list<unsigned>::iterator end = activeThreads->end();
586
587 if (threads == end)
588 return false;
589
590 while (threads != end) {
591 unsigned tid = *threads++;
592
587 while (threads != end) {
588 unsigned tid = *threads++;
589
593 if (!hasStoresToWB(tid))
594 return false;
590 if (hasStoresToWB(tid))
591 return true;
595 }
596
592 }
593
597 return true;
594 return false;
598}
599
600template<class Impl>
601bool
602LSQ<Impl>::willWB()
603{
604 std::list<unsigned>::iterator threads = activeThreads->begin();
605 std::list<unsigned>::iterator end = activeThreads->end();
606
607 while (threads != end) {
608 unsigned tid = *threads++;
609
595}
596
597template<class Impl>
598bool
599LSQ<Impl>::willWB()
600{
601 std::list<unsigned>::iterator threads = activeThreads->begin();
602 std::list<unsigned>::iterator end = activeThreads->end();
603
604 while (threads != end) {
605 unsigned tid = *threads++;
606
610 if (!willWB(tid))
611 return false;
607 if (willWB(tid))
608 return true;
612 }
613
609 }
610
614 return true;
611 return false;
615}
616
617template<class Impl>
618void
619LSQ<Impl>::dumpInsts()
620{
621 std::list<unsigned>::iterator threads = activeThreads->begin();
622 std::list<unsigned>::iterator end = activeThreads->end();
623
624 while (threads != end) {
625 unsigned tid = *threads++;
626
627 thread[tid].dumpInsts();
628 }
629}
612}
613
614template<class Impl>
615void
616LSQ<Impl>::dumpInsts()
617{
618 std::list<unsigned>::iterator threads = activeThreads->begin();
619 std::list<unsigned>::iterator end = activeThreads->end();
620
621 while (threads != end) {
622 unsigned tid = *threads++;
623
624 thread[tid].dumpInsts();
625 }
626}