--- a/src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp Tue Jun 26 13:50:59 2018 -0700
+++ b/src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp Tue Jun 26 16:59:38 2018 -0400
@@ -349,9 +349,10 @@
void G1BarrierSetAssembler::oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
Address dst, Register val, Register tmp1, Register tmp2) {
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;
bool needs_post_barrier = val != noreg && in_heap;
Register tmp3 = LP64_ONLY(r8) NOT_LP64(rsi);