diff options
author | couriersud <couriersud@gmx.org> | 2019-11-13 07:41:20 +0100 |
---|---|---|
committer | couriersud <couriersud@gmx.org> | 2019-11-13 07:41:20 +0100 |
commit | f4cf0cc86a06f07f4df18fbf521abf3126721d24 (patch) | |
tree | 49d760d161a5a3c981f7ab02c39e6101a535b92c /src/lib/netlist/nl_setup.cpp | |
parent | 6a57025550e2898954fe10b5796ad55513a21049 (diff) |
netlist: code maintenance. (nw)
- move memory pool to netlist_state_t removing one static allocation.
- add memory allocation stats to verbose output
- nl_assert no longer throws, first step to remove NL_EXCEPT macro.
Diffstat (limited to 'src/lib/netlist/nl_setup.cpp')
-rw-r--r-- | src/lib/netlist/nl_setup.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp index 8943fb41dab..e9b0ef6c34f 100644 --- a/src/lib/netlist/nl_setup.cpp +++ b/src/lib/netlist/nl_setup.cpp @@ -765,7 +765,7 @@ void setup_t::connect_terminals(detail::core_terminal_t &t1, detail::core_termin { log().debug("adding analog net ...\n"); // FIXME: Nets should have a unique name - auto anet = pool().make_owned<analog_net_t>(m_nlstate,"net." + t1.name()); + auto anet = nlstate().pool().make_owned<analog_net_t>(m_nlstate,"net." + t1.name()); auto anetp = anet.get(); m_nlstate.register_net(std::move(anet)); t1.set_net(anetp); @@ -961,7 +961,7 @@ void setup_t::register_dynamic_log_devices() for (const pstring &ll : loglist) { pstring name = "log_" + ll; - auto nc = factory().factory_by_name("LOG")->Create(m_nlstate, name); + auto nc = factory().factory_by_name("LOG")->Create(m_nlstate.pool(), m_nlstate, name); register_link(name + ".I", ll); log().debug(" dynamic link {1}: <{2}>\n",ll, name); m_nlstate.register_device(nc->name(), std::move(nc)); @@ -1118,11 +1118,11 @@ public: unique_pool_ptr<devices::nld_base_d_to_a_proxy> logic_family_std_proxy_t::create_d_a_proxy(netlist_state_t &anetlist, const pstring &name, logic_output_t *proxied) const { - return pool().make_unique<devices::nld_d_to_a_proxy>(anetlist, name, proxied); + return anetlist.make_object<devices::nld_d_to_a_proxy>(anetlist, name, proxied); } unique_pool_ptr<devices::nld_base_a_to_d_proxy> logic_family_std_proxy_t::create_a_d_proxy(netlist_state_t &anetlist, const pstring &name, logic_input_t *proxied) const { - return pool().make_unique<devices::nld_a_to_d_proxy>(anetlist, name, proxied); + return anetlist.make_object<devices::nld_a_to_d_proxy>(anetlist, name, proxied); } @@ -1205,7 +1205,7 @@ void setup_t::prepare_to_run() if ( factory().is_class<devices::NETLIB_NAME(solver)>(e.second) || factory().is_class<devices::NETLIB_NAME(netlistparams)>(e.second)) { - m_nlstate.register_device(e.first, e.second->Create(m_nlstate, e.first)); + m_nlstate.register_device(e.first, e.second->Create(nlstate().pool(), m_nlstate, e.first)); } } @@ -1227,7 +1227,7 @@ void setup_t::prepare_to_run() if ( !factory().is_class<devices::NETLIB_NAME(solver)>(e.second) && !factory().is_class<devices::NETLIB_NAME(netlistparams)>(e.second)) { - auto dev = e.second->Create(m_nlstate, e.first); + auto dev = e.second->Create(m_nlstate.pool(), m_nlstate, e.first); m_nlstate.register_device(dev->name(), std::move(dev)); } } |