let unmark space mark =
  Iset.iter
    (fun id ->
       if not (Iset.mem id mark) then unalloc space id
    ) space.locals ;
  space.locals <- mark