OLD | NEW |
1 /* Copyright (c) 2008, Google Inc. | 1 /* Copyright (c) 2008, Google Inc. |
2 * All rights reserved. | 2 * All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 # endif | 51 # endif |
52 #endif | 52 #endif |
53 | 53 |
54 #ifdef __cplusplus | 54 #ifdef __cplusplus |
55 extern "C" { | 55 extern "C" { |
56 #endif | 56 #endif |
57 | 57 |
58 #define kMallocExtensionHistogramSize 64 | 58 #define kMallocExtensionHistogramSize 64 |
59 | 59 |
60 PERFTOOLS_DLL_DECL int MallocExtension_VerifyAllMemory(void); | 60 PERFTOOLS_DLL_DECL int MallocExtension_VerifyAllMemory(void); |
61 PERFTOOLS_DLL_DECL int MallocExtension_VerifyNewMemory(void* p); | 61 PERFTOOLS_DLL_DECL int MallocExtension_VerifyNewMemory(const void* p); |
62 PERFTOOLS_DLL_DECL int MallocExtension_VerifyArrayNewMemory(void* p); | 62 PERFTOOLS_DLL_DECL int MallocExtension_VerifyArrayNewMemory(const void* p); |
63 PERFTOOLS_DLL_DECL int MallocExtension_VerifyMallocMemory(void* p); | 63 PERFTOOLS_DLL_DECL int MallocExtension_VerifyMallocMemory(const void* p); |
64 PERFTOOLS_DLL_DECL int MallocExtension_MallocMemoryStats(int* blocks, size_t* to
tal, | 64 PERFTOOLS_DLL_DECL int MallocExtension_MallocMemoryStats(int* blocks, size_t* to
tal, |
65 int histogram[kMallocExtensionHistogramSiz
e]); | 65 int histogram[kMallocExtensionHistogramSiz
e]); |
66 PERFTOOLS_DLL_DECL void MallocExtension_GetStats(char* buffer, int buffer_length
); | 66 PERFTOOLS_DLL_DECL void MallocExtension_GetStats(char* buffer, int buffer_length
); |
67 | 67 |
68 /* TODO(csilvers): write a C version of these routines, that perhaps | 68 /* TODO(csilvers): write a C version of these routines, that perhaps |
69 * takes a function ptr and a void *. | 69 * takes a function ptr and a void *. |
70 */ | 70 */ |
71 /* void MallocExtension_GetHeapSample(string* result); */ | 71 /* void MallocExtension_GetHeapSample(string* result); */ |
72 /* void MallocExtension_GetHeapGrowthStacks(string* result); */ | 72 /* void MallocExtension_GetHeapGrowthStacks(string* result); */ |
73 | 73 |
74 PERFTOOLS_DLL_DECL int MallocExtension_GetNumericProperty(const char* property,
size_t* value); | 74 PERFTOOLS_DLL_DECL int MallocExtension_GetNumericProperty(const char* property,
size_t* value); |
75 PERFTOOLS_DLL_DECL int MallocExtension_SetNumericProperty(const char* property,
size_t value); | 75 PERFTOOLS_DLL_DECL int MallocExtension_SetNumericProperty(const char* property,
size_t value); |
76 PERFTOOLS_DLL_DECL void MallocExtension_MarkThreadIdle(void); | 76 PERFTOOLS_DLL_DECL void MallocExtension_MarkThreadIdle(void); |
77 PERFTOOLS_DLL_DECL void MallocExtension_MarkThreadBusy(void); | 77 PERFTOOLS_DLL_DECL void MallocExtension_MarkThreadBusy(void); |
78 PERFTOOLS_DLL_DECL void MallocExtension_ReleaseToSystem(size_t num_bytes); | 78 PERFTOOLS_DLL_DECL void MallocExtension_ReleaseToSystem(size_t num_bytes); |
79 PERFTOOLS_DLL_DECL void MallocExtension_ReleaseFreeMemory(void); | 79 PERFTOOLS_DLL_DECL void MallocExtension_ReleaseFreeMemory(void); |
80 PERFTOOLS_DLL_DECL size_t MallocExtension_GetEstimatedAllocatedSize(size_t size)
; | 80 PERFTOOLS_DLL_DECL size_t MallocExtension_GetEstimatedAllocatedSize(size_t size)
; |
81 PERFTOOLS_DLL_DECL size_t MallocExtension_GetAllocatedSize(void* p); | 81 PERFTOOLS_DLL_DECL size_t MallocExtension_GetAllocatedSize(const void* p); |
| 82 |
| 83 /* |
| 84 * NOTE: These enum values MUST be kept in sync with the version in |
| 85 * malloc_extension.h |
| 86 */ |
| 87 typedef enum { |
| 88 MallocExtension_kUnknownOwnership = 0, |
| 89 MallocExtension_kOwned, |
| 90 MallocExtension_kNotOwned |
| 91 } MallocExtension_Ownership; |
| 92 |
| 93 PERFTOOLS_DLL_DECL MallocExtension_Ownership MallocExtension_GetOwnership(const
void* p); |
82 | 94 |
83 #ifdef __cplusplus | 95 #ifdef __cplusplus |
84 } // extern "C" | 96 } // extern "C" |
85 #endif | 97 #endif |
86 | 98 |
87 #endif /* _MALLOC_EXTENSION_C_H_ */ | 99 #endif /* _MALLOC_EXTENSION_C_H_ */ |
OLD | NEW |