Previous 199869 Revisions Next

r176406 Friday 9th July, 2021 at 01:40:35 UTC by ajrhacker
emu/emumem*: Removed endianness template parameter from handler_entry_read, handler_entry_write and closely related classes. (#8255)

This appears to substantially reduce compilation time and binary size without too much impact on critical paths.  The only critical-path parts really touched by this are probably handler_entry_read_units<Width, AddrShift, Endian>::read and handler_entry_write_units<Width, AddrShift, Endian>::write, which no longer need a branch on descriptor endianness for the downcast.  The other instances of where the endianness now needs to be fetched from the address space are practically all in constructors, which probably don't get called too often except in drivers where the memory map is regularly rewritten (e.g. segas16b.cpp); even then the performance impact probably isn't huge.
[/branches/pc98_state/src/emu]emumem.cpp emumem.h emumem_aspace.cpp emumem_hea.h emumem_hedp.cpp emumem_hedp.h emumem_hedr.h emumem_hedr.ipp emumem_hedr0.cpp emumem_hedr1.cpp emumem_hedr2.cpp emumem_hedr3.cpp emumem_hedw.h emumem_hedw.ipp emumem_hedw0.cpp emumem_hedw1.cpp emumem_hedw2.cpp emumem_hedw3.cpp emumem_hem.cpp emumem_hem.h emumem_hep.cpp emumem_hep.h emumem_het.cpp emumem_het.h emumem_heu.cpp emumem_heu.h emumem_heun.cpp emumem_heun.h emumem_mud.cpp emumem_mud.h emumem_mview.cpp


Previous 199869 Revisions Next


© 1997-2024 The MAME Team