| Index: pkg/compiler/lib/src/ssa/codegen.dart
 | 
| diff --git a/pkg/compiler/lib/src/ssa/codegen.dart b/pkg/compiler/lib/src/ssa/codegen.dart
 | 
| index 5248f915e10c2810e8de4c55b2ea022acd1b4ad2..c882259fbdd51f9eb75271f782de0f219773e067 100644
 | 
| --- a/pkg/compiler/lib/src/ssa/codegen.dart
 | 
| +++ b/pkg/compiler/lib/src/ssa/codegen.dart
 | 
| @@ -2825,8 +2825,22 @@ class SsaCodeGenerator implements HVisitor, HBlockInformationVisitor {
 | 
|  
 | 
|      if (helper == null) {
 | 
|        assert(type.isFunctionType);
 | 
| -      use(node.inputs[0]);
 | 
| +      assert(node.usesMethodOnType);
 | 
| +
 | 
| +      String name = node.isCastTypeCheck ? '_asCheck' : '_assertCheck';
 | 
| +      HInstruction reifiedType = node.inputs[0];
 | 
| +      HInstruction checkedInput = node.inputs[1];
 | 
| +      use(reifiedType);
 | 
| +      js.Expression receiver = pop();
 | 
| +      use(checkedInput);
 | 
| +      Selector selector = new Selector.call(
 | 
| +          new Name(name, helpers.jsHelperLibrary), CallStructure.ONE_ARG);
 | 
| +      registry.registerDynamicUse(
 | 
| +          new DynamicUse(selector, reifiedType.instructionType));
 | 
| +      js.Name methodLiteral = backend.namer.invocationName(selector);
 | 
| +      push(js.js('#.#(#)', [receiver, methodLiteral, pop()]));
 | 
|      } else {
 | 
| +      assert(!node.usesMethodOnType);
 | 
|        push(helper.generateCall(this, node));
 | 
|      }
 | 
|    }
 | 
| 
 |