< prev index next >
hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp
Print this page
rev 7371 : 8079644: memory stomping error with ResourceManagement and TestAgentStress.java
Summary: the cached class file structure must be deallocated instead of the cached class file bytes
Reviewed-by: coleenp, sla
*** 3978,3989 ****
}
else if (scratch_class->get_cached_class_file_bytes() !=
the_class->get_cached_class_file_bytes()) {
// The same class can be present twice in the scratch classes list or there
// are multiple concurrent RetransformClasses calls on different threads.
! // In such cases we have to deallocate scratch_class cached_class_file_bytes.
! os::free(scratch_class->get_cached_class_file_bytes());
}
// 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);
--- 3978,3989 ----
}
else if (scratch_class->get_cached_class_file_bytes() !=
the_class->get_cached_class_file_bytes()) {
// The same class can be present twice in the scratch classes list or there
// are multiple concurrent RetransformClasses calls on different threads.
! // In such cases we have to deallocate scratch_class cached_class_file.
! os::free(scratch_class->get_cached_class_file());
}
// 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);
< prev index next >