--- 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();
}