src/hotspot/share/adlc/arena.cpp
changeset 52583 a3aa8d5380d9
parent 51092 3b5fd72147c9
child 53416 9db898820f63
equal deleted inserted replaced
52582:6df094be7f58 52583:a3aa8d5380d9
    21  * questions.
    21  * questions.
    22  *
    22  *
    23  */
    23  */
    24 
    24 
    25 #include "adlc.hpp"
    25 #include "adlc.hpp"
       
    26 
       
    27 void* AllocateHeap(size_t size) {
       
    28   unsigned char* ptr = (unsigned char*) malloc(size);
       
    29   if (ptr == NULL && size != 0) {
       
    30     fprintf(stderr, "Error: Out of memory in ADLC\n"); // logging can cause crash!
       
    31     fflush(stderr);
       
    32     exit(1);
       
    33   }
       
    34   return ptr;
       
    35 }
    26 
    36 
    27 void* Chunk::operator new(size_t requested_size, size_t length) throw() {
    37 void* Chunk::operator new(size_t requested_size, size_t length) throw() {
    28   return CHeapObj::operator new(requested_size + length);
    38   return CHeapObj::operator new(requested_size + length);
    29 }
    39 }
    30 
    40 
   162 
   172 
   163 //-----------------------------------------------------------------------------
   173 //-----------------------------------------------------------------------------
   164 // CHeapObj
   174 // CHeapObj
   165 
   175 
   166 void* CHeapObj::operator new(size_t size) throw() {
   176 void* CHeapObj::operator new(size_t size) throw() {
   167   return (void *) malloc(size);
   177   return (void *) AllocateHeap(size);
   168 }
   178 }
   169 
   179 
   170 void CHeapObj::operator delete(void* p){
   180 void CHeapObj::operator delete(void* p){
   171  free(p);
   181  free(p);
   172 }
   182 }