summaryrefslogtreecommitdiffstats
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.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp
index 2baf96d73fc..d92b8e505c5 100644
--- a/src/lib/netlist/nl_base.cpp
+++ b/src/lib/netlist/nl_base.cpp
@@ -86,14 +86,14 @@ namespace netlist
// ----------------------------------------------------------------------------------------
netlist_t::netlist_t(netlist_state_t &state, const pstring &aname)
- : m_state(state)
- , m_solver(nullptr)
- , m_time(netlist_time_ext::zero())
- , m_mainclock(nullptr)
- , m_queue(config::MAX_QUEUE_SIZE::value,
- detail::queue_t::id_delegate(&netlist_state_t :: find_net_id, &state),
- detail::queue_t::obj_delegate(&netlist_state_t :: net_by_id, &state))
- , m_use_stats(false)
+ : m_state(state)
+ , m_solver(nullptr)
+ , m_time(netlist_time_ext::zero())
+ , m_mainclock(nullptr)
+ , m_use_stats(false)
+ , m_queue(config::MAX_QUEUE_SIZE::value,
+ detail::queue_t::id_delegate(&netlist_state_t :: find_net_id, &state),
+ detail::queue_t::obj_delegate(&netlist_state_t :: net_by_id, &state))
{
state.save(*this, static_cast<plib::state_manager_t::callback_t &>(m_queue), aname, "m_queue");
state.save(*this, m_time, aname, "m_time");
@@ -245,6 +245,7 @@ namespace netlist
ENTRY_EX(sizeof(base_device_t))
ENTRY_EX(sizeof(device_t))
+ ENTRY_EX(sizeof(logic_t))
ENTRY_EX(sizeof(logic_input_t))
ENTRY_EX(sizeof(logic_output_t))
ENTRY_EX(sizeof(param_model_t))
@@ -252,6 +253,7 @@ namespace netlist
ENTRY_EX(sizeof(state_var<int>))
ENTRY_EX(sizeof(pstring))
ENTRY_EX(sizeof(core_device_t::stats_t))
+ ENTRY_EX(sizeof(std::vector<detail::core_terminal_t *>))
ENTRY_EX(sizeof(plib::plog_level))
ENTRY_EX(sizeof(nldelegate))
@@ -337,7 +339,7 @@ namespace netlist
for (auto &n : m_nets)
{
n->update_inputs(); // only used if USE_COPY_INSTEAD_OF_REFERENCE == 1
- for (auto & term : n->core_terms())
+ for (auto & term : core_terms(*n))
{
if (!plib::container::contains(t, &term->delegate()))
{
@@ -431,7 +433,6 @@ namespace netlist
log().verbose("Queue Pushes {1:15}", si.m_queue.m_prof_call());
log().verbose("Queue Moves {1:15}", si.m_queue.m_prof_sortmove());
log().verbose("Queue Removes {1:15}", si.m_queue.m_prof_remove());
- log().verbose("Queue Retimes {1:15}", si.m_queue.m_prof_retime());
log().verbose("");
log().verbose("Take the next lines with a grain of salt. They depend on the measurement implementation.");
@@ -618,7 +619,7 @@ namespace netlist
// rebuild m_list
m_list_active.clear();
- for (auto & term : core_terms())
+ for (auto & term : exec().nlstate().core_terms(*this))
if (term->terminal_state() != logic_t::STATE_INP_PASSIVE)
{
m_list_active.push_back(term);
@@ -643,7 +644,7 @@ namespace netlist
// rebuild m_list and reset terminals to active or analog out state
m_list_active.clear();
- for (core_terminal_t *ct : core_terms())
+ for (core_terminal_t *ct : exec().nlstate().core_terms(*this))
{
ct->reset();
if (ct->terminal_state() != logic_t::STATE_INP_PASSIVE)