mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
InnoDB: disable unreachable debug functions unless #ifdef UNIV_MEM_DEBUG
innobase/include/mem0dbg.ic: Disable debug functions unless #ifdef UNIV_MEM_DEBUG innobase/mem/mem0dbg.c: Disable debug functions unless #ifdef UNIV_MEM_DEBUG Make some global variables static
This commit is contained in:
parent
635b9d7858
commit
2c9487abdc
2 changed files with 21 additions and 13 deletions
|
@ -7,6 +7,7 @@ compilation module but is included in mem0mem.*.
|
||||||
Created 6/8/1994 Heikki Tuuri
|
Created 6/8/1994 Heikki Tuuri
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
|
#ifdef UNIV_MEM_DEBUG
|
||||||
extern mutex_t mem_hash_mutex;
|
extern mutex_t mem_hash_mutex;
|
||||||
extern ulint mem_current_allocated_memory;
|
extern ulint mem_current_allocated_memory;
|
||||||
|
|
||||||
|
@ -89,3 +90,4 @@ mem_field_trailer_set_check(byte* field, ulint check);
|
||||||
|
|
||||||
ulint
|
ulint
|
||||||
mem_field_trailer_get_check(byte* field);
|
mem_field_trailer_get_check(byte* field);
|
||||||
|
#endif /* UNIV_MEM_DEBUG */
|
||||||
|
|
|
@ -7,6 +7,7 @@ but is included in mem0mem.* !
|
||||||
Created 6/9/1994 Heikki Tuuri
|
Created 6/9/1994 Heikki Tuuri
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
|
#ifdef UNIV_MEM_DEBUG
|
||||||
mutex_t mem_hash_mutex; /* The mutex which protects in the
|
mutex_t mem_hash_mutex; /* The mutex which protects in the
|
||||||
debug version the hash table containing
|
debug version the hash table containing
|
||||||
the list of live memory heaps, and
|
the list of live memory heaps, and
|
||||||
|
@ -16,12 +17,11 @@ mutex_t mem_hash_mutex; /* The mutex which protects in the
|
||||||
extent of memory allocations. Only used in the debug version.
|
extent of memory allocations. Only used in the debug version.
|
||||||
Protected by mem_hash_mutex above. */
|
Protected by mem_hash_mutex above. */
|
||||||
|
|
||||||
ulint mem_n_created_heaps = 0;
|
static ulint mem_n_created_heaps = 0;
|
||||||
ulint mem_n_allocations = 0;
|
static ulint mem_n_allocations = 0;
|
||||||
ulint mem_total_allocated_memory = 0;
|
static ulint mem_total_allocated_memory = 0;
|
||||||
ulint mem_current_allocated_memory = 0;
|
static ulint mem_current_allocated_memory = 0;
|
||||||
ulint mem_max_allocated_memory = 0;
|
static ulint mem_max_allocated_memory = 0;
|
||||||
ulint mem_last_print_info = 0;
|
|
||||||
|
|
||||||
/* Size of the hash table for memory management tracking */
|
/* Size of the hash table for memory management tracking */
|
||||||
#define MEM_HASH_SIZE 997
|
#define MEM_HASH_SIZE 997
|
||||||
|
@ -43,12 +43,12 @@ struct mem_hash_node_struct {
|
||||||
typedef UT_LIST_BASE_NODE_T(mem_hash_node_t) mem_hash_cell_t;
|
typedef UT_LIST_BASE_NODE_T(mem_hash_node_t) mem_hash_cell_t;
|
||||||
|
|
||||||
/* The hash table of allocated heaps */
|
/* The hash table of allocated heaps */
|
||||||
mem_hash_cell_t mem_hash_table[MEM_HASH_SIZE];
|
static mem_hash_cell_t mem_hash_table[MEM_HASH_SIZE];
|
||||||
|
|
||||||
/* The base node of the list of all allocated heaps */
|
/* The base node of the list of all allocated heaps */
|
||||||
mem_hash_cell_t mem_all_list_base;
|
static mem_hash_cell_t mem_all_list_base;
|
||||||
|
|
||||||
ibool mem_hash_initialized = FALSE;
|
static ibool mem_hash_initialized = FALSE;
|
||||||
|
|
||||||
|
|
||||||
UNIV_INLINE
|
UNIV_INLINE
|
||||||
|
@ -65,14 +65,13 @@ mem_hash_get_nth_cell(ulint i)
|
||||||
|
|
||||||
return(&(mem_hash_table[i]));
|
return(&(mem_hash_table[i]));
|
||||||
}
|
}
|
||||||
|
#endif /* UNIV_MEM_DEBUG */
|
||||||
|
|
||||||
/* Accessor functions for a memory field in the debug version */
|
/* Accessor functions for a memory field in the debug version */
|
||||||
|
|
||||||
void
|
void
|
||||||
mem_field_header_set_len(byte* field, ulint len)
|
mem_field_header_set_len(byte* field, ulint len)
|
||||||
{
|
{
|
||||||
ut_ad(len >= 0);
|
|
||||||
|
|
||||||
mach_write_to_4(field - 2 * sizeof(ulint), len);
|
mach_write_to_4(field - 2 * sizeof(ulint), len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -164,6 +163,7 @@ mem_field_init(
|
||||||
mem_field_header_set_check(usr_buf, rnd);
|
mem_field_header_set_check(usr_buf, rnd);
|
||||||
mem_field_trailer_set_check(usr_buf, rnd);
|
mem_field_trailer_set_check(usr_buf, rnd);
|
||||||
|
|
||||||
|
#ifdef UNIV_MEM_DEBUG
|
||||||
/* Update the memory allocation information */
|
/* Update the memory allocation information */
|
||||||
|
|
||||||
mutex_enter(&mem_hash_mutex);
|
mutex_enter(&mem_hash_mutex);
|
||||||
|
@ -182,6 +182,7 @@ mem_field_init(
|
||||||
combination of 0xBA and 0xBE */
|
combination of 0xBA and 0xBE */
|
||||||
|
|
||||||
mem_init_buf(usr_buf, n);
|
mem_init_buf(usr_buf, n);
|
||||||
|
#endif /* UNIV_MEM_DEBUG */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
|
@ -191,12 +192,14 @@ void
|
||||||
mem_field_erase(
|
mem_field_erase(
|
||||||
/*============*/
|
/*============*/
|
||||||
byte* buf, /* in: memory field */
|
byte* buf, /* in: memory field */
|
||||||
ulint n) /* in: how many bytes the user requested */
|
ulint n __attribute__((unused)))
|
||||||
|
/* in: how many bytes the user requested */
|
||||||
{
|
{
|
||||||
byte* usr_buf;
|
byte* usr_buf;
|
||||||
|
|
||||||
usr_buf = buf + MEM_FIELD_HEADER_SIZE;
|
usr_buf = buf + MEM_FIELD_HEADER_SIZE;
|
||||||
|
|
||||||
|
#ifdef UNIV_MEM_DEBUG
|
||||||
mutex_enter(&mem_hash_mutex);
|
mutex_enter(&mem_hash_mutex);
|
||||||
mem_current_allocated_memory -= n;
|
mem_current_allocated_memory -= n;
|
||||||
mutex_exit(&mem_hash_mutex);
|
mutex_exit(&mem_hash_mutex);
|
||||||
|
@ -208,8 +211,10 @@ mem_field_erase(
|
||||||
combination of 0xDE and 0xAD */
|
combination of 0xDE and 0xAD */
|
||||||
|
|
||||||
mem_erase_buf(buf, MEM_SPACE_NEEDED(n));
|
mem_erase_buf(buf, MEM_SPACE_NEEDED(n));
|
||||||
|
#endif /* UNIV_MEM_DEBUG */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef UNIV_MEM_DEBUG
|
||||||
/*******************************************************************
|
/*******************************************************************
|
||||||
Initializes a buffer to a random combination of hex BA and BE.
|
Initializes a buffer to a random combination of hex BA and BE.
|
||||||
Used to initialize allocated memory. */
|
Used to initialize allocated memory. */
|
||||||
|
@ -370,6 +375,7 @@ mem_hash_remove(
|
||||||
|
|
||||||
mutex_exit(&mem_hash_mutex);
|
mutex_exit(&mem_hash_mutex);
|
||||||
}
|
}
|
||||||
|
#endif /* UNIV_MEM_DEBUG */
|
||||||
|
|
||||||
/*******************************************************************
|
/*******************************************************************
|
||||||
Checks a memory heap for consistency and prints the contents if requested.
|
Checks a memory heap for consistency and prints the contents if requested.
|
||||||
|
|
Loading…
Reference in a new issue