summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/nl_base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/nl_base.cpp')
-rw-r--r--src/lib/netlist/nl_base.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp
index e26aef72233..6905629ddd5 100644
--- a/src/lib/netlist/nl_base.cpp
+++ b/src/lib/netlist/nl_base.cpp
@@ -147,7 +147,7 @@ const logic_family_desc_t *family_CD4XXX()
// ----------------------------------------------------------------------------------------
detail::queue_t::queue_t(netlist_t &nl)
- : timed_queue<net_t *, netlist_time>(512)
+ : timed_queue<pqentry_t<net_t *, netlist_time>>(512)
, netlist_ref(nl)
, plib::state_manager_t::callback_t()
, m_qsize(0)
@@ -537,13 +537,15 @@ void netlist_t::process_queue(const netlist_time &delta) NL_NOEXCEPT
if (m_mainclock == nullptr)
{
- detail::queue_t::entry_t e(m_queue.pop());
+ detail::queue_t::entry_t e(m_queue.top());
+ m_queue.pop();
m_time = e.m_exec_time;
while (e.m_object != nullptr)
{
e.m_object->update_devs();
m_perf_out_processed.inc();
- e = m_queue.pop();
+ e = m_queue.top();
+ m_queue.pop();
m_time = e.m_exec_time;
}
}
@@ -565,7 +567,8 @@ void netlist_t::process_queue(const netlist_time &delta) NL_NOEXCEPT
mc_time += inc;
}
- e = m_queue.pop();
+ e = m_queue.top();
+ m_queue.pop();
m_time = e.m_exec_time;
if (e.m_object != nullptr)
{
@@ -780,9 +783,9 @@ detail::net_t::net_t(netlist_t &nl, const pstring &aname, core_terminal_t *mr)
, netlist_ref(nl)
, m_new_Q(*this, "m_new_Q", 0)
, m_cur_Q (*this, "m_cur_Q", 0)
+ , m_in_queue(*this, "m_in_queue", QS_DELIVERED)
, m_time(*this, "m_time", netlist_time::zero())
, m_active(*this, "m_active", 0)
- , m_in_queue(*this, "m_in_queue", QS_DELIVERED)
, m_cur_Analog(*this, "m_cur_Analog", 0.0)
, m_railterminal(mr)
{