Re: [abc-users] Determine a basic block

From: Eric Bodden <eric.bodden_at_mail.mcgill.ca>
Date: Mon, 14 Apr 2008 17:10:45 -0400

This sounds like a classpath issue to me. Are you sure that the
abc-runtime.jar you are building your project with is the same that
you use at runtime?

Eric

On 14/04/2008, Amjad Nusayr <anusayr_at_cs.nmsu.edu> wrote:
> Will I guess that its hard to tell where the error is from
> java.lang.VerifyError...
> So I tried to make changes to my BbsFactory (Basic blocks Factory) in
> bbs.runtime.reflect.BbsFactory. and during compilation I got the following
> exception.
>
> Caused by:
> soot.AbstractSootMethodRef$ClassResolutionFailedException:
> Class bbs.runtime.reflect.BbsFactory doesn't have method
> makeSJP([java.lang.String, org.aspectj.lang.Signature, int, int, int]) :
> org.aspectj.lang.JoinPoint$StaticPart; failed to resolve in
> superclasses and interfacesLooking in bbs.runtime.reflect.BbsFactory which
> has methods.......(etc....).
>
> I dont have a makeSJP method in my factory. I dont know why should I need
> one? if I copy and past the makeSJP from the eaj example the code will
> compile without any problems but I will get the java.lang.VerifyError
> exception at runtime.
>
> I still dont have a comprehensive idea on how to extract the runtime info.
> I will very glad if I can get some pointers on this.
>
>
> Regards
> Amjad
>
>
> Eric Bodden wrote:
>
> > Hi Amjad.
> >
> > I think I cannot be of much help because I did not design nor
> > implement the code in question but I know that the following command
> > line option exists that sometimes manages to find ill-generated Jimple
> > code at compile time:
> >
> > -debug doValidate
> >
> > Eric
> >
> > On 10/04/2008, Amjad Nusayr <anusayr_at_cs.nmsu.edu> wrote:
> >
> >
> > > Hi
> > > I have created an extension that allows basic blocks to be shadowed,
> the
> > > extension works fine, as Eric said, I created a BlockShadowMatch to do
> the
> > > work. but it seems that I cant get any reflective information working. I
> > > have created - in my runtime source - a basic block factory class. and
> in my
> > > BlockShadowMatch.makeSJPInfo, I refer to my BlockSignatureImpl.
> > >
> > > When I try to access information of the new block joinpoint using
> > > thisJoinPoint, abc weaves without any problems, but when I try to run my
> > > program, I get the following error.
> > >
> > > --------------------------------
> > > Exception in thread "main" java.lang.VerifyError: (class: Hello,
> method:
> > > <init>
> > > signature: ()V) Expecting to find unitialized object on stack
> > > ------------------------------------
> > >
> > > Does anyone know what Im doing wrong?? the new joinpoint works fine
> > > elsewise!!
> > >
> > > Regards
> > > Amjad
> > >
> > >
> > >
> > >
> > >
> > > Eric Bodden wrote:
> > >
> > >
> > >
> > > > Hi.
> > > >
> > > > Right now, abc supports has two types for ShadowMatch: StmtShadowMatch
> > > > and BodyShadowMatch. You probably want to extend this to also provide
> > > > a BlockShadowMatch. Also, you have to create a new subclass of
> > > > ShadowType, e.g. BlockShadowType, and register it in:
> > > > AbcExtension.listShadowTypes().
> > > >
> > > > Basic blocks are easy to figure out from Jimple: Just create a new
> > > > soot.toolkits.graph.BlockGraph.
> > > >
> > > > Eric
> > > >
> > > > On 05/03/2008, Amjad Nusayr <anusayr_at_cs.nmsu.edu> wrote:
> > > >
> > > >
> > > >
> > > >
> > > > > Hi
> > > > > Im trying to write an extension where I want to shadow a basic
> block of
> > > > > code, jimple does not have any direct way of doing this, does any
> body
> > > > > have any idea how to achieve this?
> > > > >
> > > > >
> > > > >
> > > > > Amjad Nusayr
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> >
> >
> >
> >
>
>
>

-- 
Eric Bodden
Sable Research Group
McGill University, Montréal, Canada
Received on Mon Apr 14 2008 - 22:10:50 BST

This archive was generated by hypermail 2.2.0 : Tue Apr 15 2008 - 15:10:11 BST