long size = bootHeap.getFreeSize(); VmAbstractHeap h = firstHeap; while (h != null) { size += h.getFreeSize(); h = h.getNext(); }  size += MemoryBlockManager.getFreeMemory(); return size; }
long size = bootHeap.getFreeSize(); VmAbstractHeap h = firstNormalHeap; while (h != null) { size += h.getFreeSize(); h = h.getNext(); }   size += MemoryBlockManager.getFreeMemory(); return size; }
	public long getFreeMemory() {		long size = bootHeap.getFreeSize();		VmAbstractHeap h = firstHeap;		while (h != null) {			size += h.getFreeSize();			h = h.getNext();		}		//size += (Unsafe.addressToLong(heapEnd) - Unsafe.addressToLong(nextHeapPtr));		size += MemoryBlockManager.getFreeMemory();		return size;	}