Clean-up Hcons module:
authorKim Nguyễn <kn@lri.fr>
Wed, 14 Mar 2012 12:52:16 +0000 (13:52 +0100)
committerKim Nguyễn <kn@lri.fr>
Wed, 14 Mar 2012 12:52:16 +0000 (13:52 +0100)
 - remove dead code
 - avoid one allocation.

src/hcons.ml

index c0c62e7..d49061d 100644 (file)
@@ -47,26 +47,13 @@ struct
 
   exception Found of Uid.t
 
-  let first_free_id () =
-    let mx = Uid.to_int (uid_current()) + 1 in
-    let a = Array.create mx Uid.dummy in
-      WH.iter (fun cell -> a.(Uid.to_int cell.id) <- (Uid.of_int 0)) pool;
-      try
-       for i = 0 to mx - 1 do
-         if a.(i) == Uid.dummy then raise (Found (Uid.of_int i));
-       done;
-       uid_make()
-      with
-         Found i -> i
-
-
   let make x =
     let cell = { id = Uid.dummy; key = H.hash x; node = x } in
       try
        WH.find pool cell
       with
        | Not_found ->
-           let cell = { id = uid_make(); key = H.hash x; node = x } in
+           let cell = { cell with id = uid_make(); } in
              WH.add pool cell;cell
 
   exception Found of t