getCard(start.plus(CARD_MASK));
card = getCard(start.plus(CARD_MASK));
  private final Address allocSlow(Address start, Address end, int align,      int offset, boolean inGC) throws NoInlinePragma {    Address rtn = null;    Address card = null;    if (SUPPORT_CARD_SCANNING)      getCard(start.plus(CARD_MASK)); // round up    if (end.GT(limit)) { /* external slow path */      rtn = allocSlowInline(end.diff(start).toInt(), align, offset,          inGC);      if (SUPPORT_CARD_SCANNING && card.NE(getCard(rtn.plus(CARD_MASK))))        card = getCard(rtn); // round down      } else {             /* internal slow path */      while (internalLimit.LE(end))        internalLimit = internalLimit.plus(STEP_SIZE);      if (internalLimit.GT(limit))        internalLimit = limit;      fillAlignmentGap(cursor, start);      cursor = end;      rtn = start;    }    if (SUPPORT_CARD_SCANNING && !rtn.isZero())      createCardAnchor(card, rtn, end.diff(start).toInt());    return rtn;  }