Index: src/full-codegen/mips/full-codegen-mips.cc |
diff --git a/src/full-codegen/mips/full-codegen-mips.cc b/src/full-codegen/mips/full-codegen-mips.cc |
index 6ce506d4f141de1b11cda2323c5e48f4c305ff86..b732ad1d4bd29dbb6d36196c941052719931bdcb 100644 |
--- a/src/full-codegen/mips/full-codegen-mips.cc |
+++ b/src/full-codegen/mips/full-codegen-mips.cc |
@@ -673,8 +673,8 @@ void FullCodeGenerator::DoTest(Expression* condition, |
__ mov(a0, result_register()); |
Handle<Code> ic = ToBooleanStub::GetUninitialized(isolate()); |
CallIC(ic, condition->test_id()); |
- __ mov(at, zero_reg); |
- Split(ne, v0, Operand(at), if_true, if_false, fall_through); |
+ __ LoadRoot(at, Heap::kTrueValueRootIndex); |
+ Split(eq, result_register(), Operand(at), if_true, if_false, fall_through); |
} |
@@ -2071,7 +2071,8 @@ void FullCodeGenerator::VisitYield(Yield* expr) { |
__ mov(a0, v0); |
Handle<Code> bool_ic = ToBooleanStub::GetUninitialized(isolate()); |
CallIC(bool_ic); |
- __ Branch(&l_try, eq, v0, Operand(zero_reg)); |
+ __ LoadRoot(at, Heap::kTrueValueRootIndex); |
+ __ Branch(&l_try, ne, result_register(), Operand(at)); |
// result.value |
__ pop(load_receiver); // result |