Mercurial > hg > graal-jvmci-8
changeset 2197:5e139f767ddb
Merge
author | coleenp |
---|---|
date | Thu, 03 Feb 2011 20:30:19 -0800 |
parents | d28def44457d (diff) bf8517f4e4d0 (current diff) |
children | e9f24eebafd4 d8a72fbc4be7 fb539912d338 f36c9fe788b8 |
files | agent/src/share/classes/sun/jvm/hotspot/runtime/LowMemoryDetectorThread.java |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/utilities/elfSymbolTable.cpp Wed Feb 02 14:38:01 2011 -0500 +++ b/src/share/vm/utilities/elfSymbolTable.cpp Thu Feb 03 20:30:19 2011 -0800 @@ -39,13 +39,14 @@ // try to load the string table long cur_offset = ftell(file); if (cur_offset != -1) { - m_symbols = (Elf_Sym*)NEW_C_HEAP_ARRAY(char, shdr.sh_size); + // call malloc so we can back up if memory allocation fails. + m_symbols = (Elf_Sym*)os::malloc(shdr.sh_size); if (m_symbols) { if (fseek(file, shdr.sh_offset, SEEK_SET) || fread((void*)m_symbols, shdr.sh_size, 1, file) != 1 || fseek(file, cur_offset, SEEK_SET)) { m_status = Decoder::file_invalid; - FREE_C_HEAP_ARRAY(char, m_symbols); + os::free(m_symbols); m_symbols = NULL; } } @@ -59,7 +60,7 @@ ElfSymbolTable::~ElfSymbolTable() { if (m_symbols != NULL) { - FREE_C_HEAP_ARRAY(char, m_symbols); + os::free(m_symbols); } if (m_next != NULL) {