Index: src/crankshaft/hydrogen.cc |
diff --git a/src/crankshaft/hydrogen.cc b/src/crankshaft/hydrogen.cc |
index b869f27184c4f3a9d002d888349bfb23beb1d564..e85c22961c7cfde5f96a2ed337fe140b69a4f924 100644 |
--- a/src/crankshaft/hydrogen.cc |
+++ b/src/crankshaft/hydrogen.cc |
@@ -4924,9 +4924,8 @@ void HOptimizedGraphBuilder::VisitReturnStatement(ReturnStatement* stmt) { |
// will always evaluate to true, in a value context the return value needs |
// to be a JSObject. |
if (context->IsTest()) { |
- TestContext* test = TestContext::cast(context); |
CHECK_ALIVE(VisitForEffect(stmt->expression())); |
- Goto(test->if_true(), state); |
+ context->ReturnValue(graph()->GetConstantTrue()); |
} else if (context->IsEffect()) { |
CHECK_ALIVE(VisitForEffect(stmt->expression())); |
Goto(function_return(), state); |
@@ -8564,7 +8563,7 @@ bool HOptimizedGraphBuilder::TryInline(Handle<JSFunction> target, |
// return value will always evaluate to true, in a value context the |
// return value is the newly allocated receiver. |
if (call_context()->IsTest()) { |
- Goto(inlined_test_context()->if_true(), state); |
+ inlined_test_context()->ReturnValue(graph()->GetConstantTrue()); |
} else if (call_context()->IsEffect()) { |
Goto(function_return(), state); |
} else { |
@@ -8587,7 +8586,7 @@ bool HOptimizedGraphBuilder::TryInline(Handle<JSFunction> target, |
// Falling off the end of a normal inlined function. This basically means |
// returning undefined. |
if (call_context()->IsTest()) { |
- Goto(inlined_test_context()->if_false(), state); |
+ inlined_test_context()->ReturnValue(graph()->GetConstantFalse()); |
} else if (call_context()->IsEffect()) { |
Goto(function_return(), state); |
} else { |