[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Soot typing failure
Hmmm.
I was wrong I think. See below.
Etienne Gagnon wrote:
The constraint checker "Is Right(TM)". Your problem is probably that
typing is applied after some optimizations. IT SHOULD NOT. I DISAGREE with
the proposed patch that Ondrej happily applied.
I am not so sure anymore. After checking my assumptions in
ConstrtaintCollector, I have to admit that the patch makes sense.
> SOOT PROBLEM #1
> ===============
>
> PackManager.v().getTransform( "jb.a" ).apply( b );
> PackManager.v().getTransform( "jb.ule" ).apply( b );
>
> is applied BEFORE typing in soot-2.0.1/soot/src/soot/JimpleBodyPack.java
Hmmm. After reading the manual about these, they seem not to be destructing
valuable info for typing. We can leave them as-is. But, remember that typing
depends on having enough local variables to be able to assign different types
to different locals. Merging locals too early can result in type inference
failures.
> SOOT PROBLEM #2
> ===============
>
> In the code:
>...
> of soot-2.0.1/soot/src/soot/JimpleBodyPack.java, verification of typing
> failure is done EVEN WHEN typing is disabled! (e.g. -p jb.tr
> enabled:false )
This still looks as a problem to me.
Etienne
--
Etienne M. Gagnon, Ph.D. http://www.info.uqam.ca/~egagnon/
SableVM: http://www.sablevm.org/
SableCC: http://www.sablecc.org/