FieldInstruction fi = (FieldInstruction) instr;
String key = fi.getClassName(cpGen) + "#" + fi.getName(cpGen);
if ((instr instanceof GETSTATIC || instr instanceof GETFIELD) && fieldAccessors.containsKey(key)) {
Field field = (Field) fieldAccessors.get(key);
VM_Field vm_field = java.lang.reflect.JikesRVMSupport.getFieldOf(field);
//System.out.println("MethodWeaver.weaveFieldAdvice(): " + target + " GET " + field);
instructions.insert(h, createFieldAdviceCallback("onFieldAccess", vm_field));
} else if ((instr instanceof PUTSTATIC || instr instanceof PUTFIELD) && fieldModifiers.containsKey(key)) {
Field field = (Field) fieldModifiers.get(key);
VM_Field vm_field = java.lang.reflect.JikesRVMSupport.getFieldOf(field);
// Store new value
Type field_type = fi.getFieldType(cpGen);
int local_index = methodGen.getMaxLocals();
instructions.insert(h, InstructionFactory.createStore(field_type, local_index));