[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Verify classfile
Thanks for the help. Even though not thinking about the stack simplifies many
transformations, I agree with James that it is possible to generate
non-verifying bytecode using SOOT. For example, one pathological example would
be having the following code fragment
tmp1 = new Java.Util.Vector;
virtualinvoke tmp1.<java.util.Vector: void addElement(java.lang.Object)>($foo);
in which case the verifier would complain - trying to using a vector instance
without initializing it.
-amit
> Patrick LAM wrote:
> > Soot doesn't really provide any tools to check that the output of your
> > transformation's going to have any desirable properties. At least,
> > being 3-address code, you can't generate stack height imbalances and
> > non-verifying bytecode, if that's any consolation at all.
>
> Not sure this is true - I've generated non-verifying bytecode using SOOT.
>
> - James
>