diff options
author | 2022-02-14 01:40:31 +1100 | |
---|---|---|
committer | 2022-02-14 01:40:31 +1100 | |
commit | bd7f27c6f258f4a2f2703bd5a250baf5131d3e8f (patch) | |
tree | 99bfefabaff86c6e365a093dd4d32a87d6583b16 /src/devices/cpu/mips/mips3.cpp | |
parent | e4588d1f454e283d7df8c60be42641570928571f (diff) |
-emu/emumem.h: Hold onto memory cache handler change subscriptions.
-cpu/mips: Replaced a std::function with a marginally more efficient delegate.
Diffstat (limited to 'src/devices/cpu/mips/mips3.cpp')
-rw-r--r-- | src/devices/cpu/mips/mips3.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/devices/cpu/mips/mips3.cpp b/src/devices/cpu/mips/mips3.cpp index b209baa6558..f34de33c24f 100644 --- a/src/devices/cpu/mips/mips3.cpp +++ b/src/devices/cpu/mips/mips3.cpp @@ -402,14 +402,14 @@ void mips3_device::device_start() if (m_data_bits == 32) { m_program->cache(m_cache32le); - m_pr32 = [this](offs_t address) -> u32 { return m_cache32le.read_dword(address); }; - m_prptr = [this](offs_t address) -> const void * { return m_cache32le.read_ptr(address); }; + m_pr32 = delegate<u32 (offs_t)>(&memory_access<32, 2, 0, ENDIANNESS_LITTLE>::cache::read_dword, &m_cache32le); + m_prptr = [this] (offs_t address) -> const void * { return m_cache32le.read_ptr(address); }; } else { m_program->cache(m_cache64le); - m_pr32 = [this](offs_t address) -> u32 { return m_cache64le.read_dword(address); }; - m_prptr = [this](offs_t address) -> const void * { return m_cache64le.read_ptr(address); }; + m_pr32 = delegate<u32 (offs_t)>(&memory_access<32, 3, 0, ENDIANNESS_LITTLE>::cache::read_dword, &m_cache64le); + m_prptr = [this] (offs_t address) -> const void * { return m_cache64le.read_ptr(address); }; } } else @@ -417,14 +417,14 @@ void mips3_device::device_start() if (m_data_bits == 32) { m_program->cache(m_cache32be); - m_pr32 = [this](offs_t address) -> u32 { return m_cache32be.read_dword(address); }; - m_prptr = [this](offs_t address) -> const void * { return m_cache32be.read_ptr(address); }; + m_pr32 = delegate<u32 (offs_t)>(&memory_access<32, 2, 0, ENDIANNESS_BIG>::cache::read_dword, &m_cache32be); + m_prptr = [this] (offs_t address) -> const void * { return m_cache32be.read_ptr(address); }; } else { m_program->cache(m_cache64be); - m_pr32 = [this](offs_t address) -> u32 { return m_cache64be.read_dword(address); }; - m_prptr = [this](offs_t address) -> const void * { return m_cache64be.read_ptr(address); }; + m_pr32 = delegate<u32 (offs_t)>(&memory_access<32, 3, 0, ENDIANNESS_BIG>::cache::read_dword, &m_cache64be); + m_prptr = [this] (offs_t address) -> const void * { return m_cache64be.read_ptr(address); }; } } |