--- /dev/null
+diff --git a/src/share/vm/prims/jvmtiRedefineClasses2.cpp b/src/share/vm/prims/jvmtiRedefineClasses2.cpp
+index d35406d..b41dfe9 100644
+--- a/src/share/vm/prims/jvmtiRedefineClasses2.cpp
++++ b/src/share/vm/prims/jvmtiRedefineClasses2.cpp
+@@ -784,8 +784,10 @@
+ if (idnum_owner != NULL) {
+ // There is already a method assigned this idnum -- switch them
+ idnum_owner->set_method_idnum(new_num);
++ idnum_owner->set_orig_method_idnum(k_new_method->orig_method_idnum());
+ }
+ k_new_method->set_method_idnum(old_num);
++ k_new_method->set_orig_method_idnum(k_old_method->orig_method_idnum());
+ RC_TRACE(0x00008000,
+ ("swapping idnum of new and old method %d / %d!", new_num, old_num));
+ }
+@@ -816,9 +818,12 @@
+ Method* idnum_owner = new_class->method_with_idnum(num);
+ if (idnum_owner != NULL) {
+ // There is already a method assigned this idnum -- switch them
++ // Take current and original idnum from the new_method
+ idnum_owner->set_method_idnum(new_num);
++ idnum_owner->set_orig_method_idnum(k_new_method->orig_method_idnum());
+ }
+ k_new_method->set_method_idnum(num);
++ k_new_method->set_orig_method_idnum(num);
+ }
+ 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()));
light-jdk8u66-b17-deopt-cp.patch #+light-jdk8u66-b17 #+light-jdk8u74-b02 #+light-jdk8u92-b14 #+light-jdk8u102-b31 #+light-jdk8u111-b14 #+light-jdk8u112-b16 #+light-jdk8u144-b01 #+light-jdk8u152-b16 #+light-jdk8u172-b11 #+light-jdk8u181-b13
dont-clear-f1.patch #+light-jdk8u74-b02 #+light-jdk8u92-b14 #+light-jdk8u102-b31 #+light-jdk8u111-b14 #+light-jdk8u112-b16 #+light-jdk8u144-b01 #+light-jdk8u152-b16 #+light-jdk8u172-b11 #+light-jdk8u181-b13
light-updateClassRedefinedCount-java8.patch #+light-jdk8u112-b16 #+light-jdk8u144-b01 #+light-jdk8u152-b16 #+light-jdk8u172-b11 #+light-jdk8u181-b13
+orig-meth-ids-revert-jdk8u152.patch #+light-jdk8u152-b16 #+light-jdk8u172-b11 #+light-jdk8u181-b13