[arm64] Scan simd registers on apple
[mono.git] / mono / utils / mono-codeman.h
index b6ef439be248b5117c5ef773ee4cac79532e03fe..64cff52da7f98c471292d8977dc9be3d8302e73e 100644 (file)
@@ -1,15 +1,33 @@
+/**
+ * \file
+ */
+
 #ifndef __MONO_CODEMAN_H__
 #define __MONO_CODEMAN_H__
 
+#include <mono/utils/mono-publib.h>
+
 typedef struct _MonoCodeManager MonoCodeManager;
 
-MonoCodeManager* mono_code_manager_new     (void);
-MonoCodeManager* mono_code_manager_new_dynamic (void);
-void             mono_code_manager_destroy (MonoCodeManager *cman);
-void             mono_code_manager_invalidate (MonoCodeManager *cman);
+typedef struct {
+       void (*chunk_new) (void *chunk, int size);
+       void (*chunk_destroy) (void *chunk);
+} MonoCodeManagerCallbacks;
+
+MONO_API MonoCodeManager* mono_code_manager_new     (void);
+MONO_API MonoCodeManager* mono_code_manager_new_dynamic (void);
+MONO_API void             mono_code_manager_destroy (MonoCodeManager *cman);
+MONO_API void             mono_code_manager_invalidate (MonoCodeManager *cman);
+MONO_API void             mono_code_manager_set_read_only (MonoCodeManager *cman);
+
+MONO_API void*            mono_code_manager_reserve_align (MonoCodeManager *cman, int size, int alignment);
 
-void*            mono_code_manager_reserve (MonoCodeManager *cman, int size);
-void             mono_code_manager_commit  (MonoCodeManager *cman, void *data, int size, int newsize);
+MONO_API void*            mono_code_manager_reserve (MonoCodeManager *cman, int size);
+MONO_API void             mono_code_manager_commit  (MonoCodeManager *cman, void *data, int size, int newsize);
+MONO_API int              mono_code_manager_size    (MonoCodeManager *cman, int *used_size);
+MONO_API void             mono_code_manager_init (void);
+MONO_API void             mono_code_manager_cleanup (void);
+MONO_API void             mono_code_manager_install_callbacks (MonoCodeManagerCallbacks* callbacks);
 
 /* find the extra block allocated to resolve branches close to code */
 typedef int    (*MonoCodeManagerFunc)      (void *data, int csize, int size, void *user_data);