diff --git a/src/librustc/middle/trans/base.rs b/src/librustc/middle/trans/base.rs index 5a6e41aeaeecd25c23a44f8e8b83703acb0d4e8c..35e4fb10c29dc7090c163ad05e5bec3fc910e5ac 100644 --- a/src/librustc/middle/trans/base.rs +++ b/src/librustc/middle/trans/base.rs @@ -166,7 +166,7 @@ fn drop(&mut self) { self.ccx.stats.fn_stats.push((self.name.to_owned(), elapsed, iend - self.istart)); - self.ccx.stats.n_fns += 1; + self.ccx.stats.n_fns.set(self.ccx.stats.n_fns.get() + 1); // Reset LLVM insn count to avoid compound costs. self.ccx.stats.n_llvm_insns = self.istart; } @@ -3250,7 +3250,7 @@ pub fn trans_crate(sess: session::Session, println!("n_null_glues: {}", ccx.stats.n_null_glues.get()); println!("n_real_glues: {}", ccx.stats.n_real_glues.get()); - println!("n_fns: {}", ccx.stats.n_fns); + println!("n_fns: {}", ccx.stats.n_fns.get()); println!("n_monos: {}", ccx.stats.n_monos); println!("n_inlines: {}", ccx.stats.n_inlines); println!("n_closures: {}", ccx.stats.n_closures); diff --git a/src/librustc/middle/trans/common.rs b/src/librustc/middle/trans/common.rs index 3db429411ade02fa0f41dca482743c77b8b323dd..26740ebe0b707ec8e13831103a135c6bccffbbe4 100644 --- a/src/librustc/middle/trans/common.rs +++ b/src/librustc/middle/trans/common.rs @@ -130,7 +130,7 @@ pub struct Stats { n_glues_created: Cell, n_null_glues: Cell, n_real_glues: Cell, - n_fns: uint, + n_fns: Cell, n_monos: uint, n_inlines: uint, n_closures: uint, diff --git a/src/librustc/middle/trans/context.rs b/src/librustc/middle/trans/context.rs index f56d277d32c09317917e802803a77639d76eb8fa..a1282141ee9fd49c92d8d57780232cec4fe381ba 100644 --- a/src/librustc/middle/trans/context.rs +++ b/src/librustc/middle/trans/context.rs @@ -215,7 +215,7 @@ pub fn new(sess: session::Session, n_glues_created: Cell::new(0u), n_null_glues: Cell::new(0u), n_real_glues: Cell::new(0u), - n_fns: 0u, + n_fns: Cell::new(0u), n_monos: 0u, n_inlines: 0u, n_closures: 0u,