comparison src/share/vm/prims/jvmtiRedefineClasses.cpp @ 10252: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 15a99ca4ee34
children 43083e670adf
comparison
equal deleted inserted replaced
10227:3ecc6b9940de 10252:712a1e9c91f3
3364 assert(the_class->get_cached_class_file_len() == 3364 assert(the_class->get_cached_class_file_len() ==
3365 scratch_class->get_cached_class_file_len(), "cache lens must match"); 3365 scratch_class->get_cached_class_file_len(), "cache lens must match");
3366 } 3366 }
3367 #endif 3367 #endif
3368 3368
3369 // NULL out in scratch class to not delete twice. The class to be redefined
3370 // always owns these bytes.
3371 scratch_class->set_cached_class_file(NULL, 0);
3372
3369 // Replace inner_classes 3373 // Replace inner_classes
3370 Array<u2>* old_inner_classes = the_class->inner_classes(); 3374 Array<u2>* old_inner_classes = the_class->inner_classes();
3371 the_class->set_inner_classes(scratch_class->inner_classes()); 3375 the_class->set_inner_classes(scratch_class->inner_classes());
3372 scratch_class->set_inner_classes(old_inner_classes); 3376 scratch_class->set_inner_classes(old_inner_classes);
3373 3377