Enable monitor enter/exit wrappers under sgen.
[mono.git] / mono / metadata / mono-basic-block.h
1 #ifndef __MONO_METADATA_BASIC_BLOCK_H__
2 #define __MONO_METADATA_BASIC_BLOCK_H__
3
4 #include <glib.h>
5
6
7 G_BEGIN_DECLS
8
9 typedef struct _MonoSimpleBasicBlock MonoSimpleBasicBlock;
10
11 struct _MonoSimpleBasicBlock {
12         MonoSimpleBasicBlock *next, *left, *right, *parent;
13         GSList *out_bb;
14         int start, end;
15         unsigned colour   : 1;
16         unsigned dead     : 1;
17 };
18
19
20 MonoSimpleBasicBlock*
21 mono_basic_block_split (MonoMethod *method, MonoError *error) MONO_INTERNAL;
22
23 void
24 mono_basic_block_free (MonoSimpleBasicBlock *bb) MONO_INTERNAL;
25
26
27 /*This function is here because opcodes.h is a public header*/
28 int
29 mono_opcode_value_and_size (const unsigned char **ip, const unsigned char *end, int *value) MONO_INTERNAL;
30
31 int
32 mono_opcode_size (const unsigned char *ip, const unsigned char *end) MONO_INTERNAL;
33
34 G_END_DECLS
35
36 #endif  /* __MONO_METADATA_BASIC_BLOCK_H__ */
37