public static int createDescriptor() { return VM_TYPE_SHARED;
public static int createDescriptor(Address start, Address end) { int chunks = end.diff(start).toWord().rshl(Space.LOG_BYTES_IN_CHUNK) .toInt(); if (Assert.VERIFY_ASSERTIONS) Assert._assert(!start.isZero() && chunks > 0 && chunks < (1 << VM_SIZE_BITS)); boolean top = end.EQ(Space.HEAP_END); Word tmp = start.toWord(); tmp = tmp.rshl(VM_BASE_EXPONENT); int exponent = 0; while (!tmp.isZero() && tmp.and(Word.one()).isZero()) { tmp = tmp.rshl(1); exponent++; } int mantissa = tmp.toInt(); if (Assert.VERIFY_ASSERTIONS) Assert._assert(tmp.lsh(VM_BASE_EXPONENT + exponent).EQ(start.toWord())); return (mantissa << VM_MANTISSA_SHIFT) | (exponent << VM_EXPONENT_SHIFT) | (chunks << VM_SIZE_SHIFT) | ((top) ? VM_TYPE_CONTIGUOUS_HI : VM_TYPE_CONTIGUOUS);
  public static int createDescriptor() {    return VM_TYPE_SHARED;  }