summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/driver.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2018-01-18 18:56:01 +1100
committer Vas Crabb <vas@vastheman.com>2018-01-18 18:56:01 +1100
commita0dfee78d6c06440c0d702b63eb6f3aa09e5329e (patch)
tree9c3ee096e146e4872c820adf4393168aafd8a1c1 /src/emu/driver.cpp
parentd853daeae3913932c87590f871a9825bffc59831 (diff)
std::function and delegate both require runtime relocations, slowing down startup - just use function pointers; also, most downcast, and get rid of a circular dependency between gamedrv.h and mconfig.h (nw)
Diffstat (limited to 'src/emu/driver.cpp')
-rw-r--r--src/emu/driver.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/emu/driver.cpp b/src/emu/driver.cpp
index 49be813c8cb..37c63d113fb 100644
--- a/src/emu/driver.cpp
+++ b/src/emu/driver.cpp
@@ -173,8 +173,7 @@ const tiny_rom_entry *driver_device::device_rom_region() const
void driver_device::device_add_mconfig(machine_config &config)
{
assert(m_system);
- machine_config_delegate creator(m_system->machine_creator, *this);
- creator(config);
+ m_system->machine_creator(config, *this);
}
@@ -202,7 +201,7 @@ void driver_device::device_start()
throw device_missing_dependencies();
// call the game-specific init
- m_system->driver_init(machine());
+ m_system->driver_init(*this);
// finish image devices init process
machine().image().postdevice_init();