- let younger_t_t a fa b fb =
- let a = unopt_or_call a F.mtime_of_target_object fa in
- let b = unopt_or_call b F.mtime_of_target_object fb in
+ let younger_t_t (_,_,ct) a b =
+ let a =
+ try
+ match Hashtbl.find ct a with
+ | Some _ as x -> x
+ | None ->
+ match F.mtime_of_target_object a with
+ | Some t as x -> Hashtbl.add ct a x; x
+ | x -> x
+ with Not_found -> assert false
+ in
+ let b =
+ try
+ match Hashtbl.find ct b with
+ | Some _ as x -> x
+ | None ->
+ match F.mtime_of_target_object b with
+ | Some t as x -> Hashtbl.add ct b x; x
+ | x -> x
+ with Not_found -> assert false
+ in