changeset f897d0483b06 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=f897d0483b06
description:
        Ruby: Correct set LONG_BITS and INDEX_SHIFT in class Set.
        The code for Set class was written under the assumption that
        std::numeric_limits<long>::digits returns the number of bits used for
        data type long, which was presumed to be either 32 or 64. But return 
value
        is actually one less, that is, it is either 31 or 63. The value is now
        being incremented by 1 so as to correctly set it.

diffstat:

 src/mem/ruby/common/Set.hh |  2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diffs (12 lines):

diff -r 9fb150de362e -r f897d0483b06 src/mem/ruby/common/Set.hh
--- a/src/mem/ruby/common/Set.hh        Sun Jun 12 23:52:21 2011 -0700
+++ b/src/mem/ruby/common/Set.hh        Tue Jun 14 19:51:44 2011 -0500
@@ -54,7 +54,7 @@
     long *m_p_nArray;      // an word array to hold the bits in the set
     long m_p_nArray_Static[NUMBER_WORDS_PER_SET];
 
-    static const int LONG_BITS = std::numeric_limits<long>::digits;
+    static const int LONG_BITS = std::numeric_limits<long>::digits + 1;
     static const int INDEX_SHIFT = LONG_BITS == 64 ? 6 : 5;
     static const int INDEX_MASK = (1 << INDEX_SHIFT) - 1;
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to