X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Finterpreter%2Finterp.h;h=0953e5a54cfb93f1448dd9a80a815952469127bb;hb=e2b2d181084848f3c5dde2788370db1b79893c69;hp=f403a92d7c7c65c95e6922aed2ece80b90f6351f;hpb=ca1ca15642673854814f48dc4bef71dbb0f7a97c;p=mono.git diff --git a/mono/interpreter/interp.h b/mono/interpreter/interp.h index f403a92d7c7..0953e5a54cf 100644 --- a/mono/interpreter/interp.h +++ b/mono/interpreter/interp.h @@ -55,8 +55,14 @@ typedef void (*MonoPIFunc) (MonoFunc callme, void *retval, void *obj_this, stack * Structure representing a method transformed for the interpreter * This is domain specific */ -typedef struct +typedef struct _RuntimeMethod { + /* NOTE: These first two elements (method and + next_jit_code_hash) must be in the same order and at the + same offset as in MonoJitInfo, because of the jit_code_hash + internal hash table in MonoDomain. */ + MonoMethod *method; + struct _RuntimeMethod *next_jit_code_hash; guint32 locals_size; guint32 args_size; guint32 stack_size; @@ -64,7 +70,6 @@ typedef struct guint32 alloca_size; unsigned short *code; unsigned short *new_body_start; /* after all STINARG instrs */ - MonoMethod *method; MonoPIFunc func; int num_clauses; MonoExceptionClause *clauses; @@ -109,6 +114,9 @@ void mono_init_icall (void); MonoException * mono_interp_transform_method (RuntimeMethod *runtime_method, ThreadContext *context); +MonoDelegate* +mono_interp_ftnptr_to_delegate (MonoClass *klass, gpointer ftn); + void mono_interp_transform_init (void);