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