aboutsummaryrefslogtreecommitdiff
path: root/src/boot/driver
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-10-08 23:25:37 -0700
committerGraydon Hoare <[email protected]>2010-10-08 23:25:37 -0700
commitef5a64e2cf8e4ee5b31c9e040867fd107692c835 (patch)
treee7854531404e3dca60aef8fa9e37f53198c2a5c2 /src/boot/driver
parentFix logging bug. (diff)
downloadrust-ef5a64e2cf8e4ee5b31c9e040867fd107692c835.tar.xz
rust-ef5a64e2cf8e4ee5b31c9e040867fd107692c835.zip
Add quad-counting system.
Diffstat (limited to 'src/boot/driver')
-rw-r--r--src/boot/driver/main.ml4
-rw-r--r--src/boot/driver/session.ml2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/boot/driver/main.ml b/src/boot/driver/main.ml
index 0024f2fd..b37f5d93 100644
--- a/src/boot/driver/main.ml
+++ b/src/boot/driver/main.ml
@@ -61,11 +61,13 @@ let (sess:Session.sess) =
Session.sess_failed = false;
Session.sess_spans = Hashtbl.create 0;
Session.sess_report_timing = false;
+ Session.sess_report_quads = false;
Session.sess_report_gc = false;
Session.sess_report_deps = false;
Session.sess_next_crate_id = 0;
Session.sess_fuzz_item_count = 5;
Session.sess_timings = Hashtbl.create 0;
+ Session.sess_quad_counts = Hashtbl.create 0;
Session.sess_lib_dirs = Queue.create ();
Session.sess_crate_meta = Hashtbl.create 0;
Session.sess_node_id_counter = ref (Node 0);
@@ -221,6 +223,8 @@ let argspecs =
(flag (fun _ -> sess.Session.sess_report_timing <- true)
"-rtime" "report timing of compiler phases");
+ (flag (fun _ -> sess.Session.sess_report_quads <- true)
+ "-rquads" "report categories of quad emitted");
(flag (fun _ -> sess.Session.sess_report_gc <- true)
"-rgc" "report gc behavior of compiler");
("-rsig", Arg.String dump_sig,
diff --git a/src/boot/driver/session.ml b/src/boot/driver/session.ml
index d9317a6c..39848982 100644
--- a/src/boot/driver/session.ml
+++ b/src/boot/driver/session.ml
@@ -46,12 +46,14 @@ type sess =
mutable sess_trace_gc: bool;
mutable sess_failed: bool;
mutable sess_report_timing: bool;
+ mutable sess_report_quads: bool;
mutable sess_report_gc: bool;
mutable sess_report_deps: bool;
mutable sess_next_crate_id: int;
mutable sess_fuzz_item_count: int;
sess_timings: (string, float) Hashtbl.t;
+ sess_quad_counts: (string, int ref) Hashtbl.t;
sess_spans: (node_id,span) Hashtbl.t;
sess_lib_dirs: filename Queue.t;
sess_crate_meta: (meta, crate_id) Hashtbl.t;