8013063: nsk/jvmti/RetransformClasses/retransform001 failed debug version on os::free
authorcoleenp
Tue, 07 May 2013 09:46:15 -0400
changeset 17357 98206e5df09e
parent 17308 eb7a22d26c53
child 17358 c976a07a0dd5
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
hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp
--- a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp	Tue May 07 01:25:21 2013 +0200
+++ b/hotspot/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());