Make sure Epsilon barriers are under INCLUDE_ALL_GCS epsilon-gc-branch
authorshade
Mon, 12 Mar 2018 16:53:47 +0100
branchepsilon-gc-branch
changeset 56279 a4fc9b609b82
parent 56277 6f96c46be4e6
child 56348 f3b0961adb3c
Make sure Epsilon barriers are under INCLUDE_ALL_GCS
src/hotspot/cpu/arm/templateTable_arm.cpp
src/hotspot/cpu/ppc/templateTable_ppc_64.cpp
src/hotspot/cpu/s390/templateTable_s390.cpp
src/hotspot/cpu/sparc/templateTable_sparc.cpp
src/hotspot/cpu/x86/stubGenerator_x86_32.cpp
src/hotspot/cpu/x86/templateTable_x86.cpp
src/hotspot/share/c1/c1_LIRGenerator.cpp
--- a/src/hotspot/cpu/arm/templateTable_arm.cpp	Mon Mar 12 12:28:43 2018 +0100
+++ b/src/hotspot/cpu/arm/templateTable_arm.cpp	Mon Mar 12 16:53:47 2018 +0100
@@ -227,6 +227,16 @@
         }
       }
       break;
+    case BarrierSet::Epsilon:
+      {
+        if (is_null) {
+          __ store_heap_oop_null(new_val, obj);
+        } else {
+          __ store_heap_oop(new_val, obj); // blows new_val:
+          new_val = noreg;
+        }
+      }
+      break;
 #endif // INCLUDE_ALL_GCS
     case BarrierSet::CardTableModRef:
       {
@@ -243,16 +253,6 @@
         }
       }
       break;
-    case BarrierSet::Epsilon:
-      {
-        if (is_null) {
-          __ store_heap_oop_null(new_val, obj);
-        } else {
-          __ store_heap_oop(new_val, obj); // blows new_val:
-          new_val = noreg;
-        }
-      }
-      break;
     case BarrierSet::ModRef:
       ShouldNotReachHere();
       break;
--- a/src/hotspot/cpu/ppc/templateTable_ppc_64.cpp	Mon Mar 12 12:28:43 2018 +0100
+++ b/src/hotspot/cpu/ppc/templateTable_ppc_64.cpp	Mon Mar 12 16:53:47 2018 +0100
@@ -102,6 +102,9 @@
         __ bind(Ldone);
       }
       break;
+    case BarrierSet::Epsilon:
+      Unimplemented(); // Should look like CardTableModRef without card marks?
+      break;
 #endif // INCLUDE_ALL_GCS
     case BarrierSet::CardTableModRef:
       {
@@ -138,9 +141,6 @@
         __ bind(Ldone);
       }
       break;
-    case BarrierSet::Epsilon:
-      Unimplemented(); // Should look like CardTableForRS without card mark?
-      break;
     case BarrierSet::ModRef:
       ShouldNotReachHere();
       break;
--- a/src/hotspot/cpu/s390/templateTable_s390.cpp	Mon Mar 12 12:28:43 2018 +0100
+++ b/src/hotspot/cpu/s390/templateTable_s390.cpp	Mon Mar 12 16:53:47 2018 +0100
@@ -259,6 +259,15 @@
         }
       }
       break;
+    case BarrierSet::Epsilon:
+      {
+        if (val_is_null) {
+          __ store_heap_oop_null(val, offset, base);
+        } else {
+          __ store_heap_oop(val, offset, base);
+        }
+      }
+      break;
 #endif // INCLUDE_ALL_GCS
     case BarrierSet::CardTableModRef:
     {
@@ -274,15 +283,6 @@
       }
     }
     break;
-  case BarrierSet::Epsilon:
-    {
-      if (val_is_null) {
-        __ store_heap_oop_null(val, offset, base);
-      } else {
-        __ store_heap_oop(val, offset, base);
-      }
-    }
-    break;
   case BarrierSet::ModRef:
     // fall through
   default:
--- a/src/hotspot/cpu/sparc/templateTable_sparc.cpp	Mon Mar 12 12:28:43 2018 +0100
+++ b/src/hotspot/cpu/sparc/templateTable_sparc.cpp	Mon Mar 12 16:53:47 2018 +0100
@@ -89,6 +89,16 @@
         }
       }
       break;
