Fixed Mono includes to be able to be included independently.
[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 #include <mono/utils/mono-compiler.h>
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 typedef struct _MonoMethod MonoMethod;
20 typedef struct _MonoError MonoError;
21
22 MonoSimpleBasicBlock*
23 mono_basic_block_split (MonoMethod *method, MonoError *error) MONO_INTERNAL;
24
25 void
26 mono_basic_block_free (MonoSimpleBasicBlock *bb) MONO_INTERNAL;
27
28
29 /*This function is here because opcodes.h is a public header*/
30 int
31 mono_opcode_value_and_size (const unsigned char **ip, const unsigned char *end, int *value) MONO_INTERNAL;
32
33 int
34 mono_opcode_size (const unsigned char *ip, const unsigned char *end) MONO_INTERNAL;
35
36 G_END_DECLS
37
38 #endif  /* __MONO_METADATA_BASIC_BLOCK_H__ */
39