2010-05-14 Rodrigo Kumpera <rkumpera@novell.com>
[mono-project.git] / mono / metadata / mono-basic-block.h
blob77abd7a46963d3454f2de103197738723e351176
1 #ifndef __MONO_METADATA_BASIC_BLOCK_H__
2 #define __MONO_METADATA_BASIC_BLOCK_H__
4 #include <glib.h>
7 G_BEGIN_DECLS
9 typedef struct _MonoSimpleBasicBlock MonoSimpleBasicBlock;
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;
20 MonoSimpleBasicBlock*
21 mono_basic_block_split (MonoMethod *method, MonoError *error) MONO_INTERNAL;
23 void
24 mono_basic_block_free (MonoSimpleBasicBlock *bb) MONO_INTERNAL;
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;
31 int
32 mono_opcode_size (const unsigned char *ip, const unsigned char *end) MONO_INTERNAL;
34 G_END_DECLS
36 #endif /* __MONO_METADATA_BASIC_BLOCK_H__ */