--- a/src/hotspot/cpu/sparc/gc/g1/g1BarrierSetAssembler_sparc.cpp Tue Jun 26 13:50:59 2018 -0700
+++ b/src/hotspot/cpu/sparc/gc/g1/g1BarrierSetAssembler_sparc.cpp Tue Jun 26 16:59:38 2018 -0400
@@ -400,9 +400,10 @@
void G1BarrierSetAssembler::oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
Register val, Address dst, Register tmp) {
bool in_heap = (decorators & IN_HEAP) != 0;
- bool in_concurrent_root = (decorators & IN_CONCURRENT_ROOT) != 0;
+ bool as_normal = (decorators & AS_NORMAL) != 0;
+ assert((decorators & IS_DEST_UNINITIALIZED) == 0, "unsupported");
- bool needs_pre_barrier = in_heap || in_concurrent_root;
+ bool needs_pre_barrier = as_normal;
// No need for post barrier if storing NULL
bool needs_post_barrier = val != G0 && in_heap;