[MLton-devel] New release of MLton: call-graphs

Stephen Weeks MLton@mlton.org
Mon, 31 Mar 2003 14:44:45 -0800


> By the way, one suggestion I made went unnoticed in the subsequent
> discussion, which was for dotted lines to represent indirect calls.
> 
> On Thu, 20 Mar 2003, Joe Hurd wrote:
> 
> > In the situation with functions A -> B -> C, why would anyone ever
> > want to remove B with all of its edges? I think my ideal would be
> > for -graph '(not B)' to remove B but add a DOTTED line from A to C to
> > represent an indirect call.
> 
> Is there a good reason to prefer removing nodes and their edges?

Not that I can think of.  Your suggestion sounds like an excellent
idea.  To spell it out a little more carefully, we will remove
mlprof's -ignore switch, and change the behavior of -graph to the
following.

-graph <exp> evaluates <exp> to a set of nodes S as before.  The nodes
not in S are treated like they were -ignored: i.e., there is a dotted
edge from A to B iff A and B are in S and there is a path from A to B
of length >1 going only through nodes not in S.

One question is what to do in the case when there is both a path
through nodes that remain and a path through nodes that were removed.
Consider a graph with the following three edges.

A -> B -> C
A -> C

Suppose we call -graph '(not B)'.  Then, should there be a solid edge
from A to C, a dotted edge from A to C, or both?  According to the
definition I gave above, the answer is both.


-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb: 
Dedicated Hosting for just $79/mo with 500 GB of bandwidth! 
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel