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

DolphinQt: JIT Widget Refresh #12714

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Commits on May 26, 2024

  1. Cached Interpreter 2.0

    It now supports variable-sized data payloads and memory range freeing. It's a little faster, too.
    mitaclaw committed May 26, 2024
    Configuration menu
    Copy the full SHA
    a60cca0 View commit details
    Browse the repository at this point in the history
  2. CachedInterpreter: Exception Check Callback Micro-Optimization

    This saves two register pushes / pops.
    mitaclaw committed May 26, 2024
    Configuration menu
    Copy the full SHA
    dcd5ad4 View commit details
    Browse the repository at this point in the history
  3. CachedInterpreter: WritePC optimizations

    WritePC is now needed far less, only for instructions that end the block. Unfortunately, WritePC still needs to update `PowerPCState::npc` to support the false path of conditional branch instructions. Both drawbacks should be smoothed over by optimized cached instructions in the future.
    mitaclaw committed May 26, 2024
    Configuration menu
    Copy the full SHA
    bcebf1c View commit details
    Browse the repository at this point in the history
  4. CachedInterpreter: Use CodeOp::canEndBlock

    This was a bigger performance boost than I expected.
    mitaclaw committed May 26, 2024
    Configuration menu
    Copy the full SHA
    10ebfd2 View commit details
    Browse the repository at this point in the history
  5. CachedInterpreter: Combine Interpret, CheckDSI, CheckProgram, and Wri…

    …tePC
    
    I tried making the new templated Interpret callback test only the relevant exceptions (EXCEPTION_DSI, EXCEPTION_PROGRAM, or both), but didn't find a significant performance boost in it. As I am learning, the biggest bottleneck is the number of callbacks emitted, not usually the actual contents of them.
    mitaclaw committed May 26, 2024
    Configuration menu
    Copy the full SHA
    dd09935 View commit details
    Browse the repository at this point in the history
  6. JitCache: Add WipeBlockProfilingData Function

    Accessible from DolphinQt and Android.
    mitaclaw committed May 26, 2024
    Configuration menu
    Copy the full SHA
    32e3c98 View commit details
    Browse the repository at this point in the history
  7. Externals: Update rangeset

    I added a new `get_stats` member function to the upstream for use in the JIT Widget Refresh.
    mitaclaw committed May 26, 2024
    Configuration menu
    Copy the full SHA
    baa3e06 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2024

  1. DolphinQt: JIT Widget Refresh

    Fulfilling a certain six-year-old todo, and revamping LogGeneratedX86 as a bonus.
    mitaclaw committed May 29, 2024
    Configuration menu
    Copy the full SHA
    25d67ed View commit details
    Browse the repository at this point in the history