mem-ruby: Fix MultiGrainBloomFilter accessing
When accessing the page filter the page hash should be used instead of the hash of the base filter. Change-Id: I17b7c64f2a0d654c7d9a77a7bfb435385d81032c Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18739 Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
This commit is contained in:
committed by
Daniel Carvalho
parent
97863a8209
commit
7b09869eac
@@ -54,21 +54,23 @@ MultiGrainBloomFilter::clear()
|
||||
void
|
||||
MultiGrainBloomFilter::set(Addr addr)
|
||||
{
|
||||
int i = hash(addr);
|
||||
assert(i < filter.size());
|
||||
assert(pageHash(addr) < pageFilter.size());
|
||||
filter[i] = 1;
|
||||
pageFilter[i] = 1;
|
||||
const int index = hash(addr);
|
||||
assert(index < filter.size());
|
||||
filter[index] = 1;
|
||||
|
||||
const int page_index = pageHash(addr);
|
||||
assert(page_index < pageFilter.size());
|
||||
pageFilter[page_index] = 1;
|
||||
}
|
||||
|
||||
int
|
||||
MultiGrainBloomFilter::getCount(Addr addr) const
|
||||
{
|
||||
int i = hash(addr);
|
||||
assert(i < filter.size());
|
||||
assert(pageHash(addr) < pageFilter.size());
|
||||
return filter[i] + pageFilter[i];
|
||||
const int index = hash(addr);
|
||||
const int page_index = pageHash(addr);
|
||||
assert(index < filter.size());
|
||||
assert(page_index < pageFilter.size());
|
||||
return filter[index] + pageFilter[page_index];
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
Reference in New Issue
Block a user