| Index: base/allocator/allocator_extension_thunks.h
|
| diff --git a/base/allocator/allocator_extension_thunks.h b/base/allocator/allocator_extension_thunks.h
|
| index f1b4a93649d3a1c8f6349a710a00da24ae4bc552..8d5abda64865195785c93d7b6fd6f5900ba0f48b 100644
|
| --- a/base/allocator/allocator_extension_thunks.h
|
| +++ b/base/allocator/allocator_extension_thunks.h
|
| @@ -15,24 +15,36 @@ namespace thunks {
|
| // new allocator extension from a specific allocator implementation to base.
|
| // See allocator_extension.h to see the interface that base exports.
|
|
|
| -typedef bool (*GetAllocatorWasteSizeFunction)(size_t* size);
|
| -void SetGetAllocatorWasteSizeFunction(
|
| - GetAllocatorWasteSizeFunction get_allocator_waste_size_function);
|
| -GetAllocatorWasteSizeFunction GetGetAllocatorWasteSizeFunction();
|
| -
|
| -typedef void (*GetStatsFunction)(char* buffer, int buffer_length);
|
| -void SetGetStatsFunction(GetStatsFunction get_stats_function);
|
| -GetStatsFunction GetGetStatsFunction();
|
| -
|
| -typedef void (*ReleaseFreeMemoryFunction)();
|
| -void SetReleaseFreeMemoryFunction(
|
| - ReleaseFreeMemoryFunction release_free_memory_function);
|
| -ReleaseFreeMemoryFunction GetReleaseFreeMemoryFunction();
|
| -
|
| -typedef bool (*GetNumericPropertyFunction)(const char* name, size_t* value);
|
| -void SetGetNumericPropertyFunction(
|
| - GetNumericPropertyFunction get_numeric_property_function);
|
| -GetNumericPropertyFunction GetGetNumericPropertyFunction();
|
| +// Pointers to all the allcator extension functions that are used in chrome.
|
| +struct AllocatorExtensionFunctions {
|
| + typedef bool (*GetAllocatorWasteSize)(size_t* size);
|
| + typedef void (*GetStats)(char* buffer, int buffer_length);
|
| + typedef void (*ReleaseFreeMemory)();
|
| + typedef unsigned int (*GetBytesAllocatedOnCurrentThread)();
|
| + typedef bool (*GetNumericProperty)(const char* name, size_t* value);
|
| +
|
| + typedef int (*StackGenerator)(int skip_count, void** stack);
|
| + typedef void (*HeapProfilerStart)(StackGenerator callback);
|
| + typedef void (*HeapProfilerStop)();
|
| + typedef char* (*GetHeapProfile)();
|
| + typedef void (*HeapProfilerDump)(const char* reason);
|
| + typedef bool (*IsHeapProfilerRunning)();
|
| +
|
| + GetAllocatorWasteSize get_allocator_waste_size;
|
| + GetStats get_stats;
|
| + ReleaseFreeMemory release_free_memory;
|
| + GetBytesAllocatedOnCurrentThread get_bytes_allocated_on_current_thread;
|
| + GetNumericProperty get_numeric_property;
|
| +
|
| + HeapProfilerStart heap_profiler_start;
|
| + HeapProfilerStop heap_profiler_stop;
|
| + GetHeapProfile get_heap_profile;
|
| + HeapProfilerDump heap_profiler_dump;
|
| + IsHeapProfilerRunning is_heap_profiler_running;
|
| +};
|
| +
|
| +void SetAllocatorExtensionFunctions(AllocatorExtensionFunctions functions);
|
| +AllocatorExtensionFunctions GetAllocatorExtensionFunctions();
|
|
|
| } // namespace thunks
|
| } // namespace allocator
|
|
|