[llvmonly] Fix initialization of static gshared methods, they receive a vtable as...
[mono.git] / mono / mini / mini.h
index 4e92c835c738f19e488ac452f988806be1776e28..976e7fec25fdc4c48a19701adada6b60f120e0f9 100644 (file)
 #endif
 
 /* Version number of the AOT file format */
-#define MONO_AOT_FILE_VERSION 129
+#define MONO_AOT_FILE_VERSION 131
 
 //TODO: This is x86/amd64 specific.
 #define mono_simd_shuffle_mask(a,b,c,d) ((a) | ((b) << 2) | ((c) << 4) | ((d) << 6))
@@ -1158,6 +1158,11 @@ typedef struct {
         * The current exception in flight
         */
        guint32 thrown_exc;
+
+       /*
+        * The calling assembly in llvmonly mode.
+        */
+       MonoImage *calling_image;
 } MonoJitTlsData;
 
 /*
@@ -1215,6 +1220,7 @@ typedef enum {
        MONO_RGCTX_INFO_METHOD_GSHAREDVT_OUT_TRAMPOLINE_VIRT,
        /* Same for calli, associated with a signature */
        MONO_RGCTX_INFO_SIG_GSHAREDVT_OUT_TRAMPOLINE_CALLI,
+       MONO_RGCTX_INFO_SIG_GSHAREDVT_IN_TRAMPOLINE_CALLI,
        /* One of MONO_GSHAREDVT_BOX_TYPE */
        MONO_RGCTX_INFO_CLASS_BOX_TYPE,
        /* Resolves to a MonoGSharedVtMethodRuntimeInfo */
@@ -2446,7 +2452,8 @@ void     mono_aot_register_jit_icall        (const char *name, gpointer addr);
 guint32  mono_aot_find_method_index         (MonoMethod *method);
 void     mono_aot_init_llvm_method          (gpointer aot_module, guint32 method_index);
 void     mono_aot_init_gshared_method_this  (gpointer aot_module, guint32 method_index, MonoObject *this_ins);
-void     mono_aot_init_gshared_method_rgctx  (gpointer aot_module, guint32 method_index, MonoMethodRuntimeGenericContext *rgctx);
+void     mono_aot_init_gshared_method_mrgctx  (gpointer aot_module, guint32 method_index, MonoMethodRuntimeGenericContext *rgctx);
+void     mono_aot_init_gshared_method_vtable  (gpointer aot_module, guint32 method_index, MonoVTable *vtable);
 
 /* This is an exported function */
 MONO_API void     mono_aot_register_module           (gpointer *aot_info);