[Soot-list] Is there any way to get Soot to save the jimplified
representations of the classes?
Rhodes H. F. Brown
rhodesb at cs.uvic.ca
Tue Mar 28 20:03:51 EST 2006
Jimple output:
soot -f J <class name>
Jimple input:
soot -src-prec J ... <class name>
>> Could you tell me why it doesn't save time?
Well, even if the input is in Jimple, you still need to resolve all
the references to other classes (which may not be in Jimple, eg. the
standard library classes).
>> I mean, what's the time mainly spent in when calling
>> retrieveActiveBody()?
Someone correct me if I'm wrong, but I believe all of the transforms
in the 'jb' pack need to be run even if you load from .jimple
>> And, is it possible to cache the JimpleBody through, say,
>> ObjectOutputStream, that I can load it from file in the future?
I think you might run in to trouble attempting this. Most Soot
constructs seem to implement Serializable, however a cursory
inspection reveals that some probably aren't really serializable. For
example, soot.Type has a member arrayType (of type soot.ArrayType)
which has a member baseType. Clearly this creates a circular
reference pattern that cannot be deserialized without special
treatment (and there is none).
-Rhodes
More information about the Soot-list
mailing list