| Index: pkg/compiler/lib/src/js_model/js_strategy.dart | 
| diff --git a/pkg/compiler/lib/src/js_model/js_strategy.dart b/pkg/compiler/lib/src/js_model/js_strategy.dart | 
| index ad2679edabdc73c53be5d70395a1d5785045a850..138c6cc3f3496604ecd845ad337e39a3f4591e04 100644 | 
| --- a/pkg/compiler/lib/src/js_model/js_strategy.dart | 
| +++ b/pkg/compiler/lib/src/js_model/js_strategy.dart | 
| @@ -34,10 +34,9 @@ import 'locals.dart'; | 
|  | 
| class JsBackendStrategy implements KernelBackendStrategy { | 
| final Compiler _compiler; | 
| -  final JsToFrontendMap _map = new JsToFrontendMapImpl(); | 
| ElementEnvironment _elementEnvironment; | 
| CommonElements _commonElements; | 
| -  KernelToElementMapForBuilding _elementMap; | 
| +  JsKernelToElementMap _elementMap; | 
| ClosureConversionTask _closureDataLookup; | 
| final GlobalLocalsMap _globalLocalsMap = new GlobalLocalsMap(); | 
| Sorter _sorter; | 
| @@ -45,17 +44,8 @@ class JsBackendStrategy implements KernelBackendStrategy { | 
| JsBackendStrategy(this._compiler); | 
|  | 
| KernelToElementMapForBuilding get elementMap { | 
| -    if (_elementMap == null) { | 
| -      KernelFrontEndStrategy strategy = _compiler.frontendStrategy; | 
| -      KernelToElementMapForImpact elementMap = strategy.elementMap; | 
| -      _elementMap = new JsKernelToElementMap( | 
| -          _compiler.reporter, | 
| -          _compiler.environment, | 
| -          _map, | 
| -          _elementEnvironment, | 
| -          _commonElements, | 
| -          elementMap); | 
| -    } | 
| +    assert(_elementMap != null, | 
| +        "JsBackendStrategy.elementMap has not been created yet."); | 
| return _elementMap; | 
| } | 
|  | 
| @@ -63,9 +53,13 @@ class JsBackendStrategy implements KernelBackendStrategy { | 
|  | 
| @override | 
| ClosedWorldRefiner createClosedWorldRefiner(ClosedWorld closedWorld) { | 
| -    _elementEnvironment = | 
| -        new JsElementEnvironment(_map, closedWorld.elementEnvironment); | 
| -    _commonElements = new JsCommonElements(_map, closedWorld.commonElements); | 
| +    KernelFrontEndStrategy strategy = _compiler.frontendStrategy; | 
| +    KernelToElementMapForImpact elementMap = strategy.elementMap; | 
| +    _elementMap = new JsKernelToElementMap( | 
| +        _compiler.reporter, _compiler.environment, elementMap); | 
| +    _elementEnvironment = _elementMap.elementEnvironment; | 
| +    _commonElements = _elementMap.commonElements; | 
| +    JsToFrontendMap _map = _elementMap.jsToFrontendMap; | 
| BackendUsage backendUsage = | 
| new JsBackendUsage(_map, closedWorld.backendUsage); | 
| NativeData nativeData = new JsNativeData(_map, closedWorld.nativeData); | 
|  |