rem: i += 1;
context: static int get_death_stack(void){	int i;	unsigned int bit;	int state;	acquire_sem(death_stack_sem);	// grap the thread lock, find a free spot and release	state = disable_interrupts();	GRAB_THREAD_LOCK();	bit = death_stack_bitmap;	bit = (~bit)&~((~bit)-1);	death_stack_bitmap |= bit;	RELEASE_THREAD_LOCK();	// sanity checks	if( !bit ) {		panic("get_death_stack: couldn't find free stack!\n");	}	if( bit & (bit-1)) {		panic("get_death_stack: impossible bitmap result!\n");	}	// bit to number	i= -1;	while(bit) {		bit >>= 1;		i += 1;	}//	dprintf("get_death_stack: returning 0x%lx\n", death_stacks[i].address);	return i;}