Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index aed649291e15b350dfdab040dc1966c245812bc3..17e3646a90e572063cddd7113a7f55d5cc1b04e6 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -2234,6 +2234,7 @@ void LCodeGen::DoBranch(LBranch* instr) { |
int true_block = chunk_->LookupDestination(instr->true_block_id()); |
int false_block = chunk_->LookupDestination(instr->false_block_id()); |
+ FOR_ASSERT(bool considered_typefeedback = false); |
Representation r = instr->hydrogen()->value()->representation(); |
if (r.IsInteger32() || r.IsSmi()) { |
Register reg = ToRegister(instr->value()); |
@@ -2259,6 +2260,7 @@ void LCodeGen::DoBranch(LBranch* instr) { |
Label* true_label = chunk_->GetAssemblyLabel(true_block); |
Label* false_label = chunk_->GetAssemblyLabel(false_block); |
+ FOR_ASSERT(considered_typefeedback = true); |
ToBooleanStub::Types expected = instr->hydrogen()->expected_input_types(); |
// Avoid deopts in the case where we've never executed this path before. |
if (expected.IsEmpty()) expected = ToBooleanStub::all_types(); |
@@ -2346,6 +2348,8 @@ void LCodeGen::DoBranch(LBranch* instr) { |
DeoptimizeIf(al, instr->environment()); |
} |
} |
+ // Make sure not to poison the stub cache. |
+ ASSERT(info()->IsStub() ? considered_typefeedback : true); |
} |