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>
Wed, 13 Dec 2023 00:59:12 +0000 (16:59 -0800)
commitfb46d9cdc3e06f09eb77492f025f53c2890f1455
tree9c0682811c4cf6d0ebdc5d2289206357d1d4b21e
parent88c6b3cc94178a4dd77d1f56d8ed51b4a15eb668
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