int newSlot = allocateSlot(STRING_LITERAL); stringLiterals.put(literal, new Integer(newSlot)); setSlotContents(newSlot, stringValue); return newSlot;
int newOff = allocateSlot(STRING_LITERAL); stringLiterals.put(literal, new Integer(newOff)); Offset offset = Offset.fromIntSignExtend(newOff); setSlotContents(offset, stringValue); return offset;
  public static synchronized int findOrCreateStringLiteral(VM_Atom literal) throws java.io.UTFDataFormatException {    Integer slot = (Integer)stringLiterals.get(literal);    if (slot != null) return slot.intValue();    String stringValue = literal.toUnicodeString();    if (VM.runningVM) stringValue = stringValue.intern();    int newSlot = allocateSlot(STRING_LITERAL);    stringLiterals.put(literal, new Integer(newSlot));    setSlotContents(newSlot, stringValue);    return newSlot;  }