diff options
Diffstat (limited to 'compiler/optimizing/write_barrier_elimination.cc')
-rw-r--r-- | compiler/optimizing/write_barrier_elimination.cc | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/compiler/optimizing/write_barrier_elimination.cc b/compiler/optimizing/write_barrier_elimination.cc index eb70b670fe..390c6e9f8f 100644 --- a/compiler/optimizing/write_barrier_elimination.cc +++ b/compiler/optimizing/write_barrier_elimination.cc @@ -52,10 +52,13 @@ class WBEVisitor final : public HGraphVisitor { auto it = current_write_barriers_.find(obj); if (it != current_write_barriers_.end()) { DCHECK(it->second->IsInstanceFieldSet()); - DCHECK(it->second->AsInstanceFieldSet()->GetWriteBarrierKind() != + // TODO: Remove "OrNull". + DCHECK(it->second->AsInstanceFieldSetOrNull()->GetWriteBarrierKind() != WriteBarrierKind::kDontEmit); DCHECK_EQ(it->second->GetBlock(), instruction->GetBlock()); - it->second->AsInstanceFieldSet()->SetWriteBarrierKind(WriteBarrierKind::kEmitNoNullCheck); + // TODO: Remove "OrNull". + it->second->AsInstanceFieldSetOrNull()->SetWriteBarrierKind( + WriteBarrierKind::kEmitNoNullCheck); instruction->SetWriteBarrierKind(WriteBarrierKind::kDontEmit); MaybeRecordStat(stats_, MethodCompilationStat::kRemovedWriteBarrier); } else { @@ -79,9 +82,12 @@ class WBEVisitor final : public HGraphVisitor { auto it = current_write_barriers_.find(cls); if (it != current_write_barriers_.end()) { DCHECK(it->second->IsStaticFieldSet()); - DCHECK(it->second->AsStaticFieldSet()->GetWriteBarrierKind() != WriteBarrierKind::kDontEmit); + // TODO: Remove "OrNull". + DCHECK(it->second->AsStaticFieldSetOrNull()->GetWriteBarrierKind() != + WriteBarrierKind::kDontEmit); DCHECK_EQ(it->second->GetBlock(), instruction->GetBlock()); - it->second->AsStaticFieldSet()->SetWriteBarrierKind(WriteBarrierKind::kEmitNoNullCheck); + // TODO: Remove "OrNull". + it->second->AsStaticFieldSetOrNull()->SetWriteBarrierKind(WriteBarrierKind::kEmitNoNullCheck); instruction->SetWriteBarrierKind(WriteBarrierKind::kDontEmit); MaybeRecordStat(stats_, MethodCompilationStat::kRemovedWriteBarrier); } else { @@ -107,10 +113,13 @@ class WBEVisitor final : public HGraphVisitor { auto it = current_write_barriers_.find(arr); if (it != current_write_barriers_.end()) { DCHECK(it->second->IsArraySet()); - DCHECK(it->second->AsArraySet()->GetWriteBarrierKind() != WriteBarrierKind::kDontEmit); + // TODO: Remove "OrNull". + DCHECK(it->second->AsArraySetOrNull()->GetWriteBarrierKind() != WriteBarrierKind::kDontEmit); DCHECK_EQ(it->second->GetBlock(), instruction->GetBlock()); // We never skip the null check in ArraySets so that value is already set. - DCHECK(it->second->AsArraySet()->GetWriteBarrierKind() == WriteBarrierKind::kEmitNoNullCheck); + // TODO: Remove "OrNull". + DCHECK(it->second->AsArraySetOrNull()->GetWriteBarrierKind() == + WriteBarrierKind::kEmitNoNullCheck); instruction->SetWriteBarrierKind(WriteBarrierKind::kDontEmit); MaybeRecordStat(stats_, MethodCompilationStat::kRemovedWriteBarrier); } else { |