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); |
} |