From e457f4dee07d234657ebb93a3029d3d9a37a45c5 Mon Sep 17 00:00:00 2001 From: Adam Goldsmith Date: Thu, 28 Apr 2016 01:54:20 -0400 Subject: [PATCH] Fix cache_access --- csim.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/csim.c b/csim.c index 8ecc779..60112d0 100644 --- a/csim.c +++ b/csim.c @@ -234,17 +234,13 @@ char cache_access(linked_line** cache, long address, int set_bits, int block_bit else if (line->tag == tag) out = 'H'; else out = 'E'; - if (line != set_head) { - line->newer = NULL; - set_head->newer = line; - line->older = set_head; - if (line->older) { + if(!(line == set_head)) { + line->newer->older = line->older; + if(line->older) line->older->newer = line->newer; - if (line->older->older == line) - line->older->older = NULL; - } - if (line->newer) - line->newer->older = line->older; + line->newer = NULL; + line->older = set_head; + set_head->newer = line; cache[set] = line; }