Lines Matching refs:entry
60 Cacheable *entry = fLeastRecentlyUsed;
61 while (entry)
63 Cacheable *prev = entry->prev;
64 if (entry->locked <= 0 || force)
66 if (entry->next)
67 entry->next->prev = prev;
69 prev->next = entry->next;
71 if (fLeastRecentlyUsed == entry)
73 if (fMostRecentlyUsed == entry)
76 delete entry;
82 entry = prev;
95 Cacheable *entry = Get(data);
96 if (!entry)
99 entry->isDirty = dirty;
105 Cacheable *entry = Get(data);
106 if (!entry)
109 entry->locked++;
115 Cacheable *entry = Get(data);
116 if (!entry)
119 entry->locked--;
125 Cacheable *entry = GetFromCache(data);
126 if (entry)
128 if (fMostRecentlyUsed == entry)
129 return entry;
131 // remove entry from cache (to insert it at top of the MRU list)
132 if (entry->prev)
133 entry->prev->next = entry->next;
134 if (!entry->next)
136 if (fLeastRecentlyUsed == entry)
137 fLeastRecentlyUsed = entry->prev;
139 fprintf(stderr,"Cache: fatal error, fLeastRecentlyUsed != entry\n");
142 entry->next->prev = entry->prev;
146 entry = NewCacheable(data);
147 if (entry)
151 if (entry)
153 // insert entry at the top of the MRU list
154 entry->next = fMostRecentlyUsed;
155 entry->prev = NULL;
158 fMostRecentlyUsed->prev = entry;
160 fLeastRecentlyUsed = entry;
163 fMostRecentlyUsed = entry;
171 return entry;
177 Cacheable *entry = fMostRecentlyUsed;
178 while (entry)
180 if (entry->Equals(data))
181 return entry;
182 entry = entry->next;