8013063: nsk/jvmti/RetransformClasses/retransform001 failed debug version on os::free

Clear out class_file_bytes so they aren't deallocated twice

Reviewed-by: dcubed, sspitsyn
This commit is contained in:
Coleen Phillimore 2013-05-07 09:46:15 -04:00
parent db19e8b60f
commit 8320660846

View File

@ -3366,6 +3366,10 @@ void VM_RedefineClasses::redefine_single_class(jclass the_jclass,
}
#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());