Add memory barrier support using BCR 14,0
authorNeale Ferguson <neale@sinenomine.net>
Thu, 22 Jan 2015 10:12:17 +0000 (05:12 -0500)
committerNeale Ferguson <neale@sinenomine.net>
Thu, 22 Jan 2015 10:12:17 +0000 (05:12 -0500)
mono/arch/s390x/s390x-codegen.h
mono/mini/mini-s390x.c

index 47e656422ee35c7ad5ab68b519ae43ef1e05ba63..ae4bcdd190ef97d2ad044b65951203c7d827c568 100644 (file)
@@ -921,6 +921,7 @@ typedef struct {
 #define s390_nill(c, r, v)             S390_RI(c, 0xa57, r, v)
 #define s390_niy(c, b, d, v)           S390_SIY(c, 0xeb54, b, d, v) 
 #define s390_nop(c)                    S390_RR(c, 0x07, 0x0, 0)
+#define s390_mem(c)                    S390_RR(c, 0x07, 0xe, 0)
 #define s390_nr(c, r1, r2)             S390_RR(c, 0x14, r1, r2)
 #define s390_nrk(c, r1, r2)            S390_RRF_1(c, 0xb9f4, r1, r2)
 #define s390_ny(c, r, x, b, d)         S390_RRY(c, 0xe354, r1, r2)
index 22e488ae8106d6aa53e23879b737e640ce40b791..83bbe416a86d68c7e8a09a945f38f55e73957f23 100644 (file)
@@ -4580,8 +4580,8 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        }
                }
                        break;  
-               case OP_MEMORY_BARRIER: {
-               }
+               case OP_MEMORY_BARRIER:
+                       s390_mem (code);
                        break;
                case OP_GC_LIVENESS_DEF:
                case OP_GC_LIVENESS_USE: