[Scummvm-cvs-logs] SF.net SVN: scummvm:[41849] tools/branches/gsoc2009-decompiler/decompiler
kjdf at users.sourceforge.net
kjdf at users.sourceforge.net
Thu Jun 25 03:31:05 CEST 2009
Revision: 41849
http://scummvm.svn.sourceforge.net/scummvm/?rev=41849&view=rev
Author: kjdf
Date: 2009-06-25 01:31:04 +0000 (Thu, 25 Jun 2009)
Log Message:
-----------
decompiler: set entry point in derived graph
Modified Paths:
--------------
tools/branches/gsoc2009-decompiler/decompiler/graph.h
tools/branches/gsoc2009-decompiler/decompiler/test/data_graph.h
Modified: tools/branches/gsoc2009-decompiler/decompiler/graph.h
===================================================================
--- tools/branches/gsoc2009-decompiler/decompiler/graph.h 2009-06-25 01:30:12 UTC (rev 41848)
+++ tools/branches/gsoc2009-decompiler/decompiler/graph.h 2009-06-25 01:31:04 UTC (rev 41849)
@@ -143,13 +143,13 @@
void extendIntervals() {
Graph<Node*> d;
std::map<Node*, typename Graph<Node*>::Node*> trans;
- foreach (Node *u, _nodes)
- if (u->_interval == u)
- trans[u] = d.addNode(u->_interval);
foreach (Node *interval, intervals())
+ trans[interval] = d.addNode(interval);
+ foreach (Node *interval, intervals())
foreach (Node *u, interval->_in)
if (u->_interval != interval)
d.addEdge(trans[u->_interval], trans[interval]);
+ d.setEntry(trans[_entry]);
d.intervals();
foreach (typename Graph<Node*>::Node *du, d._nodes)
foreach (Node *v, _nodes)
Modified: tools/branches/gsoc2009-decompiler/decompiler/test/data_graph.h
===================================================================
--- tools/branches/gsoc2009-decompiler/decompiler/test/data_graph.h 2009-06-25 01:30:12 UTC (rev 41848)
+++ tools/branches/gsoc2009-decompiler/decompiler/test/data_graph.h 2009-06-25 01:31:04 UTC (rev 41849)
@@ -31,21 +31,22 @@
Graph<int> *makeGraph2() {
Graph<int> *g = new Graph<int>;
+ g->addNode(15);
+ g->addNode(14);
+ g->addNode(13);
+ g->addNode(12);
+ g->addNode(11);
+ g->addNode(10);
+ g->addNode(9);
+ g->addNode(8);
+ g->addNode(7);
+ g->addNode(6);
+ g->addNode(5);
+ g->addNode(4);
+ g->addNode(3);
+ g->addNode(2);
g->addNode(1);
- g->addNode(2);
- g->addNode(3);
- g->addNode(4);
- g->addNode(5);
- g->addNode(6);
- g->addNode(7);
- g->addNode(8);
- g->addNode(9);
- g->addNode(10);
- g->addNode(11);
- g->addNode(12);
- g->addNode(13);
- g->addNode(14);
- g->addNode(15);
+ g->setEntry(findNode(g, 1));
g->addEdge(findNode(g, 1), findNode(g, 2));
g->addEdge(findNode(g, 1), findNode(g, 5));
g->addEdge(findNode(g, 2), findNode(g, 3));
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