Annotation of OpenXM_contrib2/asir2000/gc5.3/gc_cpp.cc, Revision 1.1.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>