| Index: dart/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart
 | 
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart b/dart/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart
 | 
| index 9644ba2e92e2dc5d54413abbe35cd57160b9e11d..7f94ba02745562858abe19f8dc0bbe0148ba3074 100644
 | 
| --- a/dart/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart
 | 
| +++ b/dart/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart
 | 
| @@ -811,6 +811,11 @@ class JavaScriptBackend extends Backend {
 | 
|          enqueueClass(enqueuer, jsPlainJavaScriptObjectClass, elements);
 | 
|        }
 | 
|      }
 | 
| +    if (cls == compiler.closureClass) {
 | 
| +      enqueue(enqueuer,
 | 
| +              compiler.findHelper('closureFromTearOff'),
 | 
| +              elements);
 | 
| +    }
 | 
|      ClassElement result = null;
 | 
|      if (cls == compiler.stringClass || cls == jsStringClass) {
 | 
|        addInterceptors(jsStringClass, enqueuer, elements);
 | 
| @@ -991,6 +996,7 @@ class JavaScriptBackend extends Backend {
 | 
|    }
 | 
|  
 | 
|    void registerIsCheck(DartType type, Enqueuer world, TreeElements elements) {
 | 
| +    enqueueInResolution(getThrowRuntimeError(), elements);
 | 
|      type = type.unalias(compiler);
 | 
|      enqueueClass(world, compiler.boolClass, elements);
 | 
|      bool inCheckedMode = compiler.enableTypeAssertions;
 | 
| @@ -1048,6 +1054,7 @@ class JavaScriptBackend extends Backend {
 | 
|    }
 | 
|  
 | 
|    void registerAsCheck(DartType type, Enqueuer world, TreeElements elements) {
 | 
| +    enqueueInResolution(getThrowRuntimeError(), elements);
 | 
|      type = type.unalias(compiler);
 | 
|      if (!world.isResolutionQueue) {
 | 
|        // All helpers are added to resolution queue in enqueueHelpers. These
 | 
| @@ -1736,6 +1743,8 @@ class JavaScriptBackend extends Backend {
 | 
|     * system.
 | 
|     */
 | 
|    bool isAccessibleByReflection(Element element) {
 | 
| +    // TODO(ahe): This isn't sufficient: simply importing dart:mirrors
 | 
| +    // causes hasInsufficientMirrorsUsed to become true.
 | 
|      if (hasInsufficientMirrorsUsed) return true;
 | 
|      return isNeededForReflection(element);
 | 
|    }
 | 
| 
 |