LRUPolicy.cc (11049:dfb0aa3f0649) LRUPolicy.cc (11061:25b53a7195f7)
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
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 set, int64 index, Tick time)
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
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
62LRUPolicy::getVictim(int64 set) const
61int64_t
62LRUPolicy::getVictim(int64_t set) const
63{
64 Tick time, smallest_time;
63{
64 Tick time, smallest_time;
65 int64 smallest_index;
66
67 smallest_index = 0;
65 int64_t smallest_index = 0;
68 smallest_time = m_last_ref_ptr[set][0];
69
70 for (unsigned i = 0; i < m_assoc; i++) {
71 time = m_last_ref_ptr[set][i];
72
73 if (time < smallest_time) {
74 smallest_index = i;
75 smallest_time = time;
76 }
77 }
78
79 return smallest_index;
80}
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}