| 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 {
|
|
|