aboutsummaryrefslogtreecommitdiffstats
path: root/hotspot/.hg/patches/light-jdk8u5-b13.patch
diff options
context:
space:
mode:
authorIvan Dubrov <idubrov@guidewire.com>2014-05-01 21:55:40 -0700
committerIvan Dubrov <idubrov@guidewire.com>2014-05-01 21:55:40 -0700
commit2f118c4f7140f2aed98873409bf54dd290543009 (patch)
tree10086fb3d86d99b89f36e02a26077dd62ce03141 /hotspot/.hg/patches/light-jdk8u5-b13.patch
parent1ab4df6e71c09b46131913fdb8e62c976ea1535d (diff)
downloaddcevm-2f118c4f7140f2aed98873409bf54dd290543009.tar.gz
dcevm-2f118c4f7140f2aed98873409bf54dd290543009.zip
Should allocate idnum from new class, not the old one
Diffstat (limited to 'hotspot/.hg/patches/light-jdk8u5-b13.patch')
-rw-r--r--hotspot/.hg/patches/light-jdk8u5-b13.patch9
1 files changed, 5 insertions, 4 deletions
diff --git a/hotspot/.hg/patches/light-jdk8u5-b13.patch b/hotspot/.hg/patches/light-jdk8u5-b13.patch
index f065525f..286dba09 100644
--- a/hotspot/.hg/patches/light-jdk8u5-b13.patch
+++ b/hotspot/.hg/patches/light-jdk8u5-b13.patch
@@ -1564,7 +1564,7 @@ diff --git a/src/share/vm/prims/jvmtiRedefineClasses2.cpp b/src/share/vm/prims/j
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.
@@ -2395,7 +2395,7 @@ new file mode 100644
+ 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;
@@ -2409,8 +2409,8 @@ new file mode 100644
+ 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:
@@ -3262,6 +3262,7 @@ new file mode 100644
+
+ // 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);
+