mirror of
https://github.com/holub/mame
synced 2025-10-04 16:34:53 +03:00
Netlist: Some code simplification
This commit is contained in:
parent
3db357bff4
commit
1ed5e0df43
@ -653,48 +653,23 @@ ATTR_COLD void net_t::save_register()
|
||||
object_t::save_register();
|
||||
}
|
||||
|
||||
ATTR_HOT /* inline */ void core_terminal_t::update_dev(const UINT32 mask)
|
||||
{
|
||||
inc_stat(netdev().stat_call_count);
|
||||
if ((state() & mask) != 0)
|
||||
{
|
||||
device().update_dev();
|
||||
}
|
||||
}
|
||||
|
||||
ATTR_HOT /* inline */ void net_t::update_devs()
|
||||
{
|
||||
//assert(m_num_cons != 0);
|
||||
nl_assert(this->isRailNet());
|
||||
|
||||
const UINT32 masks[4] = { 1, 5, 3, 1 };
|
||||
const UINT32 mask = masks[ (m_cur_Q << 1) | m_new_Q ];
|
||||
const int masks[4] = { 1, 5, 3, 1 };
|
||||
const int mask = masks[ (m_cur_Q << 1) | m_new_Q ];
|
||||
|
||||
m_in_queue = 2; /* mark as taken ... */
|
||||
m_cur_Q = m_new_Q;
|
||||
#if 0
|
||||
core_terminal_t * t[256];
|
||||
core_terminal_t *p = m_list_active.first();
|
||||
int cnt = 0;
|
||||
while (p != NULL)
|
||||
|
||||
for (core_terminal_t *p = m_list_active.first(); p != NULL; p = p->next())
|
||||
{
|
||||
inc_stat(p->netdev().stat_call_count);
|
||||
if ((p->state() & mask) != 0)
|
||||
t[cnt++] = p;
|
||||
p = m_list_active.next(p);
|
||||
p->device().update_dev();
|
||||
}
|
||||
|
||||
for (int i=0; i<cnt; i++)
|
||||
t[i]->device().update_dev();
|
||||
|
||||
#else
|
||||
core_terminal_t *p = m_list_active.first();
|
||||
|
||||
while (p != NULL)
|
||||
{
|
||||
p->update_dev(mask);
|
||||
p = m_list_active.next(p);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
ATTR_COLD void net_t::reset()
|
||||
|
@ -495,16 +495,13 @@ namespace netlist
|
||||
ATTR_HOT net_t & net() { return *m_net;}
|
||||
|
||||
ATTR_HOT bool is_state(const state_e astate) const { return (m_state == astate); }
|
||||
ATTR_HOT state_e state() const { return m_state; }
|
||||
ATTR_HOT const state_e &state() const { return m_state; }
|
||||
ATTR_HOT void set_state(const state_e astate)
|
||||
{
|
||||
nl_assert(astate != STATE_NONEX);
|
||||
m_state = astate;
|
||||
}
|
||||
|
||||
|
||||
ATTR_HOT /* inline */ void update_dev(const UINT32 mask);
|
||||
|
||||
protected:
|
||||
virtual void save_register() override
|
||||
{
|
||||
|
@ -210,18 +210,14 @@ public:
|
||||
|
||||
ATTR_HOT void remove(const _ListClass &elem)
|
||||
{
|
||||
_ListClass **p = &m_head;
|
||||
while (*p != &elem)
|
||||
_ListClass **p;
|
||||
for (p = &m_head; *p != &elem; p = &((*p)->m_next))
|
||||
{
|
||||
//nl_assert(*p != NULL);
|
||||
p = &((*p)->m_next);
|
||||
}
|
||||
(*p) = elem.m_next;
|
||||
}
|
||||
|
||||
|
||||
ATTR_HOT static _ListClass *next(const _ListClass &elem) { return elem.m_next; }
|
||||
ATTR_HOT static _ListClass *next(const _ListClass *elem) { return elem->m_next; }
|
||||
ATTR_HOT _ListClass *first() const { return m_head; }
|
||||
ATTR_HOT void clear() { m_head = NULL; }
|
||||
ATTR_HOT bool is_empty() const { return (m_head == NULL); }
|
||||
|
Loading…
Reference in New Issue
Block a user