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

Unified Diff: runtime/vm/intermediate_language_arm.cc

Issue 17421003: Store arguments descriptor in ICData. Remove loading of arguments descriptor at unoptimized call si… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 6 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
Index: runtime/vm/intermediate_language_arm.cc
===================================================================
--- runtime/vm/intermediate_language_arm.cc (revision 24193)
+++ runtime/vm/intermediate_language_arm.cc (working copy)
@@ -152,6 +152,7 @@
Array::ZoneHandle(ArgumentsDescriptor::New(argument_count,
argument_names()));
__ LoadObject(temp_reg, arguments_descriptor);
+ ASSERT(temp_reg == R4);
compiler->GenerateDartCall(deopt_id(),
token_pos(),
&StubCode::CallClosureFunctionLabel(),
@@ -407,8 +408,12 @@
equality_ic_data = original_ic_data.AsUnaryClassChecks();
}
} else {
+ const Array& arguments_descriptor =
+ Array::ZoneHandle(ArgumentsDescriptor::New(kNumberOfArguments,
+ kNoArgumentNames));
siva 2013/06/19 23:07:15 Why does this have to be a ZoneHandle?
srdjan 2013/06/20 00:12:34 Handle.
equality_ic_data = ICData::New(compiler->parsed_function().function(),
Symbols::EqualOperator(),
+ arguments_descriptor,
deopt_id,
kNumArgumentsChecked);
}
@@ -953,8 +958,12 @@
relational_ic_data = ic_data()->AsUnaryClassChecks();
}
} else {
+ const Array& arguments_descriptor =
+ Array::ZoneHandle(ArgumentsDescriptor::New(kNumArguments,
+ Array::ZoneHandle()));
siva 2013/06/19 23:07:15 Ditto question regarding ZoneHandle and use Object
srdjan 2013/06/20 00:12:34 Done.
relational_ic_data = ICData::New(compiler->parsed_function().function(),
function_name,
+ arguments_descriptor,
deopt_id(),
kNumArgsChecked);
}

Powered by Google App Engine
This is Rietveld 408576698