let decr_ref_page i =
  free_pages.(i) <- free_pages.(i) - 1;;

let release_ptable ptable size =
  for i = 0 to size - 1 do
    let entry = entry_address ptable i in
    match mode_of_int memory.(entrywith
    | UN -> ()
    | _ -> decr_ref_page memory.(entry + 1)
  done;
  decr_ref_page ptable;;