|
From: <ba...@us...> - 2009-01-04 12:42:14
|
Revision: 149
http://scstudio.svn.sourceforge.net/scstudio/?rev=149&view=rev
Author: babicaj
Date: 2009-01-04 12:42:09 +0000 (Sun, 04 Jan 2009)
Log Message:
-----------
Few memory leaks removed
Modified Paths:
--------------
trunk/src/check/liveness/deadlock_checker.cpp
trunk/src/check/liveness/deadlock_checker.h
trunk/src/check/pseudocode/visual_closure_initiator.cpp
trunk/src/check/race/race_checker.cpp
trunk/src/check/race/race_checker.h
trunk/src/data/dfsb_hmsc_traverser.cpp
trunk/src/data/dfsb_hmsc_traverser.h
Modified: trunk/src/check/liveness/deadlock_checker.cpp
===================================================================
--- trunk/src/check/liveness/deadlock_checker.cpp 2009-01-03 16:36:24 UTC (rev 148)
+++ trunk/src/check/liveness/deadlock_checker.cpp 2009-01-04 12:42:09 UTC (rev 149)
@@ -162,7 +162,7 @@
//this will be used do show eventual counterexample
HMscPtr p;
DeadlockListener listener;
- DFSHMscTraverser traverser;
+ DFSBMscGraphTraverser traverser;
traverser.add_white_node_found_listener(&listener);
traverser.add_gray_node_found_listener(&listener);
traverser.add_node_finished_listener(&listener);
Modified: trunk/src/check/liveness/deadlock_checker.h
===================================================================
--- trunk/src/check/liveness/deadlock_checker.h 2009-01-03 16:36:24 UTC (rev 148)
+++ trunk/src/check/liveness/deadlock_checker.h 2009-01-04 12:42:09 UTC (rev 149)
@@ -22,7 +22,7 @@
#include "data/checker.h"
#include "data/msc.h"
-#include "data/dfs_hmsc_traverser.h"
+#include "data/dfs_bmsc_graph_traverser.h"
#include "data/dfsb_hmsc_traverser.h"
#include "check/liveness/export.h"
Modified: trunk/src/check/pseudocode/visual_closure_initiator.cpp
===================================================================
--- trunk/src/check/pseudocode/visual_closure_initiator.cpp 2009-01-03 16:36:24 UTC (rev 148)
+++ trunk/src/check/pseudocode/visual_closure_initiator.cpp 2009-01-04 12:42:09 UTC (rev 149)
@@ -68,7 +68,7 @@
EventPList::iterator e;
for(e=m_modified_events.begin();e!=m_modified_events.end();e++)
{
- (*e)->remove_attribute<size_t>(m_visual_closure_attribute);
+ (*e)->remove_attribute<size_t>(m_topology_index_attribute);
(*e)->remove_attribute<BoolVector>(m_visual_closure_attribute);
}
m_modified_events.erase(m_modified_events.begin(),m_modified_events.end());
Modified: trunk/src/check/race/race_checker.cpp
===================================================================
--- trunk/src/check/race/race_checker.cpp 2009-01-03 16:36:24 UTC (rev 148)
+++ trunk/src/check/race/race_checker.cpp 2009-01-04 12:42:09 UTC (rev 149)
@@ -45,8 +45,14 @@
ExtremeEvents& MinimalEventsInitiator::get_events(BMsc* b)
{
ExtremeEvents extreme(m_instance_marker->get_count());
- m_modified_bmscs.push_back(b);
- return b->get_attribute<ExtremeEvents>(m_events_attribute,extreme);
+
+ bool just_set;
+ ExtremeEvents& e = b->get_attribute<ExtremeEvents>(m_events_attribute,extreme,just_set);
+ if(just_set)
+ {
+ m_modified_bmscs.push_back(b);
+ }
+ return e;
}
void MinimalEventsInitiator::on_white_node_found(ReferenceNode* node)
@@ -119,8 +125,14 @@
ExtremeEvents& MaximalEventsInitiator::get_events_less(BMsc* b)
{
- static ExtremeEvents extreme(m_instance_marker->get_count());
- return b->get_attribute<ExtremeEvents>(m_events_less_attribute,extreme);
+ ExtremeEvents extreme(m_instance_marker->get_count());
+ bool just_set;
+ ExtremeEvents& e = b->get_attribute<ExtremeEvents>(m_events_less_attribute,extreme,just_set);
+ if(just_set)
+ {
+ m_modified_bmscs.push_back(b);
+ }
+ return e;
}
void MaximalEventsInitiator::on_white_node_found(ReferenceNode* node)
Modified: trunk/src/check/race/race_checker.h
===================================================================
--- trunk/src/check/race/race_checker.h 2009-01-03 16:36:24 UTC (rev 148)
+++ trunk/src/check/race/race_checker.h 2009-01-04 12:42:09 UTC (rev 149)
@@ -99,6 +99,7 @@
protected:
std::string m_events_less_attribute;
+
public:
Modified: trunk/src/data/dfsb_hmsc_traverser.cpp
===================================================================
--- trunk/src/data/dfsb_hmsc_traverser.cpp 2009-01-03 16:36:24 UTC (rev 148)
+++ trunk/src/data/dfsb_hmsc_traverser.cpp 2009-01-04 12:42:09 UTC (rev 149)
@@ -125,4 +125,21 @@
set_color(n,BLACK);
}
+Color& DFSBHMscTraverser::get_color(HMscNode* n)
+{
+ bool just_set;
+ Color& c = n->get_attribute<Color>(m_color_attribute,WHITE,just_set);
+ if(just_set)
+ {
+ m_colored_nodes.push_back(n);
+ }
+ return c;
+}
+
+void DFSBHMscTraverser::set_color(HMscNode* n, Color c)
+{
+ Color& col = get_color(n);
+ col = c;
+}
+
// $Id$
Modified: trunk/src/data/dfsb_hmsc_traverser.h
===================================================================
--- trunk/src/data/dfsb_hmsc_traverser.h 2009-01-03 16:36:24 UTC (rev 148)
+++ trunk/src/data/dfsb_hmsc_traverser.h 2009-01-04 12:42:09 UTC (rev 149)
@@ -106,20 +106,14 @@
/**
* Sets color attribute of e to c value .
*/
- void set_color(HMscNode* n, Color c)
- {
- n->set_attribute<Color>(m_color_attribute,c);
- }
+ void set_color(HMscNode* n, Color c);
/**
* Returns value of color attribute.
*
* If attribute isn't set it is set to default value WHITE.
*/
- Color get_color(HMscNode* n)
- {
- return n->get_attribute<Color>(m_color_attribute,WHITE);
- }
+ Color& get_color(HMscNode* n);
void white_node_found(HMscNode* n);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|