| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 7100d3a97ab930e57f7b5d5cd2c186201a31da41..97489a97c0742d2ec94bba60598106cb027a3813 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -3399,7 +3399,8 @@ bool HOptimizedGraphBuilder::BuildGraph() {
|
| if (HasStackOverflow()) return false;
|
|
|
| if (current_block() != NULL) {
|
| - HReturn* instr = new(zone()) HReturn(graph()->GetConstantUndefined());
|
| + HReturn* instr = new(zone()) HReturn(graph()->GetConstantUndefined(),
|
| + context);
|
| current_block()->FinishExit(instr);
|
| set_current_block(NULL);
|
| }
|
| @@ -4215,7 +4216,9 @@ void HOptimizedGraphBuilder::VisitReturnStatement(ReturnStatement* stmt) {
|
| // Not an inlined return, so an actual one.
|
| CHECK_ALIVE(VisitForValue(stmt->expression()));
|
| HValue* result = environment()->Pop();
|
| - current_block()->FinishExit(new(zone()) HReturn(result));
|
| + current_block()->FinishExit(new(zone()) HReturn(
|
| + result,
|
| + environment()->LookupContext()));
|
| } else if (state->inlining_kind() == CONSTRUCT_CALL_RETURN) {
|
| // Return from an inlined construct call. In a test context the return value
|
| // will always evaluate to true, in a value context the return value needs
|
|
|