< prev index next >
src/hotspot/share/adlc/arena.cpp
Print this page
*** 22,31 ****
--- 22,41 ----
*
*/
#include "adlc.hpp"
+ void* AllocateHeap(size_t size) {
+ unsigned char* ptr = (unsigned char*) malloc(size);
+ if (ptr == NULL && size != 0) {
+ fprintf(stderr, "Error: Out of memory in ADLC\n"); // logging can cause crash!
+ fflush(stderr);
+ exit(1);
+ }
+ return ptr;
+ }
+
void* Chunk::operator new(size_t requested_size, size_t length) throw() {
return CHeapObj::operator new(requested_size + length);
}
void Chunk::operator delete(void* p, size_t length) {
*** 162,172 ****
//-----------------------------------------------------------------------------
// CHeapObj
void* CHeapObj::operator new(size_t size) throw() {
! return (void *) malloc(size);
}
void CHeapObj::operator delete(void* p){
free(p);
}
--- 172,182 ----
//-----------------------------------------------------------------------------
// CHeapObj
void* CHeapObj::operator new(size_t size) throw() {
! return (void *) AllocateHeap(size);
}
void CHeapObj::operator delete(void* p){
free(p);
}
< prev index next >