view src/parallel_execution/DebugWorker/memory.h @ 1015:e6778c866876

add DebugWorker and DebugTaskManager
author Takato Matsuoka <t.matsuoka@cr.ie.u-ryukyu.ac.jp>
date Tue, 18 Jan 2022 19:54:28 +0900
parents
children
line wrap: on
line source

#ifndef _MEMORY_H_
#define _MEMORY_H_


typedef struct memory {
	void *adr;
	int  length;
	void *body;
	int  hash;
	struct memory *left,*right;
} Memory, *MemoryPtr;

extern void die_exit(char *);

extern MemoryPtr
create_memory(void *adr, int length);

extern unsigned
compute_memory_hash1(MemoryPtr m, unsigned hash);

extern void
free_memory(MemoryPtr m);

extern int
cmp_content(MemoryPtr a,MemoryPtr b);

extern int
cmp_memory(MemoryPtr a,MemoryPtr b);

extern MemoryPtr 
copy_memory(MemoryPtr m, MemoryPtr *db);

extern void
restore_memory(MemoryPtr m) ;

extern unsigned 
get_memory_hash(MemoryPtr m,unsigned  hash);

MemoryPtr
add_memory(void *ptr,int length, MemoryPtr *parent);

extern int
memory_lookup(MemoryPtr m, MemoryPtr *parent,
                    MemoryPtr (*new_memory)(MemoryPtr), MemoryPtr *out);

extern MemoryPtr
add_memory_range(void *ptr,int length, MemoryPtr *parent);

extern int
memory_range_lookup(MemoryPtr m, MemoryPtr *parent, MemoryPtr *out);

extern void
memory_usage();

extern void
dump_memory(MemoryPtr m);


#endif
/* end */