Following is a general list of items to do for Jiapi. o Annotations - alt.jiapi.reflect package has an experimental annotation support o HotSpot stuff - Exception table copying - HotSpotContext - pre-process advice list: replace every 'return' statement with a branch to a 'nop' instruction. This 'nop' should be added to the end of advice() method. o alt.jiapi.reflect stuff - JiapiMethod.updateBranchOffsets() has a check, that checks first if target is found. If not, offset is left as is. We should add more checking when copying instructions from source list to target. And fix this missing target syndrome as soon as possible. o Support for ClassFile format version 50.0 So far, I have not seen any problems with version 49.0 or 50.0 class files. Annotations are implemented as attributes. Don't know if there is something else to take into account. StackMapTable comes with 50.0, implemented as attributes. o MethodInterceptor Add similar thing as with FieldInterceptor: AccessAdvisor. It resulted in 100 times faster execution compared to reflection calls. Jiapi events are very close to this at the moment. execution times do not differ very much... o JiapiMethod - LocalVariables - ExceptionTable - Keeping in sync after instrumentation JiapiMethod.getExceptionTable(); InstructionList.getExceptionTable(); || getExceptionHandlers(); InstructionList.addExceptionHandler(Instruction start,end,handler, String name); o alt.jiapi.file package - should the package be renamed to alt.jiapi.clazz or something like that??? - ConstantPool.xxxRefInfo share almost identical code. o Other things - Make reflection caching a configuration option in InvocationInterceptor - mcr70 -