anchor.diff:  import '../../ssa/ssa.dart' as ssa;
   
   class CspFunctionCompiler implements FunctionCompiler {
  +  final IrBuilderTask irBuilderTask;
  +  final ConstantSystem constantSystem;
  +  final Compiler compiler;
  +
  +  // TODO(karlklose,sigurm): remove and update dart-doc of [compile].
  +  final FunctionCompiler fallbackCompiler;
   
     // TODO(sigurdm): Assign this.
     Tracer tracer;
  -
  -  String get name => 'CPS Ir pipeline';
  -
  -  final IrBuilderTask irBuilderTask;
  -
  -  final ConstantSystem constantSystem;
  -
  -  final Compiler compiler;
  -
  -  // Remember to update dart-doc of [compile] when this field is removed.
  -  final FunctionCompiler fallbackCompiler;
   
     CspFunctionCompiler(Compiler compiler, JavaScriptBackend backend)
         : irBuilderTask = new IrBuilderTask(compiler),
  
positive.code:         constantSystem = backend.constantSystem,
          compiler = compiler;
  
    /// Generates JavaScript code for `work.element`. First tries to use the
    /// Cps Ir -> tree ir -> js pipeline, and if that fails due to language
    /// features not implemented it will fall back to the ssa pipeline.
    js.Fun compile(CodegenWorkItem work) {
      AstElement element = work.element;
      return compiler.withCurrentElement(element, () {
  
negative.code:         treeFunction = optimizeTreeIR(treeFunction);
          return compileToJavaScript(work, treeFunction);
        } on CodegenBailout catch (e) {
          if (element.library.isPlatformLibrary) {
            compiler.log('Falling back to SSA compiler for $element'
                ' (${e.message})');
            return fallbackCompiler.compile(work);
          } else {
            String message = "Unable to compile $element with the new compiler.\n"
                "  Reason: ${e.message}";
            compiler.internalError(element, message);
          }
        }
      });
    }
  