Index: runtime/vm/jit_optimizer.cc |
diff --git a/runtime/vm/jit_optimizer.cc b/runtime/vm/jit_optimizer.cc |
index fb6ee1d43be1d01be334cbb573a14b2f57af868e..9063e4f618997288f06b2763c9ab7e6874c659e6 100644 |
--- a/runtime/vm/jit_optimizer.cc |
+++ b/runtime/vm/jit_optimizer.cc |
@@ -137,9 +137,11 @@ bool JitOptimizer::TryCreateICData(InstanceCallInstr* call) { |
// finalized yet. |
return false; |
} |
- const Array& args_desc_array = |
- Array::Handle(Z, ArgumentsDescriptor::New(call->ArgumentCount(), |
- call->argument_names())); |
+ const Array& args_desc_array = Array::Handle( |
+ Z, ArgumentsDescriptor::New( |
+ call->type_args_len(), |
+ call->ArgumentCount() - (call->type_args_len() > 0 ? 1 : 0), |
+ call->argument_names())); |
ArgumentsDescriptor args_desc(args_desc_array); |
bool allow_add = false; |
const Function& function = Function::Handle( |
@@ -171,9 +173,11 @@ bool JitOptimizer::TryCreateICData(InstanceCallInstr* call) { |
const Class& owner_class = Class::Handle(Z, function().Owner()); |
if (!owner_class.is_abstract() && !CHA::HasSubclasses(owner_class) && |
!CHA::IsImplemented(owner_class)) { |
- const Array& args_desc_array = |
- Array::Handle(Z, ArgumentsDescriptor::New(call->ArgumentCount(), |
- call->argument_names())); |
+ const int kTypeArgsLen = 0; |
+ ASSERT(call->type_args_len() == kTypeArgsLen); |
+ const Array& args_desc_array = Array::Handle( |
+ Z, ArgumentsDescriptor::New(kTypeArgsLen, call->ArgumentCount(), |
+ call->argument_names())); |
ArgumentsDescriptor args_desc(args_desc_array); |
bool allow_add = false; |
const Function& function = Function::Handle( |