void BitVector::setSlow(const BitVector& other) { uintptr_t newBitsOrPointer; if (other.isInline()) { newBitsOrPointer = other.m_bitsOrPointer; } else { OutOfLineBits* newOutOfLineBits = OutOfLineBits::create(other.size()); memcpy(newOutOfLineBits->bits(), other.bits(), byteCount(other.size())); newBitsOrPointer = bitwiseCast<uintptr_t>(newOutOfLineBits) >> 1; } if (!isInline()) OutOfLineBits::destroy(outOfLineBits()); m_bitsOrPointer = newBitsOrPointer; }