new file mode 100644
--- /dev/null
+++ b/src/share/vm/prims/jvmtiRedefineClasses2.cpp
-@@ -0,0 +1,2101 @@
+@@ -0,0 +1,2102 @@
+/*
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ result = result | Klass::ModifyClass;
+ }
+ {
-+ u2 num = the_class->next_method_idnum();
++ u2 num = new_class->next_method_idnum();
+ if (num == ConstMethod::UNSET_IDNUM) {
+ // cannot add any more methods
+ result = result | Klass::ModifyClass;
+ k_new_method->set_method_idnum(num);
+ swap_all_method_annotations(k_old_method->constMethod(), k_new_method->constMethod());
+ }
-+ RC_TRACE(0x00008000, ("Method added: new: %s [%d]",
-+ k_new_method->name_and_sig_as_C_string(), ni));
++ RC_TRACE(0x00008000, ("Method added: new: %s [%d], idnum %d",
++ k_new_method->name_and_sig_as_C_string(), ni, k_new_method->method_idnum()));
+ ++ni; // advance to next new method
+ break;
+ case deleted:
+
+ // Swap method handles
+ MemberNameTable* mnt = the_old_class->member_names();
++ assert(the_new_class->member_names() == NULL, "");
+ the_new_class->set_member_names(mnt);
+ the_old_class->set_member_names(NULL);
+