diff --git a/pkg/compiler/lib/src/js_model/js_strategy.dart b/pkg/compiler/lib/src/js_model/js_strategy.dart
index d32e931..3bcbcd7 100644
--- a/pkg/compiler/lib/src/js_model/js_strategy.dart
+++ b/pkg/compiler/lib/src/js_model/js_strategy.dart
@@ -1040,6 +1040,7 @@
   final Compiler _compiler;
   final JsToElementMap _elementMap;
   final GlobalLocalsMap _globalLocalsMap;
+  FunctionInlineCache _inlineCache;
 
   KernelSsaBuilder(
       this.task, this._compiler, this._elementMap, this._globalLocalsMap);
@@ -1047,6 +1048,7 @@
   @override
   HGraph build(CodegenWorkItem work, JClosedWorld closedWorld,
       GlobalTypeInferenceResults results) {
+    _inlineCache ??= new FunctionInlineCache(closedWorld.annotationsData);
     return task.measure(() {
       KernelSsaGraphBuilder builder = new KernelSsaGraphBuilder(
           work.element,
@@ -1060,7 +1062,8 @@
           work.registry,
           _compiler.backendStrategy.closureDataLookup,
           _compiler.backend.emitter.nativeEmitter,
-          _compiler.backend.sourceInformationStrategy);
+          _compiler.backend.sourceInformationStrategy,
+          _inlineCache);
       return builder.build();
     });
   }
diff --git a/pkg/compiler/lib/src/ssa/builder_kernel.dart b/pkg/compiler/lib/src/ssa/builder_kernel.dart
index 089411d..7305936 100644
--- a/pkg/compiler/lib/src/ssa/builder_kernel.dart
+++ b/pkg/compiler/lib/src/ssa/builder_kernel.dart
@@ -126,22 +126,22 @@
   final FunctionInlineCache inlineCache;
 
   KernelSsaGraphBuilder(
-    this.initialTargetElement,
-    InterfaceType instanceType,
-    this.compiler,
-    this._elementMap,
-    this.globalInferenceResults,
-    this._globalLocalsMap,
-    this.closedWorld,
-    this._worldBuilder,
-    this.registry,
-    this.closureDataLookup,
-    this.nativeEmitter,
-    this._sourceInformationStrategy,
-  )   : this.targetElement = _effectiveTargetElementFor(initialTargetElement),
+      this.initialTargetElement,
+      InterfaceType instanceType,
+      this.compiler,
+      this._elementMap,
+      this.globalInferenceResults,
+      this._globalLocalsMap,
+      this.closedWorld,
+      this._worldBuilder,
+      this.registry,
+      this.closureDataLookup,
+      this.nativeEmitter,
+      this._sourceInformationStrategy,
+      this.inlineCache)
+      : this.targetElement = _effectiveTargetElementFor(initialTargetElement),
         _infoReporter = compiler.dumpInfoTask,
-        _allocatorAnalysis = closedWorld.allocatorAnalysis,
-        inlineCache = new FunctionInlineCache(closedWorld.annotationsData) {
+        _allocatorAnalysis = closedWorld.allocatorAnalysis {
     _enterFrame(targetElement, null);
     this.loopHandler = new KernelLoopHandler(this);
     typeBuilder = new KernelTypeBuilder(this, _elementMap, _globalLocalsMap);
