Extract the code to emit a memory barrier. Add a memory_barrier_kind field to MonoIns...
[mono.git] / mono / mini / mini.h
index 79dd2508644f8caa19081750c793a9cdfdf3112c..e3d5e54e1c5c93095f291c11dc86554977c7e7a5 100644 (file)
@@ -735,6 +735,7 @@ struct MonoInst {
                MonoInst *spill_var; /* for OP_ICONV_TO_R8_RAW and OP_FCONV_TO_R8_X */
                guint16 source_opcode; /*OP_XCONV_R8_TO_I4 needs to know which op was used to do proper widening*/
                int pc_offset; /* OP_GC_LIVERANGE_START/END */
+               int memory_barrier_kind; /* see mono-memory-model.h for valid values */
        } backend;
        
        MonoClass *klass;
@@ -2427,13 +2428,14 @@ gboolean SIG_HANDLER_SIGNATURE (mono_chain_signal) MONO_INTERNAL;
 
 /* for MONO_WRAPPER_UNKNOWN/MANAGED_TO_MANAGED subtypes */
 enum {
-       MONO_AOT_WRAPPER_MONO_ENTER,
-       MONO_AOT_WRAPPER_MONO_EXIT,
+       MONO_AOT_WRAPPER_MONITOR_ENTER,
+       MONO_AOT_WRAPPER_MONITOR_EXIT,
        MONO_AOT_WRAPPER_ELEMENT_ADDR,
        MONO_AOT_WRAPPER_PTR_TO_STRUCTURE,
        MONO_AOT_WRAPPER_STRUCTURE_TO_PTR,
        MONO_AOT_WRAPPER_CASTCLASS_WITH_CACHE,
        MONO_AOT_WRAPPER_ISINST_WITH_CACHE,
+       MONO_AOT_WRAPPER_MONITOR_ENTER_V4,
        MONO_AOT_WRAPPER_LAST
 };