diff options
author | Mathias Preiner <mathias.preiner@gmail.com> | 2020-02-19 16:59:58 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-19 16:59:58 -0800 |
commit | 508ecb3007a2b6aa8b76b28dc8282247b5dba957 (patch) | |
tree | b80cab956e6b40b4cd783ceb78393006c09782b5 /src/expr/node_manager.cpp | |
parent | 9705504973f6f85c6be4944c615984df7b614f67 (diff) |
resource manager: Add statistic for every resource. (#3772)
This commit adds statistics for all resource steps. A resource statistic is incremented by 1 if the resource is spent (via `spendResource`).
Fixes #3751.
Diffstat (limited to 'src/expr/node_manager.cpp')
-rw-r--r-- | src/expr/node_manager.cpp | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/src/expr/node_manager.cpp b/src/expr/node_manager.cpp index 39be675ec..367162420 100644 --- a/src/expr/node_manager.cpp +++ b/src/expr/node_manager.cpp @@ -91,34 +91,34 @@ namespace attr { // attribute that stores the canonical bound variable list for function types typedef expr::Attribute<attr::LambdaBoundVarListTag, Node> LambdaBoundVarListAttr; -NodeManager::NodeManager(ExprManager* exprManager) : - d_options(new Options()), - d_statisticsRegistry(new StatisticsRegistry()), - d_resourceManager(new ResourceManager()), - d_registrations(new ListenerRegistrationList()), - next_id(0), - d_attrManager(new expr::attr::AttributeManager()), - d_exprManager(exprManager), - d_nodeUnderDeletion(NULL), - d_inReclaimZombies(false), - d_abstractValueCount(0), - d_skolemCounter(0) { +NodeManager::NodeManager(ExprManager* exprManager) + : d_options(new Options()), + d_statisticsRegistry(new StatisticsRegistry()), + d_resourceManager(new ResourceManager(*d_statisticsRegistry, *d_options)), + d_registrations(new ListenerRegistrationList()), + next_id(0), + d_attrManager(new expr::attr::AttributeManager()), + d_exprManager(exprManager), + d_nodeUnderDeletion(NULL), + d_inReclaimZombies(false), + d_abstractValueCount(0), + d_skolemCounter(0) +{ init(); } -NodeManager::NodeManager(ExprManager* exprManager, - const Options& options) : - d_options(new Options()), - d_statisticsRegistry(new StatisticsRegistry()), - d_resourceManager(new ResourceManager()), - d_registrations(new ListenerRegistrationList()), - next_id(0), - d_attrManager(new expr::attr::AttributeManager()), - d_exprManager(exprManager), - d_nodeUnderDeletion(NULL), - d_inReclaimZombies(false), - d_abstractValueCount(0), - d_skolemCounter(0) +NodeManager::NodeManager(ExprManager* exprManager, const Options& options) + : d_options(new Options()), + d_statisticsRegistry(new StatisticsRegistry()), + d_resourceManager(new ResourceManager(*d_statisticsRegistry, *d_options)), + d_registrations(new ListenerRegistrationList()), + next_id(0), + d_attrManager(new expr::attr::AttributeManager()), + d_exprManager(exprManager), + d_nodeUnderDeletion(NULL), + d_inReclaimZombies(false), + d_abstractValueCount(0), + d_skolemCounter(0) { d_options->copyValues(options); init(); @@ -228,12 +228,12 @@ NodeManager::~NodeManager() { } // defensive coding, in case destruction-order issues pop up (they often do) + delete d_resourceManager; + d_resourceManager = NULL; delete d_statisticsRegistry; d_statisticsRegistry = NULL; delete d_registrations; d_registrations = NULL; - delete d_resourceManager; - d_resourceManager = NULL; delete d_attrManager; d_attrManager = NULL; delete d_options; |