if (first_freeblock == OUT_OF_BLOCKS) return 0;
if (first_freeblock == OUT_OF_BLOCKS) { sysLockBlock.unlock(); return 0; }
  freeBlocks () {    sysLockBlock.lock();	  if (first_freeblock == OUT_OF_BLOCKS) return 0;    VM_BlockControl the_block = VM_Magic.addressAsBlockControl(blocks[first_freeblock]);		int i = 1;		int next = the_block.nextblock;		while (next != OUT_OF_BLOCKS) {			the_block = VM_Magic.addressAsBlockControl(blocks[next]);			i++;			next = the_block.nextblock;	   }     sysLockBlock.unlock();		 return i;	}