Fixes for the stat profiler.
[mono.git] / mono / utils / mono-codeman.h
1 #ifndef __MONO_CODEMAN_H__
2 #define __MONO_CODEMAN_H__
3
4 typedef struct _MonoCodeManager MonoCodeManager;
5
6 MonoCodeManager* mono_code_manager_new     (void);
7 MonoCodeManager* mono_code_manager_new_dynamic (void);
8 void             mono_code_manager_destroy (MonoCodeManager *cman);
9 void             mono_code_manager_invalidate (MonoCodeManager *cman);
10 void             mono_code_manager_set_read_only (MonoCodeManager *cman);
11
12 void*            mono_code_manager_reserve_align (MonoCodeManager *cman, int size, int alignment);
13
14 void*            mono_code_manager_reserve (MonoCodeManager *cman, int size);
15 void             mono_code_manager_commit  (MonoCodeManager *cman, void *data, int size, int newsize);
16 int              mono_code_manager_size    (MonoCodeManager *cman, int *used_size);
17
18 /* find the extra block allocated to resolve branches close to code */
19 typedef int    (*MonoCodeManagerFunc)      (void *data, int csize, int size, void *user_data);
20 void            mono_code_manager_foreach  (MonoCodeManager *cman, MonoCodeManagerFunc func, void *user_data);
21
22 #endif /* __MONO_CODEMAN_H__ */
23