PseudoLRUPolicy.hh (10314:94b6b28fc968) | PseudoLRUPolicy.hh (10441:5377550e1e15) |
---|---|
1/* 2 * Copyright (c) 2007 Mark D. Hill and David A. Wood 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; --- 12 unchanged lines hidden (view full) --- 21 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 | 1/* 2 * Copyright (c) 2007 Mark D. Hill and David A. Wood 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; --- 12 unchanged lines hidden (view full) --- 21 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 |
29#ifndef __MEM_RUBY_SYSTEM_PSEUDOLRUPOLICY_HH__ 30#define __MEM_RUBY_SYSTEM_PSEUDOLRUPOLICY_HH__ | 29#ifndef __MEM_RUBY_STRUCTURES_PSEUDOLRUPOLICY_HH__ 30#define __MEM_RUBY_STRUCTURES_PSEUDOLRUPOLICY_HH__ |
31 32#include "mem/ruby/structures/AbstractReplacementPolicy.hh" 33 34/** 35 * Implementation of tree-based pseudo-LRU replacement 36 * 37 * Works for any associativity between 1 and 128. 38 * --- 90 unchanged lines hidden (view full) --- 129 } 130 assert(index >= 0 && index < m_effective_assoc); 131 132 /* return either the found index or the max possible index */ 133 /* NOTE: this is not a fair replacement when assoc is not a power of 2 */ 134 return (index > (m_assoc - 1)) ? m_assoc - 1 : index; 135} 136 | 31 32#include "mem/ruby/structures/AbstractReplacementPolicy.hh" 33 34/** 35 * Implementation of tree-based pseudo-LRU replacement 36 * 37 * Works for any associativity between 1 and 128. 38 * --- 90 unchanged lines hidden (view full) --- 129 } 130 assert(index >= 0 && index < m_effective_assoc); 131 132 /* return either the found index or the max possible index */ 133 /* NOTE: this is not a fair replacement when assoc is not a power of 2 */ 134 return (index > (m_assoc - 1)) ? m_assoc - 1 : index; 135} 136 |
137#endif // __MEM_RUBY_SYSTEM_PSEUDOLRUPOLICY_HH__ | 137#endif // __MEM_RUBY_STRUCTURES_PSEUDOLRUPOLICY_HH__ |