Object around(int i): execution(* Print.ech*(int)) && args(i) && if (Profiler.enabled(thisJoinPointStaticPart.getSignature().getDeclaringTypeName())) {
...
}
But the proceeding of the joinpoint will have to occur in the advice body rather than in the Profiler.profile code.
To answer the question. 311749 has not been implemented. If it had been then the makeJP call would be after the call to the condition check (pc()), which it isn't right now:
8: invokestatic #32; //Method org/aspectj/runtime/internal/Conversions.intObject:(I)Ljava/lang/Object;
11: invokestatic #38; //Method org/aspectj/runtime/reflect/Factory.makeJP:(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
14: astore 4
16: iload_3
17: getstatic #26; //Field ajc$tjp_0:Lorg/aspectj/lang/JoinPoint$StaticPart;
20: invokestatic #76; //Method Azpect.pc:(ILorg/aspectj/lang/JoinPoint$StaticPart;)Z
Code style doesn't need the join point to be passed in for proceeding, so the cost of building it is completely avoided.
cheers,
Andy