alloc: allow arbitrary repositories for alloc functions
We have to convert all of the alloc functions at once, because alloc_report uses a funky macro for reporting. It is better for the sake of mechanical conversion to convert multiple functions at once rather than changing the structure of the reporting function. We record all memory allocation in alloc.c, and free them in clear_alloc_state, which is called for all repositories except the_repository. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
341e45e46b
commit
14ba97f81c
16
cache.h
16
cache.h
@ -1763,22 +1763,6 @@ extern const char *excludes_file;
|
||||
int decode_85(char *dst, const char *line, int linelen);
|
||||
void encode_85(char *buf, const unsigned char *data, int bytes);
|
||||
|
||||
/* alloc.c */
|
||||
#define alloc_blob_node(r) alloc_blob_node_##r()
|
||||
extern void *alloc_blob_node_the_repository(void);
|
||||
#define alloc_tree_node(r) alloc_tree_node_##r()
|
||||
extern void *alloc_tree_node_the_repository(void);
|
||||
#define alloc_commit_node(r) alloc_commit_node_##r()
|
||||
extern void *alloc_commit_node_the_repository(void);
|
||||
#define alloc_tag_node(r) alloc_tag_node_##r()
|
||||
extern void *alloc_tag_node_the_repository(void);
|
||||
#define alloc_object_node(r) alloc_object_node_##r()
|
||||
extern void *alloc_object_node_the_repository(void);
|
||||
#define alloc_report(r) alloc_report_##r()
|
||||
extern void alloc_report_the_repository(void);
|
||||
#define alloc_commit_index(r) alloc_commit_index_##r()
|
||||
extern unsigned int alloc_commit_index_the_repository(void);
|
||||
|
||||
/* pkt-line.c */
|
||||
void packet_trace_identity(const char *prog);
|
||||
|
||||
|
Reference in New Issue
Block a user