Re: [abc-users] Determine a basic block

From: Eric Bodden <eric.bodden_at_mail.mcgill.ca>
Date: Wed, 16 Apr 2008 16:32:12 -0400

Hmmm, looking at this code...

   public void <init>()
   {
       Hello this;
       org.aspectj.lang.JoinPoint thisJoinPoint$101;
       org.aspectj.lang.JoinPoint$StaticPart pointcutlocal$102;
       java.lang.Object[] argsvals$109;
       java.lang.Integer pointcutlocal$111;
       World theAspect$World;

       pointcutlocal$102 = <Hello:
org.aspectj.lang.JoinPoint$StaticPart SJP7$BasicBlock$IinitI>;
       argsvals$109 = newarray (java.lang.Object)[1];
       pointcutlocal$111 = new java.lang.Integer;
       specialinvoke pointcutlocal$111.<java.lang.Integer: void <init>(int)>(0);
       argsvals$109[0] = pointcutlocal$111;
       thisJoinPoint$101 = staticinvoke
<org.aspectbench.runtime.reflect.Factory: org.aspectj.lang.JoinPoint
makeJP(org.aspectj.lang.JoinPoint$StaticPart,java.lang.Object,java.lang.Object,java.lang.Object[])>(pointcutlocal$102,
null, null, argsvals$109);
       theAspect$World = staticinvoke <World: World aspectOf()>();
       virtualinvoke theAspect$World.<World: void
before$0(int,org.aspectj.lang.JoinPoint)>(0, thisJoinPoint$101);
       this := @this: Hello;
       specialinvoke this.<java.lang.Object: void <init>()>();
       return;
   }

... could it be that the super-call has to precede everything else? I
know that this is the case on the source level but I am not sure about
the bytecode level. Are you using a preinitialization advice or
something like that?

Eric

-- 
Eric Bodden
Sable Research Group
McGill University, Montréal, Canada
Received on Wed Apr 16 2008 - 21:32:16 BST

This archive was generated by hypermail 2.2.0 : Wed Apr 16 2008 - 22:10:11 BST