Diff for /parser3/src/main/pa_memory.C between versions 1.1.2.5.2.5 and 1.13

version 1.1.2.5.2.5, 2003/03/25 09:34:53 version 1.13, 2016/09/21 12:03:40
Line 1 Line 1
 /** @file  /** @file
         Parser: memory reference counting classes.          Parser: memory reference counting classes.
   
         Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com)          Copyright (c) 2001-2015 Art. Lebedev Studio (http://www.artlebedev.com)
         Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)          Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
 */  */
   
 static const char* IDENT_MEMORY_C="$Date$";  
   
 #include "pa_sapi.h"  #include "pa_sapi.h"
 #include "pa_common.h"  #include "pa_common.h"
   
   volatile const char * IDENT_PA_MEMORY_C="$Id$" IDENT_PA_MEMORY_H;
   
   //{@ Array-oriented
   void *operator new[] (size_t size, bool) { // PointerFreeGC
           return pa_malloc_atomic(size);
   }
   void *operator new[] (std::size_t size) PA_THROW(std::bad_alloc) {
           return pa_malloc(size);
   }
   void operator delete[] (void *ptr) throw() {
           pa_free(ptr);
   }
   //}@
   
   //{@ Structure-oriented
   void *operator new (size_t size, bool) { // PointerFreeGC
           return pa_malloc_atomic(size);
   }
   void *operator new(std::size_t size) PA_THROW(std::bad_alloc) {
           return pa_malloc(size);
   }
   void operator delete(void *ptr) throw() {
           pa_free(ptr);
   }
   //}@
   
   
 void *pa_fail_alloc(const char* what, size_t size) {  void *pa_fail_alloc(const char* what, size_t size) {
         SAPI::abort("out of memory: failed to %s %u bytes. "  #ifdef PA_DEBUG_DISABLE_GC
                 "heap_used=%lu, heap_free=%lu, bytes_since_gc=%lu, total_bytes=%lu",          SAPI::die("out of memory (in pa_fail_alloc)");
                 what, size,  #else
                 GC_get_heap_size(),          SAPI::die("out of memory: failed to %s %u bytes. heap_used=%u, heap_free=%u, bytes_since_gc=%u, total_bytes=%u",
                 GC_get_free_bytes(),                  what, size, GC_get_heap_size(), GC_get_free_bytes(), GC_get_bytes_since_gc(), GC_get_total_bytes());
                 GC_get_bytes_since_gc(),  #endif
                 GC_get_total_bytes()          // never reached
                 );          return 0;
   }
   
   #ifdef _MSC_VER
   extern "C" void *pa_fail_alloc(const char* what);
   void *pa_fail_alloc(const char* what) {
           SAPI::die("fatal memory error: %s. heap_used=%u, heap_free=%u, bytes_since_gc=%u, total_bytes=%u",
                   what, GC_get_heap_size(), GC_get_free_bytes(), GC_get_bytes_since_gc(), GC_get_total_bytes());
         // never reached          // never reached
         return 0;          return 0;
 }  }
   #endif

Removed from v.1.1.2.5.2.5  
changed lines
  Added in v.1.13


E-mail: