diff --git a/src/librustc/middle/trans/base.rs b/src/librustc/middle/trans/base.rs index 5a6e41aeaeec..35e4fb10c29d 100644 --- a/src/librustc/middle/trans/base.rs +++ b/src/librustc/middle/trans/base.rs @@ -166,7 +166,7 @@ impl<'a> Drop for StatRecorder<'a> { 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 3db429411ade..26740ebe0b70 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 f56d277d32c0..a1282141ee9f 100644 --- a/src/librustc/middle/trans/context.rs +++ b/src/librustc/middle/trans/context.rs @@ -215,7 +215,7 @@ impl CrateContext { 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,