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

Use one struct for R4300 registers on all architectures #134

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Commits on Oct 10, 2015

  1. Unify global variables, part 1: Interpreters and Hacktarux JIT

    The following global variables are now in a single contiguous structure
    that is aligned to a page (4096 bytes) in compilers that support it:
    
    reg[32], hi, lo, g_cp0_regs[32], FCR0, FCR31, llbit,
    reg_cop1_simple[32], reg_cop1_double[32], reg_cop1_fgr_64[32],
    delay_slot, next_interupt, address, rdword, cpu_byte, cpu_hword,
    cpu_word, cpu_dword
    
    On many architectures, the structure allows access to this data with an
    offset from a base register containing the address of the structure. It
    being aligned to a page allows it to require only one TLB entry, if the
    compiler supports it.
    
    Notably missing from this commit are the modifications required for the
    New Dynarec to work with these new structure offsets.
    Nebuleon committed Oct 10, 2015
    Configuration menu
    Copy the full SHA
    3c9a3fc View commit details
    Browse the repository at this point in the history
  2. Unify global variables, part 2: New Dynarec/ARM

    Much like before, there is conditional compilation to selectively have
    the New Dynarec create a variable in its own memory space instead of C
    putting it somewhere inconvenient.
    
    Now, though, the New Dynarec is just adopting the contiguous structure
    that is also used by the other cores, so it is no longer the only core
    that has the advantage of a contiguous set of often-used variables.
    Nebuleon committed Oct 10, 2015
    Configuration menu
    Copy the full SHA
    bbe2a26 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2015

  1. Configuration menu
    Copy the full SHA
    7bd0078 View commit details
    Browse the repository at this point in the history