| Index: source/libvpx/vpx_mem/include/vpx_mem_tracker.h
|
| ===================================================================
|
| --- source/libvpx/vpx_mem/include/vpx_mem_tracker.h (revision 172621)
|
| +++ source/libvpx/vpx_mem/include/vpx_mem_tracker.h (working copy)
|
| @@ -23,158 +23,157 @@
|
|
|
| #include <stdarg.h>
|
|
|
| -struct mem_block
|
| -{
|
| - size_t addr;
|
| - unsigned int size,
|
| - line;
|
| - char *file;
|
| - struct mem_block *prev,
|
| - * next;
|
| +struct mem_block {
|
| + size_t addr;
|
| + unsigned int size,
|
| + line;
|
| + char *file;
|
| + struct mem_block *prev,
|
| + * next;
|
|
|
| - int padded; // This mem_block has padding for integrity checks.
|
| - // As of right now, this should only be 0 if
|
| - // using vpx_mem_alloc to allocate cache memory.
|
| - // 2005-01-11 tjf
|
| + int padded; // This mem_block has padding for integrity checks.
|
| + // As of right now, this should only be 0 if
|
| + // using vpx_mem_alloc to allocate cache memory.
|
| + // 2005-01-11 tjf
|
| };
|
|
|
| #if defined(__cplusplus)
|
| extern "C" {
|
| #endif
|
|
|
| - /*
|
| - vpx_memory_tracker_init(int padding_size, int pad_value)
|
| - padding_size - the size of the padding before and after each mem addr.
|
| - Values > 0 indicate that integrity checks can be performed
|
| - by inspecting these areas.
|
| - pad_value - the initial value within the padding area before and after
|
| - each mem addr.
|
| + /*
|
| + vpx_memory_tracker_init(int padding_size, int pad_value)
|
| + padding_size - the size of the padding before and after each mem addr.
|
| + Values > 0 indicate that integrity checks can be performed
|
| + by inspecting these areas.
|
| + pad_value - the initial value within the padding area before and after
|
| + each mem addr.
|
|
|
| - Initializes the memory tracker interface. Should be called before any
|
| - other calls to the memory tracker.
|
| - */
|
| - int vpx_memory_tracker_init(int padding_size, int pad_value);
|
| + Initializes the memory tracker interface. Should be called before any
|
| + other calls to the memory tracker.
|
| + */
|
| + int vpx_memory_tracker_init(int padding_size, int pad_value);
|
|
|
| - /*
|
| - vpx_memory_tracker_destroy()
|
| - Deinitializes the memory tracker interface
|
| - */
|
| - void vpx_memory_tracker_destroy();
|
| + /*
|
| + vpx_memory_tracker_destroy()
|
| + Deinitializes the memory tracker interface
|
| + */
|
| + void vpx_memory_tracker_destroy();
|
|
|
| - /*
|
| - vpx_memory_tracker_add(size_t addr, unsigned int size,
|
| - char * file, unsigned int line)
|
| - addr - memory address to be added to list
|
| - size - size of addr
|
| - file - the file addr was referenced from
|
| - line - the line in file addr was referenced from
|
| - Adds memory address addr, it's size, file and line it came from
|
| - to the memory tracker allocation table
|
| - */
|
| - void vpx_memory_tracker_add(size_t addr, unsigned int size,
|
| - char *file, unsigned int line,
|
| - int padded);
|
| + /*
|
| + vpx_memory_tracker_add(size_t addr, unsigned int size,
|
| + char * file, unsigned int line)
|
| + addr - memory address to be added to list
|
| + size - size of addr
|
| + file - the file addr was referenced from
|
| + line - the line in file addr was referenced from
|
| + Adds memory address addr, it's size, file and line it came from
|
| + to the memory tracker allocation table
|
| + */
|
| + void vpx_memory_tracker_add(size_t addr, unsigned int size,
|
| + char *file, unsigned int line,
|
| + int padded);
|
|
|
| - /*
|
| - vpx_memory_tracker_add(size_t addr, unsigned int size, char * file, unsigned int line)
|
| - addr - memory address to be added to be removed
|
| - padded - if 0, disables bounds checking on this memory block even if bounds
|
| - checking is enabled. (for example, when allocating cache memory, we still want
|
| - to check for memory leaks, but we do not waste cache space for bounds check padding)
|
| - Removes the specified address from the memory tracker's allocation
|
| - table
|
| - Return:
|
| - 0: on success
|
| - -1: if memory allocation table's mutex could not be locked
|
| - -2: if the addr was not found in the list
|
| - */
|
| - int vpx_memory_tracker_remove(size_t addr);
|
| + /*
|
| + vpx_memory_tracker_add(size_t addr, unsigned int size, char * file, unsigned int line)
|
| + addr - memory address to be added to be removed
|
| + padded - if 0, disables bounds checking on this memory block even if bounds
|
| + checking is enabled. (for example, when allocating cache memory, we still want
|
| + to check for memory leaks, but we do not waste cache space for bounds check padding)
|
| + Removes the specified address from the memory tracker's allocation
|
| + table
|
| + Return:
|
| + 0: on success
|
| + -1: if memory allocation table's mutex could not be locked
|
| + -2: if the addr was not found in the list
|
| + */
|
| + int vpx_memory_tracker_remove(size_t addr);
|
|
|
| - /*
|
| - vpx_memory_tracker_find(unsigned int addr)
|
| - addr - address to be found in the memory tracker's
|
| - allocation table
|
| - Return:
|
| - If found, pointer to the memory block that matches addr
|
| - NULL otherwise
|
| - */
|
| - struct mem_block *vpx_memory_tracker_find(size_t addr);
|
| + /*
|
| + vpx_memory_tracker_find(unsigned int addr)
|
| + addr - address to be found in the memory tracker's
|
| + allocation table
|
| + Return:
|
| + If found, pointer to the memory block that matches addr
|
| + NULL otherwise
|
| + */
|
| + struct mem_block *vpx_memory_tracker_find(size_t addr);
|
|
|
| - /*
|
| - vpx_memory_tracker_dump()
|
| - Dumps the current contents of the memory
|
| - tracker allocation table
|
| - */
|
| - void vpx_memory_tracker_dump();
|
| + /*
|
| + vpx_memory_tracker_dump()
|
| + Dumps the current contents of the memory
|
| + tracker allocation table
|
| + */
|
| + void vpx_memory_tracker_dump();
|
|
|
| - /*
|
| - vpx_memory_tracker_check_integrity()
|
| - If a padding_size was provided to vpx_memory_tracker_init()
|
| - This function will verify that the region before and after each
|
| - memory address contains the specified pad_value. Should the check
|
| - fail, the filename and line of the check will be printed out.
|
| - */
|
| - void vpx_memory_tracker_check_integrity(char *file, unsigned int line);
|
| + /*
|
| + vpx_memory_tracker_check_integrity()
|
| + If a padding_size was provided to vpx_memory_tracker_init()
|
| + This function will verify that the region before and after each
|
| + memory address contains the specified pad_value. Should the check
|
| + fail, the filename and line of the check will be printed out.
|
| + */
|
| + void vpx_memory_tracker_check_integrity(char *file, unsigned int line);
|
|
|
| - /*
|
| - vpx_memory_tracker_set_log_type
|
| - type - value representing the logging type to use
|
| - option - type specific option. This will be interpreted differently
|
| - based on the type.
|
| - Sets the logging type for the memory tracker.
|
| - Values currently supported:
|
| - 0: if option is NULL, log to stderr, otherwise interpret option as a
|
| - filename and attempt to open it.
|
| - 1: Use output_debug_string (WIN32 only), option ignored
|
| - Return:
|
| - 0: on success
|
| - -1: if the logging type could not be set, because the value was invalid
|
| - or because a file could not be opened
|
| - */
|
| - int vpx_memory_tracker_set_log_type(int type, char *option);
|
| + /*
|
| + vpx_memory_tracker_set_log_type
|
| + type - value representing the logging type to use
|
| + option - type specific option. This will be interpreted differently
|
| + based on the type.
|
| + Sets the logging type for the memory tracker.
|
| + Values currently supported:
|
| + 0: if option is NULL, log to stderr, otherwise interpret option as a
|
| + filename and attempt to open it.
|
| + 1: Use output_debug_string (WIN32 only), option ignored
|
| + Return:
|
| + 0: on success
|
| + -1: if the logging type could not be set, because the value was invalid
|
| + or because a file could not be opened
|
| + */
|
| + int vpx_memory_tracker_set_log_type(int type, char *option);
|
|
|
| - /*
|
| - vpx_memory_tracker_set_log_func
|
| - userdata - ptr to be passed to the supplied logfunc, can be NULL
|
| - logfunc - the logging function to be used to output data from
|
| - vpx_memory_track_dump/check_integrity
|
| - Sets a logging function to be used by the memory tracker.
|
| - Return:
|
| - 0: on success
|
| - -1: if the logging type could not be set because logfunc was NULL
|
| - */
|
| - int vpx_memory_tracker_set_log_func(void *userdata,
|
| - void(*logfunc)(void *userdata,
|
| - const char *fmt, va_list args));
|
| + /*
|
| + vpx_memory_tracker_set_log_func
|
| + userdata - ptr to be passed to the supplied logfunc, can be NULL
|
| + logfunc - the logging function to be used to output data from
|
| + vpx_memory_track_dump/check_integrity
|
| + Sets a logging function to be used by the memory tracker.
|
| + Return:
|
| + 0: on success
|
| + -1: if the logging type could not be set because logfunc was NULL
|
| + */
|
| + int vpx_memory_tracker_set_log_func(void *userdata,
|
| + void(*logfunc)(void *userdata,
|
| + const char *fmt, va_list args));
|
|
|
| - /* Wrappers to standard library functions. */
|
| - typedef void*(* mem_track_malloc_func)(size_t);
|
| - typedef void*(* mem_track_calloc_func)(size_t, size_t);
|
| - typedef void*(* mem_track_realloc_func)(void *, size_t);
|
| - typedef void (* mem_track_free_func)(void *);
|
| - typedef void*(* mem_track_memcpy_func)(void *, const void *, size_t);
|
| - typedef void*(* mem_track_memset_func)(void *, int, size_t);
|
| - typedef void*(* mem_track_memmove_func)(void *, const void *, size_t);
|
| + /* Wrappers to standard library functions. */
|
| + typedef void *(* mem_track_malloc_func)(size_t);
|
| + typedef void *(* mem_track_calloc_func)(size_t, size_t);
|
| + typedef void *(* mem_track_realloc_func)(void *, size_t);
|
| + typedef void (* mem_track_free_func)(void *);
|
| + typedef void *(* mem_track_memcpy_func)(void *, const void *, size_t);
|
| + typedef void *(* mem_track_memset_func)(void *, int, size_t);
|
| + typedef void *(* mem_track_memmove_func)(void *, const void *, size_t);
|
|
|
| - /*
|
| - vpx_memory_tracker_set_functions
|
| + /*
|
| + vpx_memory_tracker_set_functions
|
|
|
| - Sets the function pointers for the standard library functions.
|
| + Sets the function pointers for the standard library functions.
|
|
|
| - Return:
|
| - 0: on success
|
| - -1: if the use global function pointers is not set.
|
| - */
|
| - int vpx_memory_tracker_set_functions(mem_track_malloc_func g_malloc_l
|
| - , mem_track_calloc_func g_calloc_l
|
| - , mem_track_realloc_func g_realloc_l
|
| - , mem_track_free_func g_free_l
|
| - , mem_track_memcpy_func g_memcpy_l
|
| - , mem_track_memset_func g_memset_l
|
| - , mem_track_memmove_func g_memmove_l);
|
| + Return:
|
| + 0: on success
|
| + -1: if the use global function pointers is not set.
|
| + */
|
| + int vpx_memory_tracker_set_functions(mem_track_malloc_func g_malloc_l
|
| +, mem_track_calloc_func g_calloc_l
|
| +, mem_track_realloc_func g_realloc_l
|
| +, mem_track_free_func g_free_l
|
| +, mem_track_memcpy_func g_memcpy_l
|
| +, mem_track_memset_func g_memset_l
|
| +, mem_track_memmove_func g_memmove_l);
|
|
|
| #if defined(__cplusplus)
|
| }
|
| #endif
|
|
|
| -#endif //__VPX_MEM_TRACKER_H__
|
| +#endif // __VPX_MEM_TRACKER_H__
|
|
|