anchor.diff:      return "Goto: (B${target.id})";
     }
   
  -  String visitGreater(HGreater node) => handleInvokeBinary(node, '>');
  +  String visitGreater(HGreater node) => handleInvokeBinary(node, 'Greater');
     String visitGreaterEqual(HGreaterEqual node) {
  -    return handleInvokeBinary(node, '>=');
  -  }
  -  String visitIdentity(HIdentity node) => handleInvokeBinary(node, '===');
  +    return handleInvokeBinary(node, 'GreaterEqual');
  +  }
  +  String visitIdentity(HIdentity node) => handleInvokeBinary(node, 'Identity');
   
     String visitIf(HIf node) {
       HBasicBlock thenBlock = currentBlock.successors[0];
  
positive.code:   }
  
    String visitStringify(HStringify node) {
      return "Stringify ${temporaryId(node.inputs[0])}";
    }
  
    String visitSubtract(HSubtract node) => handleInvokeBinary(node, '-');
  
    String visitSwitch(HSwitch node) {
      StringBuffer buf = new StringBuffer();
  
negative.code:       JavaScriptBackend backend = compiler.backend;
        String cls =
            backend.namer.suffixForGetInterceptor(node.interceptedClasses);
        return "Interceptor ($cls): $value";
      }
      return "Interceptor: $value";
    }
  
    String visitInvokeClosure(HInvokeClosure node)
        => handleInvokeDynamic(node, "InvokeClosure");
  
    String handleInvokeDynamic(HInvokeDynamic invoke, String kind) {
      String receiver = temporaryId(invoke.receiver);
      String name = invoke.selector.name;
      String target = "$receiver.$name";
      int offset = HInvoke.ARGUMENTS_OFFSET;
      List arguments = invoke.inputs.sublist(offset);
      return handleGenericInvoke(kind, target, arguments) +
          "(${invoke.mask})";
    }
  
    String visitInvokeDynamicMethod(HInvokeDynamicMethod node)
        => handleInvokeDynamic(node, "InvokeDynamicMethod");
    String visitInvokeDynamicGetter(HInvokeDynamicGetter node)
        => handleInvokeDynamic(node, "InvokeDynamicGetter");
    String visitInvokeDynamicSetter(HInvokeDynamicSetter node)
        => handleInvokeDynamic(node, "InvokeDynamicSetter");
  
    String visitInvokeStatic(HInvokeStatic invoke) {
      String target = invoke.element.name;
      return handleGenericInvoke("InvokeStatic", target, invoke.inputs);
    }
  
    String visitInvokeSuper(HInvokeSuper invoke) {
      String target = invoke.element.name;
      return handleGenericInvoke("InvokeSuper", target, invoke.inputs);
    }
  
    String visitInvokeConstructorBody(HInvokeConstructorBody invoke) {
      String target = invoke.element.name;
      return handleGenericInvoke("InvokeConstructorBody", target, invoke.inputs);
    }
  
    String visitForeignCode(HForeignCode foreign) {
      return handleGenericInvoke("ForeignCode", "${foreign.codeTemplate.ast}",
                                foreign.inputs);
    }
  
    String visitForeignNew(HForeignNew node) {
      return handleGenericInvoke("ForeignNew",
                                "${node.element.name}",
                                node.inputs);
    }
  
    String visitLess(HLess node) => handleInvokeBinary(node, 'Less');
    String visitLessEqual(HLessEqual node) =>
        handleInvokeBinary(node, 'LessEqual');
  
    String visitLiteralList(HLiteralList node) {
      StringBuffer elementsString = new StringBuffer();
  