Deleted Added
sdiff udiff text old ( 11049:dfb0aa3f0649 ) new ( 11061:25b53a7195f7 )
full compact
1/*
2 * Copyright (c) 2013 Advanced Micro Devices, Inc
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;

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

45LRUPolicy *
46LRUReplacementPolicyParams::create()
47{
48 return new LRUPolicy(this);
49}
50
51
52void
53LRUPolicy::touch(int64_t set, int64_t index, Tick time)
54{
55 assert(index >= 0 && index < m_assoc);
56 assert(set >= 0 && set < m_num_sets);
57
58 m_last_ref_ptr[set][index] = time;
59}
60
61int64_t
62LRUPolicy::getVictim(int64_t set) const
63{
64 Tick time, smallest_time;
65 int64_t smallest_index = 0;
66 smallest_time = m_last_ref_ptr[set][0];
67
68 for (unsigned i = 0; i < m_assoc; i++) {
69 time = m_last_ref_ptr[set][i];
70
71 if (time < smallest_time) {
72 smallest_index = i;
73 smallest_time = time;
74 }
75 }
76
77 return smallest_index;
78}