Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1015)

Unified Diff: runtime/vm/intermediate_language_arm.cc

Issue 2584613002: PATCH (not to be comitted): Support for printing instruction statistics
Patch Set: Fixed polymorphic call inside try, added more tags for remaining unknown code Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | runtime/vm/intermediate_language_x64.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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:
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | runtime/vm/intermediate_language_x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698