Index: src/crankshaft/hydrogen.cc |
diff --git a/src/crankshaft/hydrogen.cc b/src/crankshaft/hydrogen.cc |
index 9f3654f774cc6b0ce1d00cb9b08994f005c33e96..b6fdd3a3155302aa520b7967cf5e26842e32c4ab 100644 |
--- a/src/crankshaft/hydrogen.cc |
+++ b/src/crankshaft/hydrogen.cc |
@@ -4956,9 +4956,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); |
@@ -8618,7 +8617,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 { |
@@ -8641,7 +8640,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 { |