[Scummvm-cvs-logs] SF.net SVN: scummvm:[50700] tools/branches/gsoc2010-decompiler/decompiler/ doc/cfg.tex

pidgeot at users.sourceforge.net pidgeot at users.sourceforge.net
Mon Jul 5 20:48:58 CEST 2010


Revision: 50700
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50700&view=rev
Author:   pidgeot
Date:     2010-07-05 18:48:58 +0000 (Mon, 05 Jul 2010)

Log Message:
-----------
Smart pointer solution works - removed limitation from documentation

Modified Paths:
--------------
    tools/branches/gsoc2010-decompiler/decompiler/doc/cfg.tex

Modified: tools/branches/gsoc2010-decompiler/decompiler/doc/cfg.tex
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/doc/cfg.tex	2010-07-05 18:45:34 UTC (rev 50699)
+++ tools/branches/gsoc2010-decompiler/decompiler/doc/cfg.tex	2010-07-05 18:48:58 UTC (rev 50700)
@@ -66,13 +66,3 @@
 Currently, only unconditional jumps are supported for \verb+break+ and \verb+continue+; however, for code of the form \verb+if (...) break;+ or \verb+if (...) continue;+, it is an obvious optimization to use the \verb+break+/\verb+continue+ jump as the conditional jump for the \verb+if+ condition check. Since \verb+if+s are found last, it should be possible to simply check unmarked conditional jumps as well and see if they meet the other criteria for a \verb+break+/\verb+continue+, although there might be some false positives for an if that stretches to the end of the loop it is placed in.
 
 It is currently assumed that all conditional jumps in \verb+if+ condition checks go to a later place in the code. If optimized continue statements are used in a while (as described above), this will cause the analysis to be incorrect.
-
-Groups are currently stored as raw pointers. Due to implementation details over how Boost.Graph handles properties, these groups must be manually deallocated when the graph goes out of scope, or they will cause a memory leak. The groups can be reclaimed using the following piece of code:
-\begin{C++}
-\begin{lstlisting}
-VertexRange vr = boost::vertices(g);
-for (VertexIterator v = vr.first; v != vr.second; ++v)
-	delete boost::get(boost::vertex_name, g, *v);
-\end{lstlisting}
-\end{C++}
-Eventually, they should probably be changed to smart pointers, so the memory management is handled automatically.


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list