Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interpreter: Fix bug with icache emulation. #2718

Merged
merged 1 commit into from Jul 8, 2015

Conversation

phire
Copy link
Member

@phire phire commented Jul 7, 2015

The constructor sets up way_from_valid and way_from_plur as fast lookup tables for implementing the PLRU algorithm. Then the Init function memsets them to zero, meaning the instruction cache will now always choose the first way in each set.

This degrades the cache from 128 sets, 8 way to 128 sets, 1 way.

Not only does fixing this bug increase accuracy, but it increases performance too, giving a 1% speedup to interpreter.

The constructor sets up way_from_valid and way_from_plur as fast lookup
tables for implementing the PLRU algrothm. Then the Init function
memsets them to zero, meaning the instruction cache will now always
choose the first way in each set.

This degrades the cache from 128 sets, 8 way to 128 sets, 1 way.

Not only does fixing this bug increase accuracy, but it increases
preformance too, giving a 1% speedup to interpreter.
@Tilka
Copy link
Member

Tilka commented Jul 8, 2015

lgtm

Sonicadvance1 added a commit that referenced this pull request Jul 8, 2015
Interpreter: Fix bug with icache emulation.
@Sonicadvance1 Sonicadvance1 merged commit 7b7d1b0 into dolphin-emu:master Jul 8, 2015
@phire phire deleted the 1way-icache branch February 2, 2023 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants