udpated regalloc