X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini.h;h=191386a06bb5032ddeeb6e57b40e2fc81763080a;hb=e9518198e56d16e30c38b2ca9f3974217312f902;hp=c84e5290d463a693676b0e0f99bd1b5957283732;hpb=2099acf5f4a80c46bf4e75e9d67b8db4f2c86bbd;p=mono.git diff --git a/mono/mini/mini.h b/mono/mini/mini.h index c84e5290d46..191386a06bb 100644 --- a/mono/mini/mini.h +++ b/mono/mini/mini.h @@ -366,6 +366,8 @@ typedef struct gpointer llvm_module; /* Maps MonoMethod -> GSlist of addresses */ GHashTable *llvm_jit_callees; + /* Maps MonoMethod -> RuntimeMethod */ + MonoInternalHashTable interp_code_hash; } MonoJitDomainInfo; typedef struct { @@ -1200,6 +1202,12 @@ typedef struct { * the catch block that caught the ThreadAbortException). */ gpointer abort_exc_stack_threshold; + + + /* + * List of methods being JIT'd in the current thread. + */ + int active_jit_methods; } MonoJitTlsData; /* @@ -2255,6 +2263,8 @@ enum { */ guint8 *uw_info; guint32 uw_info_len; + /* Whenever uw_info is owned by this structure */ + gboolean owns_uw_info; } MonoTrampInfo; typedef void (*MonoInstFunc) (MonoInst *tree, gpointer data); @@ -2420,6 +2430,7 @@ gpointer mono_resolve_patch_target (MonoMethod *method, MonoDomain *dom gpointer mono_jit_find_compiled_method_with_jit_info (MonoDomain *domain, MonoMethod *method, MonoJitInfo **ji); gpointer mono_jit_find_compiled_method (MonoDomain *domain, MonoMethod *method); gpointer mono_jit_compile_method (MonoMethod *method, MonoError *error); +gpointer mono_jit_compile_method_jit_only (MonoMethod *method, MonoError *error); gpointer mono_jit_compile_method_inner (MonoMethod *method, MonoDomain *target_domain, int opt, MonoError *error); MonoLMF * mono_get_lmf (void); MonoLMF** mono_get_lmf_addr (void); @@ -3098,6 +3109,7 @@ MonoMethod* mini_get_gsharedvt_in_sig_wrapper (MonoMethodSignature *sig); MonoMethod* mini_get_gsharedvt_out_sig_wrapper (MonoMethodSignature *sig); MonoMethodSignature* mini_get_gsharedvt_out_sig_wrapper_signature (gboolean has_this, gboolean has_ret, int param_count); gboolean mini_gsharedvt_runtime_invoke_supported (MonoMethodSignature *sig); +MonoMethod* mini_get_interp_in_wrapper (MonoMethodSignature *sig); /* SIMD support */