diff src/share/vm/prims/jvmtiRedefineClasses.cpp @ 3748:d3b9f2be46ab

7033141: assert(has_cp_cache(i)) failed: oob Summary: Unrewrite bytecodes for OOM error allocating the constant pool cache. Reviewed-by: dcubed, acorn, never
author coleenp
date Sat, 21 May 2011 15:39:54 -0700
parents 57552dca1708
children e6b1331a51d2
line wrap: on
line diff
--- a/src/share/vm/prims/jvmtiRedefineClasses.cpp	Fri May 20 22:27:48 2011 -0700
+++ b/src/share/vm/prims/jvmtiRedefineClasses.cpp	Sat May 21 15:39:54 2011 -0700
@@ -992,6 +992,9 @@
     }
 
     Rewriter::rewrite(scratch_class, THREAD);
+    if (!HAS_PENDING_EXCEPTION) {
+      Rewriter::relocate_and_link(scratch_class, THREAD);
+    }
     if (HAS_PENDING_EXCEPTION) {
       Symbol* ex_name = PENDING_EXCEPTION->klass()->klass_part()->name();
       CLEAR_PENDING_EXCEPTION;