private void intPush(int index) {
    if (index >= 0 && index < 6) {
      switch (index) {
        case 0:
          assert debug("ICONST_0");
          mv.visitInsn(ICONST_0);
          break;
        case 1:
          assert debug("ICONST_1");
          mv.visitInsn(ICONST_1);
          break;
        case 2:
          assert debug("ICONST_2");
          mv.visitInsn(ICONST_2);
          break;
        case 3:
          assert debug("ICONST_3");
          mv.visitInsn(ICONST_3);
          break;
        case 4:
          assert debug("ICONST_4");
          mv.visitInsn(ICONST_4);
          break;
        case 5:
          assert debug("ICONST_5");
          mv.visitInsn(ICONST_5);
          break;
      }
    }
    else if (index > -127 && index < 128) {
      assert debug("BIPUSH " + index);
      mv.visitIntInsn(BIPUSH, index);
    }
    else if (index > Short.MAX_VALUE) {
      assert debug("LDC " + index);
      mv.visitLdcInsn(index);
    }
    else {
      assert debug("SIPUSH " + index);
      mv.visitIntInsn(SIPUSH, index);
    }
  }