+    case BarrierSet::Epsilon:
+      {
+        if (index == noreg) {
+          assert(Assembler::is_simm13(offset), "fix this code");
+          __ store_heap_oop(val, base, offset);
+        } else {
+          __ store_heap_oop(val, base, index);
+        }
+      }
+      break;
 #endif // INCLUDE_ALL_GCS
     case BarrierSet::CardTableModRef:
       {
@@ -111,16 +121,6 @@
         }
       }
       break;
-    case BarrierSet::Epsilon:
-      {
-        if (index == noreg) {
-          assert(Assembler::is_simm13(offset), "fix this code");
-          __ store_heap_oop(val, base, offset);
-        } else {
-          __ store_heap_oop(val, base, index);
-        }
-      }
-      break;
     case BarrierSet::ModRef:
       ShouldNotReachHere();
       break;
--- a/src/hotspot/cpu/x86/stubGenerator_x86_32.cpp	Mon Mar 12 12:28:43 2018 +0100
+++ b/src/hotspot/cpu/x86/stubGenerator_x86_32.cpp	Mon Mar 12 16:53:47 2018 +0100
@@ -706,9 +706,10 @@
            __ bind(filtered);
          }
         break;
+      case BarrierSet::Epsilon:
+        break;
 #endif // INCLUDE_ALL_GCS
       case BarrierSet::CardTableModRef:
-      case BarrierSet::Epsilon:
         break;
       default      :
         ShouldNotReachHere();
@@ -738,6 +739,8 @@
           __ popa();
         }
         break;
+      case BarrierSet::Epsilon:
+        break;
 #endif // INCLUDE_ALL_GCS
 
       case BarrierSet::CardTableModRef:
@@ -763,7 +766,6 @@
         }
         break;
       case BarrierSet::ModRef:
-      case BarrierSet::Epsilon:
         break;
       default      :
         ShouldNotReachHere();
--- a/src/hotspot/cpu/x86/templateTable_x86.cpp	Mon Mar 12 12:28:43 2018 +0100
+++ b/src/hotspot/cpu/x86/templateTable_x86.cpp	Mon Mar 12 16:53:47 2018 +0100
@@ -197,6 +197,13 @@
         NOT_LP64( __ restore_bcp());
       }
       break;
+    case BarrierSet::Epsilon:
+      if (val == noreg) {
+        __ store_heap_oop_null(obj);
+      } else {
+        __ store_heap_oop(obj, val);
+      }
+      break;
 #endif // INCLUDE_ALL_GCS
     case BarrierSet::CardTableModRef:
       {
@@ -215,7 +222,6 @@
       }
       break;
     case BarrierSet::ModRef:
-    case BarrierSet::Epsilon:
       if (val == noreg) {
         __ store_heap_oop_null(obj);
       } else {
--- a/src/hotspot/share/c1/c1_LIRGenerator.cpp	Mon Mar 12 12:28:43 2018 +0100
+++ b/src/hotspot/share/c1/c1_LIRGenerator.cpp	Mon Mar 12 16:53:47 2018 +0100
@@ -1462,9 +1462,11 @@
     case BarrierSet::G1SATBCTLogging:
       G1SATBCardTableModRef_pre_barrier(addr_opr, pre_val, do_load, patch, info);
       break;
+    case BarrierSet::Epsilon:
+      // No barriers
+      break;
 #endif // INCLUDE_ALL_GCS
     case BarrierSet::CardTableModRef:
-    case BarrierSet::Epsilon:
       // No pre barriers
       break;
     default      :
@@ -1479,13 +1481,13 @@
     case BarrierSet::G1SATBCTLogging:
       G1SATBCardTableModRef_post_barrier(addr,  new_val);
       break;
+    case BarrierSet::Epsilon:
+      // No barriers
+      break;
 #endif // INCLUDE_ALL_GCS
     case BarrierSet::CardTableModRef:
       CardTableModRef_post_barrier(addr,  new_val);
       break;
-    case BarrierSet::Epsilon:
-      // No post barriers
-      break;
     default      :
       ShouldNotReachHere();
     }