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)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 13 Dec 2023 09:34:40 +0000 (09:34 +0000)
commit69479c44ed1665e1fa3bb00e40309a2d0f159d02
tree9c0682811c4cf6d0ebdc5d2289206357d1d4b21e
parent49da0707a02513a99f913dc94ba2c86e978dfc84
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