[Soot-list] sometimes cast sometimes no cast

André Schäfer andre.schaefer at uni-jena.de
Wed Apr 22 09:06:30 EDT 2020


Hello,

I have 2 functions in different Java classes which are almost identical in source code.

[cid:part1.27055567.B0C6A74C at uni-jena.de]

I have now compiled the two classes myself and created the control flow graph.
It is about the code snippet in which the GdxRuntimeException is thrown. In the upper code snippet the sequence of nodes is as follows:

cond($r3!=null)
assign($r4=new.com_badlogic_gdx_utils_GdxRuntimeException)
invoke($r4.com_badlogic_gdx_utils_GdxRuntimeException.init("InstanceBufferObjectrequiresadevicerunningwithGLES3.0compatibilty"))
throw($r4)

In the lower code snippet, the sequence of nodes is as follows:

cond($r3!=null)
assign(r8=new.com_badlogic_gdx_utils_GdxRuntimeException)
invoke(r8.com_badlogic_gdx_utils_GdxRuntimeException.init("InstanceBufferObjectrequiresadevicerunningwithGLES3.0compatibilty"))
assign(r9=(java_lang_Throwable).r8)
throw(r9)

Why is the cast (marked red) performed in the lower function but not in the upper function?
Is there a setting option within Soot for this?

With kind regards
André

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20200422/c1b26a23/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mphcadkhbddhifpe.png
Type: image/png
Size: 84561 bytes
Desc: mphcadkhbddhifpe.png
URL: <https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20200422/c1b26a23/attachment-0001.png>


More information about the Soot-list mailing list