[BACK]Return to gc_cpp.cc CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / gc

Annotation of OpenXM_contrib2/asir2000/gc/gc_cpp.cc, Revision 1.1

1.1     ! noro        1: /*************************************************************************
        !             2: Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
        !             3:
        !             4: THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
        !             5: OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
        !             6:
        !             7:     Last modified on Sat Nov 19 19:31:14 PST 1994 by ellis
        !             8:                   on Sat Jun  8 15:10:00 PST 1994 by boehm
        !             9:
        !            10: Permission is hereby granted to copy this code for any purpose,
        !            11: provided the above notices are retained on all copies.
        !            12:
        !            13: This implementation module for gc_c++.h provides an implementation of
        !            14: the global operators "new" and "delete" that calls the Boehm
        !            15: allocator.  All objects allocated by this implementation will be
        !            16: non-collectable but part of the root set of the collector.
        !            17:
        !            18: You should ensure (using implementation-dependent techniques) that the
        !            19: linker finds this module before the library that defines the default
        !            20: built-in "new" and "delete".
        !            21:
        !            22: Authors: John R. Ellis and Jesse Hull
        !            23:
        !            24: **************************************************************************/
        !            25: /* Boehm, December 20, 1994 7:26 pm PST */
        !            26:
        !            27: #include "gc_cpp.h"
        !            28:
        !            29: void* operator new( size_t size ) {
        !            30:     return GC_MALLOC_UNCOLLECTABLE( size );}
        !            31:
        !            32: void operator delete( void* obj ) {
        !            33:     GC_FREE( obj );}
        !            34:
        !            35: #ifdef _MSC_VER
        !            36: // This new operator is used by VC++ in case of Debug builds !
        !            37: void* operator new( size_t size,
        !            38:                     int ,//nBlockUse,
        !            39:                     const char * szFileName,
        !            40:                     int nLine
        !            41:                     ) {
        !            42: # ifndef GC_DEBUG
        !            43:     return GC_malloc_uncollectable( size );
        !            44: # else
        !            45:     return GC_debug_malloc_uncollectable(size, szFileName, nLine);
        !            46: # endif
        !            47: }
        !            48: #endif
        !            49:
        !            50: #ifdef OPERATOR_NEW_ARRAY
        !            51:
        !            52: void* operator new[]( size_t size ) {
        !            53:     return GC_MALLOC_UNCOLLECTABLE( size );}
        !            54:
        !            55: void operator delete[]( void* obj ) {
        !            56:     GC_FREE( obj );}
        !            57:
        !            58: #endif /* OPERATOR_NEW_ARRAY */
        !            59:
        !            60:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>