#endif
/* Version number of the AOT file format */
-#define MONO_AOT_FILE_VERSION 123
+#define MONO_AOT_FILE_VERSION 124
//TODO: This is x86/amd64 specific.
#define mono_simd_shuffle_mask(a,b,c,d) ((a) | ((b) << 2) | ((c) << 4) | ((d) << 6))
MonoCodeManager *code_mp;
} MonoJitDynamicMethodInfo;
+/* An extension of MonoGenericParamFull used in generic sharing */
+typedef struct {
+ MonoGenericParamFull param;
+ MonoGenericParam *parent;
+} MonoGSharedGenericParam;
+
#define domain_jit_info(domain) ((MonoJitDomainInfo*)((domain)->runtime_info))
/* Contains a list of ips which needs to be patched when a method is compiled */
guint gsharedvt : 1;
guint r4fp : 1;
guint llvm_only : 1;
+ guint need_got_var : 1;
+ guint have_card_table_wb : 1;
+ guint have_op_generic_class_init : 1;
+ guint emulate_mul_div : 1;
+ guint emulate_div : 1;
+ guint emulate_long_shift_opts : 1;
+ guint have_objc_get_selector : 1;
+ guint have_generalized_imt_thunk : 1;
+ guint have_tls_get : 1;
+ guint have_liverange_ops: 1;
+ guint gshared_supported : 1;
+ guint use_fpstack : 1;
int r4_stack_type;
gpointer debug_info;
guint32 lmf_offset;
MonoMethod* mini_get_shared_method (MonoMethod *method);
MonoMethod* mini_get_shared_method_to_register (MonoMethod *method);
MonoMethod* mini_get_shared_method_full (MonoMethod *method, gboolean all_vt, gboolean is_gsharedvt);
+MonoType* mini_get_shared_gparam (MonoType *t, MonoType *constraint);
int mini_get_rgctx_entry_slot (MonoJumpInfoRgctxEntry *entry);
int mini_type_stack_size (MonoType *t, int *align);