changeset 7338bc628489 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=7338bc628489
description:
        Move sched_list.hh and timebuf.hh from src/base to src/cpu.
        These files really aren't general enough to belong in src/base.
        This patch doesn't reorder include lines, leaving them unsorted
        in many cases, but Nate's magic script will fix that up shortly.

diffstat:

 src/base/sched_list.hh            |  180 ----------------------------
 src/base/timebuf.hh               |  241 --------------------------------------
 src/cpu/activity.cc               |    2 +-
 src/cpu/activity.hh               |    2 +-
 src/cpu/inorder/cpu.hh            |    2 +-
 src/cpu/inorder/first_stage.hh    |    2 +-
 src/cpu/inorder/pipeline_stage.hh |    2 +-
 src/cpu/o3/commit.hh              |    2 +-
 src/cpu/o3/commit_impl.hh         |    2 +-
 src/cpu/o3/cpu.hh                 |    2 +-
 src/cpu/o3/decode.hh              |    2 +-
 src/cpu/o3/fetch.hh               |    2 +-
 src/cpu/o3/fu_pool.hh             |    2 +-
 src/cpu/o3/iew.hh                 |    2 +-
 src/cpu/o3/iew_impl.hh            |    2 +-
 src/cpu/o3/inst_queue.hh          |    2 +-
 src/cpu/o3/rename.hh              |    2 +-
 src/cpu/ozone/back_end.hh         |    2 +-
 src/cpu/ozone/cpu.hh              |    2 +-
 src/cpu/ozone/front_end.hh        |    2 +-
 src/cpu/ozone/inorder_back_end.hh |    2 +-
 src/cpu/ozone/inst_queue.hh       |    2 +-
 src/cpu/ozone/lw_back_end.hh      |    2 +-
 src/cpu/sched_list.hh             |  180 ++++++++++++++++++++++++++++
 src/cpu/timebuf.hh                |  241 ++++++++++++++++++++++++++++++++++++++
 25 files changed, 442 insertions(+), 442 deletions(-)

diffs (truncated from 1110 to 300 lines):

diff -r 850d71d21135 -r 7338bc628489 src/base/sched_list.hh
--- a/src/base/sched_list.hh    Mon Jan 03 14:35:45 2011 -0800
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 2002-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Steve Raasch
- */
-
-#ifndef SCHED_LIST_HH
-#define SCHED_LIST_HH
-
-#include <list>
-#include "base/intmath.hh"
-#include "base/misc.hh"
-
-
-//  Any types you use this class for must be covered here...
-namespace {
-    void ClearEntry(int &i) { i = 0; };
-    void ClearEntry(unsigned &i) { i = 0; };
-    void ClearEntry(double &i) { i = 0; };
-    template <class T> void ClearEntry(std::list<T> &l) { l.clear(); };
-};
-
-
-//
-//  this is a special list type that allows the user to insert elements at a
-//  specified positive offset from the "current" element, but only allow them
-//  be extracted from the "current" element
-//
-
-
-template <class T>
-class SchedList
-{
-    T *data_array;
-    unsigned position;
-    unsigned size;
-    unsigned mask;
-
-  public:
-    SchedList(unsigned size);
-    SchedList(void);
-
-    void init(unsigned size);
-
-    T &operator[](unsigned offset);
-
-    void advance(void);
-
-    void clear(void);
-};
-
-
-
-//
-//  Constructor
-//
-template<class T>
-SchedList<T>::SchedList(unsigned _size)
-{
-    size = _size;
-
-    //  size must be a power of two
-    if (!isPowerOf2(size)) {
-        panic("SchedList: size must be a power of two");
-    }
-
-    if (size < 2) {
-        panic("SchedList: you don't want a list that small");
-    }
-
-    //  calculate the bit mask for the modulo operation
-    mask = size - 1;
-
-    data_array = new T[size];
-
-    if (!data_array) {
-        panic("SchedList: could not allocate memory");
-    }
-
-    clear();
-}
-
-template<class T>
-SchedList<T>::SchedList(void)
-{
-    data_array = 0;
-    size = 0;
-}
-
-
-template<class T> void
-SchedList<T>::init(unsigned _size)
-{
-    size = _size;
-
-    if (!data_array) {
-        //  size must be a power of two
-        if (size & (size-1)) {
-            panic("SchedList: size must be a power of two");
-        }
-
-        if (size < 2) {
-            panic("SchedList: you don't want a list that small");
-        }
-
-        //  calculate the bit mask for the modulo operation
-        mask = size - 1;
-
-        data_array = new T[size];
-
-        if (!data_array) {
-            panic("SchedList: could not allocate memory");
-        }
-
-        clear();
-    }
-}
-
-
-template<class T> void
-SchedList<T>::advance(void)
-{
-    ClearEntry(data_array[position]);
-
-    //    position = (++position % size);
-    position = ++position & mask;
-}
-
-
-template<class T> void
-SchedList<T>::clear(void)
-{
-    for (unsigned i=0; i<size; ++i) {
-        ClearEntry(data_array[i]);
-    }
-
-    position = 0;
-}
-
-
-template<class T>  T&
-SchedList<T>::operator[](unsigned offset)
-{
-    if (offset >= size) {
-        panic("SchedList: can't access element beyond current pointer");
-    }
-
-    //    unsigned p = (position + offset) % size;
-    unsigned p = (position + offset) & mask;
-
-    return data_array[p];
-}
-
-
-
-#endif
diff -r 850d71d21135 -r 7338bc628489 src/base/timebuf.hh
--- a/src/base/timebuf.hh       Mon Jan 03 14:35:45 2011 -0800
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
- * Copyright (c) 2004-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Nathan Binkert
- *          Kevin Lim
- */
-
-#ifndef __BASE_TIMEBUF_HH__
-#define __BASE_TIMEBUF_HH__
-
-#include <cassert>
-#include <cstring>
-#include <vector>
-
-template <class T>
-class TimeBuffer
-{
-  protected:
-    int past;
-    int future;
-    unsigned size;
-    int _id;
-
-    char *data;
-    std::vector<char *> index;
-    unsigned base;
-
-    void valid(int idx)
-    {
-        assert (idx >= -past && idx <= future);
-    }
-
-  public:
-    friend class wire;
-    class wire
-    {
-        friend class TimeBuffer;
-      protected:
-        TimeBuffer<T> *buffer;
-        int index;
-
-        void set(int idx)
-        {
-            buffer->valid(idx);
-            index = idx;
-        }
-
-        wire(TimeBuffer<T> *buf, int i)
-            : buffer(buf), index(i)
-        { }
-
-      public:
-        wire()
-        { }
-
-        wire(const wire &i)
-            : buffer(i.buffer), index(i.index)
-        { }
-
-        const wire &operator=(const wire &i)
-        {
-            buffer = i.buffer;
-            set(i.index);
-            return *this;
-        }
-
-        const wire &operator=(int idx)
-        {
-            set(idx);
-            return *this;
-        }
-
-        const wire &operator+=(int offset)
-        {
-            set(index + offset);
-            return *this;
-        }
-
-        const wire &operator-=(int offset)
-        {
-            set(index - offset);
-            return *this;
-        }
-
-        wire &operator++()
-        {
-            set(index + 1);
-            return *this;
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to