From ffdb5fc8582c77eef7b3a30859eaa216872525a4 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Tue, 7 Sep 2010 16:35:00 -0700 Subject: Initial support for a global crate metadata cache --- src/boot/driver/lib.ml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/boot/driver/lib.ml') diff --git a/src/boot/driver/lib.ml b/src/boot/driver/lib.ml index 71b310b0..40d79256 100644 --- a/src/boot/driver/lib.ml +++ b/src/boot/driver/lib.ml @@ -59,7 +59,7 @@ let get_sects let get_meta (sess:Session.sess) (filename:filename) - : Ast.meta option = + : Session.meta option = htab_search_or_add meta_cache filename begin fun _ -> @@ -190,6 +190,10 @@ let get_mod match get_meta sess file with None -> () | Some meta -> + if not (Hashtbl.mem + sess.Session.sess_crate_meta meta) then + Hashtbl.add sess.Session.sess_crate_meta + meta (Session.make_crate_id sess); Array.iter (fun (k,v) -> log sess "%s = %S" k v) meta; -- cgit v1.2.3