Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(859)

Side by Side Diff: third_party/apple_apsl/CFBase.h

Issue 6711017: Update OOM killer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/process_util_mac.mm ('k') | third_party/apple_apsl/README.chromium » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2009 Apple Inc. All rights reserved. 2 * Copyright (c) 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * @APPLE_LICENSE_HEADER_START@ 4 * @APPLE_LICENSE_HEADER_START@
5 * 5 *
6 * This file contains Original Code and/or Modifications of Original Code 6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License 7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in 8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at 9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this 10 * http://www.opensource.apple.com/apsl/ and read it before using this
(...skipping 12 matching lines...) Expand all
23 /* CFBase.c 23 /* CFBase.c
24 Copyright (c) 1998-2009, Apple Inc. All rights reserved. 24 Copyright (c) 1998-2009, Apple Inc. All rights reserved.
25 Responsibility: Christopher Kane 25 Responsibility: Christopher Kane
26 */ 26 */
27 27
28 #ifndef THIRD_PARTY_APPLE_APSL_CFBASE_H_ 28 #ifndef THIRD_PARTY_APPLE_APSL_CFBASE_H_
29 #define THIRD_PARTY_APPLE_APSL_CFBASE_H_ 29 #define THIRD_PARTY_APPLE_APSL_CFBASE_H_
30 30
31 #include "CFRuntime.h" 31 #include "CFRuntime.h"
32 32
33 struct ChromeCFAllocator { 33 struct ChromeCFAllocator9and10 {
34
35
36 ChromeCFRuntimeBase _base; 34 ChromeCFRuntimeBase _base;
37 #if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED 35 #if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED
38 size_t (*size)(struct _malloc_zone_t *zone, const void *ptr); /* returns the size of a block or 0 if not in this zone; must be fast, especially for negative answers */ 36 size_t (*size)(struct _malloc_zone_t *zone, const void *ptr); /* returns the size of a block or 0 if not in this zone; must be fast, especially for negative answers */
39 void *(*malloc)(struct _malloc_zone_t *zone, size_t size); 37 void *(*malloc)(struct _malloc_zone_t *zone, size_t size);
40 void *(*calloc)(struct _malloc_zone_t *zone, size_t num_items, size_t size); /* same as malloc, but block returned is set to zero */ 38 void *(*calloc)(struct _malloc_zone_t *zone, size_t num_items, size_t size); /* same as malloc, but block returned is set to zero */
41 void *(*valloc)(struct _malloc_zone_t *zone, size_t size); /* same as malloc , but block returned is set to zero and is guaranteed to be page aligned */ 39 void *(*valloc)(struct _malloc_zone_t *zone, size_t size); /* same as malloc , but block returned is set to zero and is guaranteed to be page aligned */
42 void (*free)(struct _malloc_zone_t *zone, void *ptr); 40 void (*free)(struct _malloc_zone_t *zone, void *ptr);
43 void *(*realloc)(struct _malloc_zone_t *zone, void *ptr, size_t size); 41 void *(*realloc)(struct _malloc_zone_t *zone, void *ptr, size_t size);
44 void (*destroy)(struct _malloc_zone_t *zone); /* zone is destroyed and all m emory reclaimed */ 42 void (*destroy)(struct _malloc_zone_t *zone); /* zone is destroyed and all m emory reclaimed */
45 const char *zone_name; 43 const char *zone_name;
46 unsigned (*batch_malloc)(struct _malloc_zone_t *zone, size_t size, void **re sults, unsigned num_requested); /* given a size, returns pointers capable of hol ding that size; returns the number of pointers allocated (maybe 0 or less than n um_requested) */ 44 unsigned (*batch_malloc)(struct _malloc_zone_t *zone, size_t size, void **re sults, unsigned num_requested); /* given a size, returns pointers capable of hol ding that size; returns the number of pointers allocated (maybe 0 or less than n um_requested) */
47 void (*batch_free)(struct _malloc_zone_t *zone, void **to_be_freed, unsigned num_to_be_freed); /* frees all the pointers in to_be_freed; note that to_be_fre ed may be overwritten during the process */ 45 void (*batch_free)(struct _malloc_zone_t *zone, void **to_be_freed, unsigned num_to_be_freed); /* frees all the pointers in to_be_freed; note that to_be_fre ed may be overwritten during the process */
48 struct malloc_introspection_t *introspect; 46 struct malloc_introspection_t *introspect;
49 void *reserved5; 47 void *reserved5;
50 #endif 48 #endif
51 CFAllocatorRef _allocator; 49 CFAllocatorRef _allocator;
52 CFAllocatorContext _context; 50 CFAllocatorContext _context;
53 }; 51 };
54 52
53 // TODO(avi): update upon source release; http://crbug.com/74589
54 struct ChromeCFAllocator11 {
55 ChromeCFRuntimeBase _base;
56 // CFAllocator in Darwin 9 included a complete copy of _malloc_zone_t. The
57 // version in Darwin 10 had an abbreviated _malloc_zone_t that ended after the
58 // version/"reserved" field (see above). Darwin 11 appears to have a truncated
59 // _malloc_zone_t as well, but two fields larger than 9/10.
60 void* presumedSizeFunctionPtr;
61 void* presumedMallocFunctionPtr;
62 void* presumedCallocFunctionPtr;
63 void* presumedVallocFunctionPtr;
64 void* presumedFreeFunctionPtr;
65 void* presumedReallocFunctionPtr;
66 void* presumedDestroyFunctionPtr;
67 const char *zone_name;
68 void* presumedBatchMallocFunctionPtr;
69 void* presumedBatchFreeFunctionPtr;
70 void* presumedIntrospectStructPtr;
71 void* presumedReservedSlashVersion; // always 6 in CFAllocators
72 void* presumedMemalignFunctionPtr;
73 void* presumedFreeDefiniteSizeFunctionPtr;
74 CFAllocatorRef _allocator;
75 CFAllocatorContext _context;
76 };
77
55 #endif // THIRD_PARTY_APPLE_APSL_CFBASE_H_ 78 #endif // THIRD_PARTY_APPLE_APSL_CFBASE_H_
OLDNEW
« no previous file with comments | « base/process_util_mac.mm ('k') | third_party/apple_apsl/README.chromium » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698