diff --git a/src/coreclr/jit/gcinfo.cpp b/src/coreclr/jit/gcinfo.cpp index 85f09b5070a90..d48f1962b5758 100644 --- a/src/coreclr/jit/gcinfo.cpp +++ b/src/coreclr/jit/gcinfo.cpp @@ -256,8 +256,16 @@ GCInfo::WriteBarrierForm GCInfo::gcIsWriteBarrierCandidate(GenTreeStoreInd* stor if (wbf == WBF_BarrierUnknown) { - assert(store->Addr()->TypeIs(TYP_BYREF)); - wbf = ((store->gtFlags & GTF_IND_TGT_HEAP) != 0) ? WBF_BarrierUnchecked : WBF_BarrierChecked; + if (compiler->codeGen->genUseOptimizedWriteBarriers(wbf)) + { + // TODO-CQ: remove this pessimization, it was added to avoid diffs. + wbf = WBF_BarrierChecked; + } + else + { + assert(store->Addr()->TypeIs(TYP_BYREF)); + wbf = ((store->gtFlags & GTF_IND_TGT_HEAP) != 0) ? WBF_BarrierUnchecked : WBF_BarrierChecked; + } } return wbf;