changeset 489:cc59efc75960

meth-lazy: small bugfix
author twisti
date Thu, 19 Jul 2012 13:56:52 -0700
parents 13510fe048e4
children f8ac1c76761f
files meth-lazy-7023639.review.patch
diffstat 1 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/meth-lazy-7023639.review.patch	Thu Jul 19 00:23:11 2012 -0700
+++ b/meth-lazy-7023639.review.patch	Thu Jul 19 13:56:52 2012 -0700
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent 2decd0611811b96605f0a5baf657ec969538d7c0
+# Parent fe6edd334f2d863f8b842505ef37ea0b4c608f68
 
 diff --git a/src/cpu/sparc/vm/interpreter_sparc.cpp b/src/cpu/sparc/vm/interpreter_sparc.cpp
 --- a/src/cpu/sparc/vm/interpreter_sparc.cpp
@@ -841,6 +841,19 @@
    }
  
    // all native method kinds (must be one contiguous block)
+diff --git a/src/share/vm/oops/cpCacheOop.cpp b/src/share/vm/oops/cpCacheOop.cpp
+--- a/src/share/vm/oops/cpCacheOop.cpp
++++ b/src/share/vm/oops/cpCacheOop.cpp
+@@ -486,7 +486,8 @@
+     // virtual and final so _f2 contains method ptr instead of vtable index
+     if (f2_as_vfinal_method() == old_method) {
+       // match old_method so need an update
+-      set_f2_as_vfinal_method(new_method);
++      // NOTE: can't use set_f2_as_vfinal_method as it asserts on different values
++      _f2 = (intptr_t)new_method;
+       if (RC_TRACE_IN_RANGE(0x00100000, 0x00400000)) {
+         if (!(*trace_name_printed)) {
+           // RC_TRACE_MESG macro has an embedded ResourceMark
 diff --git a/src/share/vm/oops/methodOop.cpp b/src/share/vm/oops/methodOop.cpp
 --- a/src/share/vm/oops/methodOop.cpp
 +++ b/src/share/vm/oops/methodOop.cpp