Mercurial > hg > graal-jvmci-8
diff src/share/vm/memory/allocation.cpp @ 3302:2a3da7eaf4a6
7036747: 7017009 reappeared, problem with ElfStringTable
Summary: Created new "new" operator for CHeapObj that allows malloc to fail without causing fatal error. Also replaced "HeapAllocate" with "os::malloc" in decoder code to allow decoder to handle low memory scenario.
Reviewed-by: coleenp, dholmes
author | zgu |
---|---|
date | Wed, 27 Apr 2011 09:09:57 -0400 |
parents | 4a9604cd7c5f |
children | f08d439fab8c |
line wrap: on
line diff
--- a/src/share/vm/memory/allocation.cpp Tue Apr 12 14:18:53 2011 -0700 +++ b/src/share/vm/memory/allocation.cpp Wed Apr 27 09:09:57 2011 -0400 @@ -44,6 +44,14 @@ return (void *) AllocateHeap(size, "CHeapObj-new"); } +void* CHeapObj::operator new (size_t size, const std::nothrow_t& nothrow_constant) { + char* p = (char*) os::malloc(size); +#ifdef ASSERT + if (PrintMallocFree) trace_heap_malloc(size, "CHeapObj-new", p); +#endif + return p; +} + void CHeapObj::operator delete(void* p){ FreeHeap(p); }