| Index: src/compiler/js-inlining.cc | 
| diff --git a/src/compiler/js-inlining.cc b/src/compiler/js-inlining.cc | 
| index f285eeec24909cc4f5c965e479a17dd8d2141c2e..c16c4c913d734eb9f5ec2ca83f2e4d4c14677937 100644 | 
| --- a/src/compiler/js-inlining.cc | 
| +++ b/src/compiler/js-inlining.cc | 
| @@ -4,15 +4,13 @@ | 
|  | 
| #include "src/compiler/js-inlining.h" | 
|  | 
| -#include "src/ast/ast-numbering.h" | 
| #include "src/ast/ast.h" | 
| #include "src/compilation-info.h" | 
| #include "src/compiler.h" | 
| #include "src/compiler/all-nodes.h" | 
| -#include "src/compiler/ast-graph-builder.h" | 
| -#include "src/compiler/ast-loop-assignment-analyzer.h" | 
| #include "src/compiler/bytecode-graph-builder.h" | 
| #include "src/compiler/common-operator.h" | 
| +#include "src/compiler/compiler-source-position-table.h" | 
| #include "src/compiler/graph-reducer.h" | 
| #include "src/compiler/js-operator.h" | 
| #include "src/compiler/node-matchers.h" | 
| @@ -21,7 +19,6 @@ | 
| #include "src/compiler/simplified-operator.h" | 
| #include "src/isolate-inl.h" | 
| #include "src/parsing/parse-info.h" | 
| -#include "src/parsing/rewriter.h" | 
|  | 
| namespace v8 { | 
| namespace internal { | 
| @@ -384,6 +381,14 @@ Reduction JSInliner::ReduceJSCall(Node* node, Handle<JSFunction> function) { | 
| JSCallAccessor call(node); | 
| Handle<SharedFunctionInfo> shared_info(function->shared()); | 
|  | 
| +  // Inlining is only supported in the bytecode pipeline. | 
| +  if (!info_->is_optimizing_from_bytecode()) { | 
| +    TRACE("Inlining %s into %s is not supported in the deprecated pipeline\n", | 
| +          shared_info->DebugName()->ToCString().get(), | 
| +          info_->shared_info()->DebugName()->ToCString().get()); | 
| +    return NoChange(); | 
| +  } | 
| + | 
| // Function must be inlineable. | 
| if (!shared_info->IsInlineable()) { | 
| TRACE("Not inlining %s into %s because callee is not inlineable\n", | 
| @@ -487,9 +492,9 @@ Reduction JSInliner::ReduceJSCall(Node* node, Handle<JSFunction> function) { | 
| ParseInfo parse_info(&zone, shared_info); | 
| CompilationInfo info(&parse_info, function); | 
| if (info_->is_deoptimization_enabled()) info.MarkAsDeoptimizationEnabled(); | 
| -  if (info_->is_optimizing_from_bytecode()) info.MarkAsOptimizeFromBytecode(); | 
| +  info.MarkAsOptimizeFromBytecode(); | 
|  | 
| -  if (info.is_optimizing_from_bytecode() && !Compiler::EnsureBytecode(&info)) { | 
| +  if (!Compiler::EnsureBytecode(&info)) { | 
| TRACE("Not inlining %s into %s because bytecode generation failed\n", | 
| shared_info->DebugName()->ToCString().get(), | 
| info_->shared_info()->DebugName()->ToCString().get()); | 
| @@ -499,25 +504,6 @@ Reduction JSInliner::ReduceJSCall(Node* node, Handle<JSFunction> function) { | 
| return NoChange(); | 
| } | 
|  | 
| -  if (!info.is_optimizing_from_bytecode() && | 
| -      !Compiler::ParseAndAnalyze(info.parse_info())) { | 
| -    TRACE("Not inlining %s into %s because parsing failed\n", | 
| -          shared_info->DebugName()->ToCString().get(), | 
| -          info_->shared_info()->DebugName()->ToCString().get()); | 
| -    if (info_->isolate()->has_pending_exception()) { | 
| -      info_->isolate()->clear_pending_exception(); | 
| -    } | 
| -    return NoChange(); | 
| -  } | 
| - | 
| -  if (!info.is_optimizing_from_bytecode() && | 
| -      !Compiler::EnsureDeoptimizationSupport(&info)) { | 
| -    TRACE("Not inlining %s into %s because deoptimization support failed\n", | 
| -          shared_info->DebugName()->ToCString().get(), | 
| -          info_->shared_info()->DebugName()->ToCString().get()); | 
| -    return NoChange(); | 
| -  } | 
| - | 
| // Remember that we inlined this function. This needs to be called right | 
| // after we ensure deoptimization support so that the code flusher | 
| // does not remove the code with the deoptimization support. | 
| @@ -538,7 +524,7 @@ Reduction JSInliner::ReduceJSCall(Node* node, Handle<JSFunction> function) { | 
| // Create the subgraph for the inlinee. | 
| Node* start; | 
| Node* end; | 
| -  if (info.is_optimizing_from_bytecode()) { | 
| +  { | 
| // Run the BytecodeGraphBuilder to create the subgraph. | 
| Graph::SubgraphScope scope(graph()); | 
| BytecodeGraphBuilder graph_builder(&zone, &info, jsgraph(), | 
| @@ -549,22 +535,6 @@ Reduction JSInliner::ReduceJSCall(Node* node, Handle<JSFunction> function) { | 
| // Extract the inlinee start/end nodes. | 
| start = graph()->start(); | 
| end = graph()->end(); | 
| -  } else { | 
| -    // Run the loop assignment analyzer on the inlinee. | 
| -    AstLoopAssignmentAnalyzer loop_assignment_analyzer(&zone, &info); | 
| -    LoopAssignmentAnalysis* loop_assignment = | 
| -        loop_assignment_analyzer.Analyze(); | 
| - | 
| -    // Run the AstGraphBuilder to create the subgraph. | 
| -    Graph::SubgraphScope scope(graph()); | 
| -    AstGraphBuilderWithPositions graph_builder( | 
| -        &zone, &info, jsgraph(), call.frequency(), loop_assignment, | 
| -        source_positions_, inlining_id); | 
| -    graph_builder.CreateGraph(false); | 
| - | 
| -    // Extract the inlinee start/end nodes. | 
| -    start = graph()->start(); | 
| -    end = graph()->end(); | 
| } | 
|  | 
| if (exception_target != nullptr) { | 
|  |