| Index: pkg/compiler/lib/src/js_backend/backend.dart
 | 
| diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart
 | 
| index bb884785efd6b07c9a319717734fd026242499d7..4273279bc712c7409c1dbd7845217dc98d7adff7 100644
 | 
| --- a/pkg/compiler/lib/src/js_backend/backend.dart
 | 
| +++ b/pkg/compiler/lib/src/js_backend/backend.dart
 | 
| @@ -278,7 +278,9 @@ class JavaScriptBackend extends Backend {
 | 
|  
 | 
|    ClassElement closureClass;
 | 
|    ClassElement boundClosureClass;
 | 
| -  Element assertMethod;
 | 
| +  Element assertTestMethod;
 | 
| +  Element assertThrowMethod;
 | 
| +  Element assertHelperMethod;
 | 
|    Element invokeOnMethod;
 | 
|  
 | 
|    ClassElement jsInterceptorClass;
 | 
| @@ -1357,8 +1359,6 @@ class JavaScriptBackend extends Backend {
 | 
|      }
 | 
|    }
 | 
|  
 | 
| -  bool isAssertMethod(Element element) => element == assertMethod;
 | 
| -
 | 
|    void registerRequiredType(DartType type, Element enclosingElement) {
 | 
|      // If [argument] has type variables or is a type variable, this method
 | 
|      // registers a RTI dependency between the class where the type variable is
 | 
| @@ -2121,7 +2121,9 @@ class JavaScriptBackend extends Backend {
 | 
|          jsMutableIndexableClass = findClass('JSMutableIndexable');
 | 
|        } else if (uri == DART_JS_HELPER) {
 | 
|          initializeHelperClasses();
 | 
| -        assertMethod = findHelper('assertHelper');
 | 
| +        assertTestMethod = findHelper('assertTest');
 | 
| +        assertThrowMethod = findHelper('assertThrow');
 | 
| +        assertHelperMethod = findHelper('assertHelper');
 | 
|  
 | 
|          typeLiteralClass = findClass('TypeImpl');
 | 
|          constMapLiteralClass = findClass('ConstantMap');
 | 
| @@ -2921,8 +2923,13 @@ class JavaScriptResolutionCallbacks extends ResolutionCallbacks {
 | 
|      registry.registerInstantiation(element.rawType);
 | 
|    }
 | 
|  
 | 
| -  void onAssert(Send node, Registry registry) {
 | 
| -    registerBackendStaticInvocation(backend.assertMethod, registry);
 | 
| +  void onAssert(bool hasMessage, Registry registry) {
 | 
| +    if (hasMessage) {
 | 
| +      registerBackendStaticInvocation(backend.assertTestMethod, registry);
 | 
| +      registerBackendStaticInvocation(backend.assertThrowMethod, registry);
 | 
| +    } else {
 | 
| +      registerBackendStaticInvocation(backend.assertHelperMethod, registry);
 | 
| +    }
 | 
|    }
 | 
|  
 | 
|    void onAsyncForIn(AsyncForIn node, Registry registry) {
 | 
| 
 |