6980262: Memory leak when exception is thrown in static initializer
Summary: Use resource memory instead of c-heap for the exception message
Reviewed-by: phh, jmasa
--- a/hotspot/src/share/vm/oops/instanceKlass.cpp Wed Aug 25 21:29:05 2010 -0400
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp Fri Aug 27 15:05:28 2010 -0400
@@ -382,7 +382,7 @@
const char* desc = "Could not initialize class ";
const char* className = this_oop->external_name();
size_t msglen = strlen(desc) + strlen(className) + 1;
- char* message = NEW_C_HEAP_ARRAY(char, msglen);
+ char* message = NEW_RESOURCE_ARRAY(char, msglen);
if (NULL == message) {
// Out of memory: can't create detailed error message
THROW_MSG(vmSymbols::java_lang_NoClassDefFoundError(), className);