[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Storing an invokeGraph
Much of the time that appears to be taken to construct the InvokeGraph
is probably actually being used to Jimplify all the methods in the
graph. So, one would have to store not only the graph, but all the
Jimple representations as well. At one point, Soot had undocumented
code for serializing some of the structures containing the Jimple, so
it could be cached during runs of Soot. However, it turned out to not
be much faster to de-serialize this cached data than to Jimplify things
from scratch. Consequently, nobody used this feature, and it was never
fully debugged. Eventually it was taken out.
I agree that having a way to save the current state of Soot and restart
at that point would be useful, but I think it would be a lot of work to
implement. In our development version, we have now removed most of the
global variables and grouped the remaining ones together, so that should
help if someone decided to implement such a thing. Anyway, if someone is
interested in implementing full serialization for Soot, please let me
know.
Ondrej
On Thu, Mar 13, 2003 at 09:55:04AM -0500, Ankush Varma wrote:
> Hi,
>
> It takes quite a bit of time to generate an InvokeGraph, and even more to trim
> it using VTA, RTA etc.
>
> I often have to generate the same invokeGraph over and over again, and want to
> reduce this overhead. Is there a way to store an invokeGraph to disk, so that it
> can just be loaded instead of recomputed each time? This would lead a huge
> performance improvement for many applications.
>
> Ankush
>
>
> "No trees were killed in the creation of this email :
> however, a vast number of electrons were incredibly inconvenienced."
>
> -------------------------------------------------
> Ankush Varma
> Ph.D. Student / Graduate Research Assistant
> DSP-CAD Research Group
> Department of Electrical and Computer Engineering
> University of Maryland, College Park.
>
> email:
> ankush@eng.umd.edu
> not_ankush@yahoo.com
>
> Home: 301-439-0438 Office: 301-405-3089
> --------------------------------------------------
>