| Index: src/crankshaft/hydrogen.cc
|
| diff --git a/src/crankshaft/hydrogen.cc b/src/crankshaft/hydrogen.cc
|
| index 98337be052ebcd19da03c47b023701aecb80d3e8..522a679a903823183217b6fae1f3bfd8465b7bfc 100644
|
| --- a/src/crankshaft/hydrogen.cc
|
| +++ b/src/crankshaft/hydrogen.cc
|
| @@ -4955,9 +4955,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);
|
| @@ -8531,7 +8530,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 {
|
| @@ -8554,7 +8553,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 {
|
|
|