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>
Mon, 4 Dec 2023 06:32:30 +0000 (22:32 -0800)
commit320abb5e78a1e9ae7b8052308bb4dfd6498ae562
tree0b45d1d7c5cce13013bf8a2f43bf571d3237768e
parent531ba4a8b324e6758dc4eb83ba5df760ff77fa12
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