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

Unified Diff: runtime/vm/flow_graph_compiler.cc

Issue 1270803003: VM: More abstract interface for generating stub calls. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 months 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/flow_graph_compiler.h ('k') | runtime/vm/flow_graph_compiler_arm.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph_compiler.cc
diff --git a/runtime/vm/flow_graph_compiler.cc b/runtime/vm/flow_graph_compiler.cc
index 1ffd98453d7a2350eb08bcfbbbaaa34470cd7d34..c7d3215bd9473da59ef811dad3fb5c816185140f 100644
--- a/runtime/vm/flow_graph_compiler.cc
+++ b/runtime/vm/flow_graph_compiler.cc
@@ -1072,7 +1072,6 @@ void FlowGraphCompiler::GenerateInstanceCall(
return;
}
ASSERT(!ic_data.IsNull());
- uword label_address = 0;
if (is_optimizing() && (ic_data.NumberOfUsedChecks() == 0)) {
// Emit IC call that will count and thus may need reoptimization at
// function entry.
@@ -1081,17 +1080,18 @@ void FlowGraphCompiler::GenerateInstanceCall(
|| flow_graph().IsCompiledForOsr());
switch (ic_data.NumArgsTested()) {
case 1:
- label_address = StubCode::OneArgOptimizedCheckInlineCacheEntryPoint();
- break;
+ EmitOptimizedInstanceCall(
+ *StubCode::OneArgOptimizedCheckInlineCache_entry(), ic_data,
+ argument_count, deopt_id, token_pos, locs);
+ return;
case 2:
- label_address = StubCode::TwoArgsOptimizedCheckInlineCacheEntryPoint();
- break;
+ EmitOptimizedInstanceCall(
+ *StubCode::TwoArgsOptimizedCheckInlineCache_entry(), ic_data,
+ argument_count, deopt_id, token_pos, locs);
+ return;
default:
UNIMPLEMENTED();
}
- ExternalLabel target_label(label_address);
- EmitOptimizedInstanceCall(&target_label, ic_data,
- argument_count, deopt_id, token_pos, locs);
return;
}
@@ -1108,17 +1108,18 @@ void FlowGraphCompiler::GenerateInstanceCall(
switch (ic_data.NumArgsTested()) {
case 1:
- label_address = StubCode::OneArgCheckInlineCacheEntryPoint();
+ EmitInstanceCall(
+ *StubCode::OneArgCheckInlineCache_entry(), ic_data, argument_count,
+ deopt_id, token_pos, locs);
break;
case 2:
- label_address = StubCode::TwoArgsCheckInlineCacheEntryPoint();
+ EmitInstanceCall(
+ *StubCode::TwoArgsCheckInlineCache_entry(), ic_data, argument_count,
+ deopt_id, token_pos, locs);
break;
default:
UNIMPLEMENTED();
}
- ExternalLabel target_label(label_address);
- EmitInstanceCall(&target_label, ic_data, argument_count,
- deopt_id, token_pos, locs);
}
« no previous file with comments | « runtime/vm/flow_graph_compiler.h ('k') | runtime/vm/flow_graph_compiler_arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698