anchor.diff:      var positional = readAndPushVariableDeclarationList();
       var named = readAndPushVariableDeclarationList();
       var returnType = readDartType();
  +    int oldLabelStackBase = labelStackBase;
  +    labelStackBase = labelStack.length;
       var body = readStatementOption();
  +    labelStackBase = oldLabelStackBase;
       variableStack.length = variableStackHeight;
       typeParameterStack.length = typeParameterStackHeight;
       return new FunctionNode(body,
  
positive.code:   final List<Library> importTable = <Library>[];
    final List<VariableDeclaration> variableStack = <VariableDeclaration>[];
    final List<LabeledStatement> labelStack = <LabeledStatement>[];
    final List<SwitchCase> switchCaseStack = <SwitchCase>[];
    final List<TypeParameter> typeParameterStack = <TypeParameter>[];
    final String filename;
  
negative.code:         return label;
        case Tag.BreakStatement:
          int index = readUInt();
          return new BreakStatement(labelStack[labelStackBase + index]);
        case Tag.WhileStatement:
          return new WhileStatement(readExpression(), readStatement());
        case Tag.DoStatement:
  