MemMMap/SimState: speed up SimState.get_mem() for large memories
authorJacob Lifshay <programmerjake@gmail.com>
Sun, 3 Dec 2023 07:57:21 +0000 (23:57 -0800)
committerJacob Lifshay <programmerjake@gmail.com>
Sun, 3 Dec 2023 09:31:49 +0000 (01:31 -0800)
commita1995d29d2a363e0d83cddc518776ec345074e0d
treebbf1028852544c82d811e3bc1e97ec9dbef7aa03
parent37f931cf59780fc52717030c96ab96ce0cac48e3
MemMMap/SimState: speed up SimState.get_mem() for large memories

make MemMMap use struct.Struct.unpack_from to read a whole page at
once, rather than doing a sequence of loads. This makes an ELF
binary statically-linked to glibc able to run many instructions per
second rather than one every tens of seconds or so.
src/openpower/decoder/isa/mem.py
src/openpower/decoder/isa/test_mem.py
src/openpower/test/state.py