anchor.diff:      indent--; // Close 'case'.
       indent--;
       addIndented('}\n');  // Close 'switch'.
  +    defaultClauseUsedInBailoutStack.removeLast();
     }
   
     void beginLoop(HBasicBlock block) {
  
positive.code:     : super(backend, work, parameters, parameterNames),
        setup = new CodeBuffer(),
        newParameters = new CodeBuffer(),
        labels = <String>[];
  
    String pushLabel() {
      String label = 'L${labelId++}';
  
negative.code:   void startBailoutCase(List<HTypeGuard> bailouts1,
                          List<HTypeGuard> bailouts2) {
      indent--;
      if (!defaultClauseUsedInBailoutStack.last() &&
          bailouts1.length + bailouts2.length >= 2) {
        addIndented('default:\n');
        int len = defaultClauseUsedInBailoutStack.length;
        defaultClauseUsedInBailoutStack[len - 1] = true;
      } else {
        handleBailoutCase(bailouts1);
        handleBailoutCase(bailouts2);
      }
      indent++;
    }
  
    void handleBailoutCase(List<HTypeGuard> guards) {
      if (!defaultClauseUsedInBailoutStack.last() && guards.length >= 2) {
        addIndented('default:\n');
        int len = defaultClauseUsedInBailoutStack.length;
        defaultClauseUsedInBailoutStack[len - 1] = true;
      } else {
        for (int i = 0, len = guards.length; i < len; i++) {
          addIndented('case ${guards[i].state}:\n');
        }
      }
    }
  
    void startBailoutSwitch() {
      defaultClauseUsedInBailoutStack.add(false);
      addIndented('switch (state) {\n');
      indent++;
      addIndented('case 0:\n');
  