hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp
changeset 15744 fd58c7e770b3
parent 15601 df8faef6efaf
child 17029 9ff8d7c0ed79
--- a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp	Mon Feb 18 12:49:53 2013 +0100
+++ b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp	Tue Feb 19 11:36:52 2013 -0500
@@ -1558,6 +1558,18 @@
       } break;
     }
   } // end for each bytecode
+
+  // We also need to rewrite the parameter name indexes, if there is
+  // method parameter data present
+  if(method->has_method_parameters()) {
+    const int len = method->method_parameters_length();
+    MethodParametersElement* elem = method->method_parameters_start();
+
+    for (int i = 0; i < len; i++) {
+      const u2 cp_index = elem[i].name_cp_index;
+      elem[i].name_cp_index = find_new_index(cp_index);
+    }
+  }
 } // end rewrite_cp_refs_in_method()