| Index: src/compiler/js-inlining.cc | 
| diff --git a/src/compiler/js-inlining.cc b/src/compiler/js-inlining.cc | 
| index 81bfd98fd5551f88d9a432a2b3335c0aef53ff66..88d91718e551c7f3abcaa9e0c1dd3c0ad1a6dcb3 100644 | 
| --- a/src/compiler/js-inlining.cc | 
| +++ b/src/compiler/js-inlining.cc | 
| @@ -115,8 +115,8 @@ class CopyVisitor { | 
| }; | 
|  | 
|  | 
| -Reduction JSInliner::InlineCall(Node* call, Node* frame_state, Node* start, | 
| -                                Node* end) { | 
| +Reduction JSInliner::InlineCall(Node* call, Node* context, Node* frame_state, | 
| +                                Node* start, Node* end) { | 
| // The scheduler is smart enough to place our code; we just ensure {control} | 
| // becomes the control input of the start of the inlinee, and {effect} becomes | 
| // the effect input of the start of the inlinee. | 
| @@ -139,14 +139,12 @@ Reduction JSInliner::InlineCall(Node* call, Node* frame_state, Node* start, | 
| if (index < inliner_inputs && index < inlinee_context_index) { | 
| // There is an input from the call, and the index is a value | 
| // projection but not the context, so rewire the input. | 
| -          ReplaceWithValue(use, call->InputAt(index)); | 
| +          Replace(use, call->InputAt(index)); | 
| } else if (index == inlinee_context_index) { | 
| -          // TODO(turbofan): We always context specialize inlinees currently, so | 
| -          // we should never get here. | 
| -          UNREACHABLE(); | 
| +          Replace(use, context); | 
| } else if (index < inlinee_context_index) { | 
| // Call has fewer arguments than required, fill with undefined. | 
| -          ReplaceWithValue(use, jsgraph_->UndefinedConstant()); | 
| +          Replace(use, jsgraph_->UndefinedConstant()); | 
| } else { | 
| // We got too many arguments, discard for now. | 
| // TODO(sigurds): Fix to treat arguments array correctly. | 
| @@ -307,13 +305,14 @@ Reduction JSInliner::Reduce(Node* node) { | 
| Graph graph(info.zone()); | 
| JSGraph jsgraph(info.isolate(), &graph, jsgraph_->common(), | 
| jsgraph_->javascript(), jsgraph_->machine()); | 
| +  AstGraphBuilder graph_builder(local_zone_, &info, &jsgraph); | 
| +  graph_builder.CreateGraph(false); | 
|  | 
| // The inlinee specializes to the context from the JSFunction object. | 
| // TODO(turbofan): We might want to load the context from the JSFunction at | 
| // runtime in case we only know the SharedFunctionInfo once we have dynamic | 
| // type feedback in the compiler. | 
| -  AstGraphBuilder graph_builder(local_zone_, &info, &jsgraph); | 
| -  graph_builder.CreateGraph(true, false); | 
| +  Node* context = jsgraph_->Constant(handle(function->context())); | 
|  | 
| CopyVisitor visitor(&graph, jsgraph_->graph(), info.zone()); | 
| visitor.CopyGraph(); | 
| @@ -338,7 +337,7 @@ Reduction JSInliner::Reduce(Node* node) { | 
| // Remember that we inlined this function. | 
| info_->AddInlinedFunction(info.shared_info()); | 
|  | 
| -  return InlineCall(node, frame_state, start, end); | 
| +  return InlineCall(node, context, frame_state, start, end); | 
| } | 
|  | 
| }  // namespace compiler | 
|  |