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

Unified Diff: runtime/vm/intermediate_language_x64.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_arm.cc ('k') | runtime/vm/object.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/intermediate_language_x64.cc
diff --git a/runtime/vm/intermediate_language_x64.cc b/runtime/vm/intermediate_language_x64.cc
index 097df6ec33f1ff5c69f4efecbd4fc5d080f2c317..90aa325ea1f858f7155c4caaa1d813812f4321fc 100644
--- a/runtime/vm/intermediate_language_x64.cc
+++ b/runtime/vm/intermediate_language_x64.cc
@@ -1726,6 +1726,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());
@@ -1746,6 +1748,8 @@ class BoxAllocationSlowPath : public SlowPathCode {
__ MoveRegister(result_, RAX);
compiler->RestoreLiveRegisters(locs);
__ jmp(exit_label());
+ compiler->SpecialStatsEnd(
+ CombinedCodeStatistics::kTagBoxAllocationSlowPath);
}
static void Allocate(FlowGraphCompiler* compiler,
@@ -2404,6 +2408,8 @@ class AllocateContextSlowPath : public SlowPathCode {
: instruction_(instruction) {}
virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
+ compiler->SpecialStatsBegin(
+ CombinedCodeStatistics::kTagAllocateContextSlowPath);
__ Comment("AllocateContextSlowPath");
__ Bind(entry_label());
@@ -2422,6 +2428,8 @@ class AllocateContextSlowPath : public SlowPathCode {
ASSERT(instruction_->locs()->out(0).reg() == RAX);
compiler->RestoreLiveRegisters(instruction_->locs());
__ jmp(exit_label());
+ compiler->SpecialStatsEnd(
+ CombinedCodeStatistics::kTagAllocateContextSlowPath);
}
private:
@@ -2631,6 +2639,8 @@ class CheckStackOverflowSlowPath : public SlowPathCode {
: instruction_(instruction) {}
virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
+ compiler->SpecialStatsBegin(
+ CombinedCodeStatistics::kTagCheckStackOverflowSlowPath);
if (FLAG_use_osr && osr_entry_label()->IsLinked()) {
__ Comment("CheckStackOverflowSlowPathOsr");
__ Bind(osr_entry_label());
@@ -2658,6 +2668,8 @@ class CheckStackOverflowSlowPath : public SlowPathCode {
compiler->pending_deoptimization_env_ = NULL;
compiler->RestoreLiveRegisters(instruction_->locs());
__ jmp(exit_label());
+ compiler->SpecialStatsEnd(
+ CombinedCodeStatistics::kTagCheckStackOverflowSlowPath);
}
@@ -2818,6 +2830,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");
}
@@ -2837,6 +2850,7 @@ class CheckedSmiSlowPath : public SlowPathCode {
__ MoveRegister(result, RAX);
compiler->RestoreLiveRegisters(locs);
__ jmp(exit_label());
+ compiler->SpecialStatsEnd(CombinedCodeStatistics::kTagCheckedSmiSlowPath);
}
private:
@@ -2978,6 +2992,7 @@ class CheckedSmiComparisonSlowPath : public SlowPathCode {
merged_(merged) {}
virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
+ compiler->SpecialStatsBegin(CombinedCodeStatistics::kTagCheckedSmiCmpSlowPath);
if (Assembler::EmittingComments()) {
__ Comment("slow path smi comparison");
}
@@ -3005,6 +3020,7 @@ class CheckedSmiComparisonSlowPath : public SlowPathCode {
} else {
__ jmp(exit_label());
}
+ compiler->SpecialStatsEnd(CombinedCodeStatistics::kTagCheckedSmiCmpSlowPath);
}
private:
« no previous file with comments | « runtime/vm/intermediate_language_arm.cc ('k') | runtime/vm/object.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698