summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r--compiler/optimizing/code_generator.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc
index 441a93c38f..c734922268 100644
--- a/compiler/optimizing/code_generator.cc
+++ b/compiler/optimizing/code_generator.cc
@@ -172,7 +172,8 @@ bool CodeGenerator::ShouldCheckGCCard(DataType::Type type,
CodeGenerator::StoreNeedsWriteBarrier(type, value);
DCHECK_IMPLIES(result, write_barrier_kind == WriteBarrierKind::kDontEmit);
- DCHECK_IMPLIES(result, !GetGraph()->IsCompilingBaseline());
+ DCHECK_IMPLIES(
+ result, !(GetGraph()->IsCompilingBaseline() && compiler_options_.ProfileBranches()));
return result;
}
@@ -1633,7 +1634,7 @@ bool CodeGenerator::StoreNeedsWriteBarrier(DataType::Type type,
// Check that null value is not represented as an integer constant.
DCHECK_IMPLIES(type == DataType::Type::kReference, !value->IsIntConstant());
// Branch profiling currently doesn't support running optimizations.
- return GetGraph()->IsCompilingBaseline()
+ return (GetGraph()->IsCompilingBaseline() && compiler_options_.ProfileBranches())
? CodeGenerator::StoreNeedsWriteBarrier(type, value)
: write_barrier_kind != WriteBarrierKind::kDontEmit;
}