AW: [Soot-list] Cut down the memory required by Soot + compiling soot

Eric Bodden eric.bodden at mail.mcgill.ca
Thu Mar 16 07:03:15 EST 2006


Hello.

IIRC m.releaseActiveBody() releases the boy from m. If you then make sure that you have no reference any more to b yourself, you should be fine. 

About the operator: This is polyglot.ast.Assign.Operator. So it should be in the polyglot distribution.

Eric


--
Eric Bodden
Sable Research Group
McGill University, Montréal, Canada


-----Ursprüngliche Nachricht-----
Von: soot-list-bounces at sable.mcgill.ca [mailto:soot-list-bounces at sable.mcgill.ca] Im Auftrag von Kin Keung Ma
Gesendet: Freitag, 10. März 2006 05:32
An: soot-list at sable.mcgill.ca
Betreff: [Soot-list] Cut down the memory required by Soot + compiling soot

Hi,

Recently I use Soot to analyze lots of classes. It uses a lot of memory.
My way of doing this is as follows:

for each class c in Scene
    for each method m in c
        JimpleBody b = m.retrieveActiveBody();
        work with b

I assume Soot uses a lot of memory on jimplifying m. My thought is,
once i finished working with each b, I can throw it away, therefore I
hope I can freed the memory taken by b everytime I finished using it.
Is that possible?

Another thing. I tried to compile svn of Soot and failed. It complains:

    [javac] .../soot-dev/src/soot/javaToJimple/jj/ast/JjFieldAssign_c.java:30:
error: Type `Operator' not found in the declaration of the argument
`op' of method `<init>'.
    [javac]        public JjFieldAssign_c(Position pos, Field left,
Operator op, Expr right){

The only place I saw Operator is polyglot.lex.Operator, which is not
imported in JjFieldAssign_c.java. If I add the import it will complain
that the super method of JjFieldAssign_c doesn't really take
polyglot.lex.Operator. Any idea?

Kin
_______________________________________________
Soot-list mailing list
Soot-list at sable.mcgill.ca
http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list



More information about the Soot-list mailing list