changeset 4649:712a1e9c91f3

8013063: nsk/jvmti/RetransformClasses/retransform001 failed debug version on os::free Summary: Clear out class_file_bytes so they aren't deallocated twice Reviewed-by: dcubed, sspitsyn
author coleenp
date Tue, 07 May 2013 09:46:15 -0400
parents 3ecc6b9940de
children 4674e409a9e6
files src/share/vm/prims/jvmtiRedefineClasses.cpp
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/prims/jvmtiRedefineClasses.cpp	Tue May 07 01:25:21 2013 +0200
+++ b/src/share/vm/prims/jvmtiRedefineClasses.cpp	Tue May 07 09:46:15 2013 -0400
@@ -3366,6 +3366,10 @@
   }
 #endif
 
+  // NULL out in scratch class to not delete twice.  The class to be redefined
+  // always owns these bytes.
+  scratch_class->set_cached_class_file(NULL, 0);
+
   // Replace inner_classes
   Array<u2>* old_inner_classes = the_class->inner_classes();
   the_class->set_inner_classes(scratch_class->inner_classes());