Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / mini / tasklets.h
1 /**
2  * \file
3  */
4
5 #ifndef __MONO_TASKLETS_H__
6 #define __MONO_TASKLETS_H__
7
8 #include "mini.h"
9
10 typedef struct {
11         MonoLMF *lmf;
12         gpointer top_sp;
13         MonoNativeThreadId thread_id;
14         MonoDomain *domain;
15
16         /* the instruction pointer and stack to return to on Restore */
17         gpointer return_ip;
18         gpointer return_sp;
19
20         /* the saved stack information */
21         int stack_alloc_size;
22         int stack_used_size;
23         /* pointer to GC memory */
24         gpointer saved_stack;
25 } MonoContinuation;
26
27 typedef void (*MonoContinuationRestore) (MonoContinuation *cont, int state, MonoLMF **lmf_addr);
28
29 void  mono_tasklets_init    (void);
30 void  mono_tasklets_cleanup (void);
31
32 MonoContinuationRestore mono_tasklets_arch_restore (void);
33
34 #endif /* __MONO_TASKLETS_H__ */
35