summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/aic6250.h
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2022-04-03 03:05:53 +1000
committer Vas Crabb <vas@vastheman.com>2022-04-03 03:07:28 +1000
commit530c5abb5da585ac71f9c643c9d6a2171280fe67 (patch)
tree978357b74d3506db174181e74bb3f4d81c421f64 /src/devices/machine/aic6250.h
parentc4f9ff9790382c1c5b99a2ffbb2a14e04d4c7cea (diff)
Revert initialisation of device members in headers.
This is problematic in several ways: * Initialising things at construction that aren't needed until after start slows down -romident, -validate, -listxml, etc. Slot cards can be a particular drain on -listxml and -validate as they're instantiated for every compatible slot. It's more pronounced for array members, too. * Splitting member initialisation between declaration in headers and constructors in source files means you have to look at two places to check for the initial value, and you always need to check the constructor even if an initialiser is present in the header because the constructor initaliser list takes precedence. (This isn't as much of an issue for driver classes because the constructor is most often inlined at declaration, so it isn't far from the member declarations.) * Initialisers in headers for frequently-used devices increases the frequency of recompiling dependent devices/drivers as they're exposed to any changes in initialisers. * Initialisers in frequently-used headers increase build times because there's more for the compiler to parse/cache. (This affects makedep.py as well for single-driver builds, but that's a single pass.) It's not a lot individually, but it adds up given the size of MAME, which keeps increasing. We've already had one contributor banned from GitHub actions for resource usage, we don't want to waste compiler time unnecessarily.
Diffstat (limited to 'src/devices/machine/aic6250.h')
-rw-r--r--src/devices/machine/aic6250.h48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/devices/machine/aic6250.h b/src/devices/machine/aic6250.h
index e758745322b..048aa6de0c8 100644
--- a/src/devices/machine/aic6250.h
+++ b/src/devices/machine/aic6250.h
@@ -247,34 +247,34 @@ private:
};
// internal state
- emu_timer *m_state_timer = nullptr;
- state_t m_state{};
- bool m_int_asserted = false;
+ emu_timer *m_state_timer;
+ state_t m_state;
+ bool m_int_asserted;
- u32 m_scsi_ctrl_state = 0;
+ u32 m_scsi_ctrl_state;
- u8 m_address_reg = 0;
+ u8 m_address_reg;
// registers
- u32 m_dma_count = 0;
- bool m_offset_count_zero = false;
- u8 m_rev_cntrl = 0;
- u8 m_status_reg_0 = 0;
- u8 m_status_reg_1 = 0;
- u8 m_scsi_signal_reg = 0;
- u8 m_scsi_id_data = 0;
- u8 m_source_dest_id = 0;
- u8 m_memory_data = 0;
- u8 m_port_a_latch = 0;
- u8 m_port_b_latch = 0;
- u8 m_scsi_latch_data = 0;
-
- u8 m_int_msk_reg_0 = 0;
- u8 m_offset_cntrl = 0;
- u8 m_dma_cntrl = 0;
- u8 m_int_msk_reg_1 = 0;
- u8 m_control_reg_0 = 0;
- u8 m_control_reg_1 = 0;
+ u32 m_dma_count;
+ bool m_offset_count_zero;
+ u8 m_rev_cntrl;
+ u8 m_status_reg_0;
+ u8 m_status_reg_1;
+ u8 m_scsi_signal_reg;
+ u8 m_scsi_id_data;
+ u8 m_source_dest_id;
+ u8 m_memory_data;
+ u8 m_port_a_latch;
+ u8 m_port_b_latch;
+ u8 m_scsi_latch_data;
+
+ u8 m_int_msk_reg_0;
+ u8 m_offset_cntrl;
+ u8 m_dma_cntrl;
+ u8 m_int_msk_reg_1;
+ u8 m_control_reg_0;
+ u8 m_control_reg_1;
util::fifo <u8, 8> m_fifo;
};