anchor.diff:      throw UnsupportedError('compilation of an assert block');
     }
   
  +  // Replace a string `uri` literal with a cached top-level variable containing
  +  // the value to reduce overall code size.
  +  js_ast.Identifier _cacheUri(String uri) {
  +    var id = _uriMap[uri];
  +    if (id == null) {
  +      var name = 'L${_uriMap.length}';
  +      id = js_ast.TemporaryId(name);
  +      _uriMap[uri] = id;
  +    }
  +    return id;
  +  }
  +
     @override
     js_ast.Statement visitAssertStatement(AssertStatement node) {
       if (!_options.enableAsserts) return js_ast.EmptyStatement();
  
positive.code:         js_ast.LiteralNull()
        else
          _visitExpression(node.message),
        js.escapedString(location.sourceUrl.toString()),
        // Lines and columns are typically printed with 1 based indexing.
        js.number(location.line + 1),
        js.number(location.column + 1),
  
negative.code:         var check = js.statement(' if (#) #.nullFailed(#, #, #, #);', [
            condition,
            runtimeModule,
            _cacheUri(location.file.toString()),
            js.number(location.line),
            js.number(location.column),
            js.escapedString('${p.name}'),
  