Index: runtime/vm/intermediate_language_arm.cc |
diff --git a/runtime/vm/intermediate_language_arm.cc b/runtime/vm/intermediate_language_arm.cc |
index 395b59abee900b45617c2d943451d3ca23fadaed..87a7c800be9d2c1b8847465e106da29bade0d242 100644 |
--- a/runtime/vm/intermediate_language_arm.cc |
+++ b/runtime/vm/intermediate_language_arm.cc |
@@ -1934,6 +1934,8 @@ class BoxAllocationSlowPath : public SlowPathCode { |
: instruction_(instruction), cls_(cls), result_(result) {} |
virtual void EmitNativeCode(FlowGraphCompiler* compiler) { |
+ compiler->SpecialStatsBegin( |
+ CombinedCodeStatistics::kTagBoxAllocationSlowPath); |
if (Assembler::EmittingComments()) { |
__ Comment("%s slow path allocation of %s", instruction_->DebugName(), |
String::Handle(cls_.ScrubbedName()).ToCString()); |
@@ -1954,6 +1956,8 @@ class BoxAllocationSlowPath : public SlowPathCode { |
__ MoveRegister(result_, R0); |
compiler->RestoreLiveRegisters(locs); |
__ b(exit_label()); |
+ compiler->SpecialStatsEnd( |
+ CombinedCodeStatistics::kTagBoxAllocationSlowPath); |
} |
static void Allocate(FlowGraphCompiler* compiler, |
@@ -2734,6 +2738,8 @@ class AllocateContextSlowPath : public SlowPathCode { |
: instruction_(instruction) {} |
virtual void EmitNativeCode(FlowGraphCompiler* compiler) { |
+ compiler->SpecialStatsBegin( |
+ CombinedCodeStatistics::kTagAllocateContextSlowPath); |
__ Comment("AllocateContextSlowPath"); |
__ Bind(entry_label()); |
@@ -2752,6 +2758,8 @@ class AllocateContextSlowPath : public SlowPathCode { |
ASSERT(instruction_->locs()->out(0).reg() == R0); |
compiler->RestoreLiveRegisters(instruction_->locs()); |
__ b(exit_label()); |
+ compiler->SpecialStatsEnd( |
+ CombinedCodeStatistics::kTagAllocateContextSlowPath); |
} |
private: |
@@ -2948,6 +2956,8 @@ class CheckStackOverflowSlowPath : public SlowPathCode { |
: instruction_(instruction) {} |
virtual void EmitNativeCode(FlowGraphCompiler* compiler) { |
+ compiler->SpecialStatsBegin( |
+ CombinedCodeStatistics::kTagCheckStackOverflowSlowPath); |
if (FLAG_use_osr && osr_entry_label()->IsLinked()) { |
const Register value = instruction_->locs()->temp(0).reg(); |
__ Comment("CheckStackOverflowSlowPathOsr"); |
@@ -2976,6 +2986,8 @@ class CheckStackOverflowSlowPath : public SlowPathCode { |
compiler->pending_deoptimization_env_ = NULL; |
compiler->RestoreLiveRegisters(instruction_->locs()); |
__ b(exit_label()); |
+ compiler->SpecialStatsEnd( |
+ CombinedCodeStatistics::kTagCheckStackOverflowSlowPath); |
} |
Label* osr_entry_label() { |
@@ -3116,6 +3128,7 @@ class CheckedSmiSlowPath : public SlowPathCode { |
: instruction_(instruction), try_index_(try_index) {} |
virtual void EmitNativeCode(FlowGraphCompiler* compiler) { |
+ compiler->SpecialStatsBegin(CombinedCodeStatistics::kTagCheckedSmiSlowPath); |
if (Assembler::EmittingComments()) { |
__ Comment("slow path smi operation"); |
} |
@@ -3135,6 +3148,7 @@ class CheckedSmiSlowPath : public SlowPathCode { |
__ mov(result, Operand(R0)); |
compiler->RestoreLiveRegisters(locs); |
__ b(exit_label()); |
+ compiler->SpecialStatsEnd(CombinedCodeStatistics::kTagCheckedSmiSlowPath); |
} |
private: |
@@ -3250,6 +3264,7 @@ class CheckedSmiComparisonSlowPath : public SlowPathCode { |
merged_(merged) {} |
virtual void EmitNativeCode(FlowGraphCompiler* compiler) { |
+ compiler->SpecialStatsBegin(CombinedCodeStatistics::kTagCheckedSmiCmpSlowPath); |
if (Assembler::EmittingComments()) { |
__ Comment("slow path smi operation"); |
} |
@@ -3278,6 +3293,7 @@ class CheckedSmiComparisonSlowPath : public SlowPathCode { |
} else { |
__ b(exit_label()); |
} |
+ compiler->SpecialStatsEnd(CombinedCodeStatistics::kTagCheckedSmiCmpSlowPath); |
} |
private: |