currently any annotations for a method defined in a class are stored in the array that hangs off the instanceKlass. This works fine normally since these parallel arrays are one to one. However if class evolution allows the replacement of a methodOop then we have to handle this correctly. There can only be one annotation but there are potentially 2 methodOops live. I suspect this isn't that likely to show up in practice but I think someone who understands the interaction of this needs to think about what needs to be done. It may be suffient to simply update the annotation when you update the method table. I talked somewhat with Ken about this and promised to file a bug.