Sophie

Sophie

distrib > Mageia > 4 > i586 > by-pkgid > e1d07a60ca8f94b256cdc4fcd2e6cf3a > files > 8

jiapi-0.4.0-3.mga4.noarch.rpm

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 -